I used your way of compiling. I added -V $ cat do_test #! /bin/bash -x
#SDCC_DIR=/public/salo/pic/sdcc-svn/pic14-r11327 SDCC_DIR=/home/don/c/pic/sdcc/branchTest/sdcc SDCC="$SDCC_DIR/bin/sdcc -V --use-non-free --nostdinc -I$SDCC_DIR/device/include/pic14 -I$SDCC_DIR/device/non-free/include/pic14 --nostdlib -L$SDCC_DIR/device/lib/build/pic14 -L$SDCC_DIR/device/non-free/lib/build/pic14" $SDCC -mpic14 -p16f1825 test2.c $ ./do_test + SDCC_DIR=/home/don/c/pic/sdcc/branchTest/sdcc + SDCC='/home/don/c/pic/sdcc/branchTest/sdcc/bin/sdcc -V --use-non-free --nostdinc -I/home/don/c/pic/sdcc/branchTest/sdcc/device/include/pic14 -I/home/don/c/pic/sdcc/branchTest/sdcc/device/non-free/include/pic14 --nostdlib -L/home/don/c/pic/sdcc/branchTest/sdcc/device/lib/build/pic14 -L/home/don/c/pic/sdcc/branchTest/sdcc/device/non-free/lib/build/pic14' + /home/don/c/pic/sdcc/branchTest/sdcc/bin/sdcc -V --use-non-free --nostdinc -I/home/don/c/pic/sdcc/branchTest/sdcc/device/include/pic14 -I/home/don/c/pic/sdcc/branchTest/sdcc/device/non-free/include/pic14 --nostdlib -L/home/don/c/pic/sdcc/branchTest/sdcc/device/lib/build/pic14 -L/home/don/c/pic/sdcc/branchTest/sdcc/device/non-free/lib/build/pic14 -mpic14 -p16f1825 test2.c + /home/don/c/pic/sdcc/branchTest/sdcc/bin/sdcpp -nostdinc -Wall -std=c11 -I/home/don/c/pic/sdcc/branchTest/sdcc/device/include/pic14 -I/home/don/c/pic/sdcc/branchTest/sdcc/device/non-free/include/pic14 -D__SDCC_PROCESSOR="16f1825" -D__SDCC_PIC16F1825 -D__SDCC_PIC14_ENHANCED -D__SDCC_PIC14_STACK_SIZE=17 -obj-ext=.o -D__SDCC_CHAR_UNSIGNED -D__SDCC_USE_NON_FREE -D__SDCC=3_9_2 -D__SDCC_VERSION_MAJOR=3 -D__SDCC_VERSION_MINOR=9 -D__SDCC_VERSION_PATCH=2 -D__SDCC_REVISION=11327 -D__SDCC_pic14 -D__STDC_NO_COMPLEX__=1 -D__STDC_NO_THREADS__=1 -D__STDC_NO_ATOMICS__=1 -D__STDC_NO_VLA__=1 -D__STDC_ISO_10646__=201409L -D__STDC_UTF_16__=1 -D__STDC_UTF_32__=1 test2.c + gpasm -o test2.o -c test2.asm + gplink -I/home/don/c/pic/sdcc/branchTest/sdcc/device/lib/build/pic14 -I/home/don/c/pic/sdcc/branchTest/sdcc/device/non-free/lib/build/pic14 -w -r -o test2 test2.o libsdcce.lib pic16f1825.lib message: Using default linker script "/usr/local/share/gputils/lkr/16f1825_g.lkr". error: Duplicate symbol "_main" defined in "test2.o" and "libsdcce_a-idata.o". warning: Relocation symbol "_cinit" [0x0000] has no section. (pass 0) warning: Relocation symbol "_cinit" [0x0004] has no section. (pass 0) warning: Relocation symbol "_cinit" [0x0018] has no section. (pass 0) warning: Relocation symbol "_cinit" [0x001C] has no section. (pass 0) warning: Relocation symbol "_cinit" [0x0000] has no section. (pass 0) warning: Relocation symbol "_cinit" [0x0004] has no section. (pass 0) warning: Relocation symbol "_cinit" [0x0018] has no section. (pass 0) warning: Relocation symbol "_cinit" [0x001C] has no section. (pass 0) error: Error while writing hex file. + gplink -I/home/don/c/pic/sdcc/branchTest/sdcc/device/lib/build/pic14 -I/home/don/c/pic/sdcc/branchTest/sdcc/device/non-free/lib/build/pic14 -w -r -o test2 test2.o libsdcce.lib pic16f1825.lib returned errorcode 256 I notice that (void)INTCONbits; fixes the _INTCONbits problem. As you would expect, I do not see the _cinit error with a program containing data. I do not wish to impact real development. If this problem I am having seems to be unique to me, please move on with something of more importance. Please let me know if there is real help I can provide. - Don On Jul 26, Gonzalo Pérez de Olaguer Córdoba propounded certain bytes, to wit: > Subject: Re: [Sdcc-user] pic14 users: Please test the pic14 branch! > > Hi, Don. > > If you add the option -V to sdcc you will see the commands it executes > to run external commands (gpasm and gplink). I suspect you may be > mixing different versions. > > I'm compiling this way: > > $ SDCC_DIR=/public/salo/pic/sdcc-svn/pic14-r11327 > $ SDCC="$SDCC_DIR/bin/sdcc --use-non-free --nostdinc > -I$SDCC_DIR/device/include/pic14 -I$SDCC_DIR/device/non-free/include/pic14 > --nostdlib -L$SDCC_DIR/device/lib/build/pic14 > -L$SDCC_DIR/device/non-free/lib/build/pic14" > $ $SDCC -mpic14 -p16f1825 test2.c > > The options --nostdlib and -L... tell gplink where to look for libraries. > Be sure it takes the libraries built from the pic14 branch. > > > > > > El Fri, 26 Jul 2019 10:39:58 -0400 > Don Wooton <dtwoo...@gmail.com> escribió: > > > I have a newer gpasm than you. > > > > gpasm --version > > gpasm-1.5.2 #1319 (Jul 18 2019) > > > > The test2.c file is exactly as you sent it. > > > > /home/don/c/pic/sdcc/branchTest/testInstall/bin/sdcc --version > > SDCC : pic14 3.9.2 #11327 (Linux) > > published under GNU General Public License (GPL) > > > > /home/don/c/pic/sdcc/branchTest/testInstall/bin/sdcc \ > > --use-non-free -mpic14 -p16f1825 --nostdinc \ > > -I/home/don/c/pic/sdcc/branchTest/testInstall/share/sdcc/include/pic14 \ > > > > -I/home/don/c/pic/sdcc/branchTest/testInstall/share/sdcc/non-free/include/pic14 > > \ > > test2.c > > message: Using default linker script > > "/usr/local/share/gputils/lkr/16f1825_g.lkr". > > error: Duplicate symbol "_main" defined in "test2.o" and > > "libsdcce_a-idata.o". > > warning: Relocation symbol "_cinit" [0x0000] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x0004] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x0018] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x001C] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x0000] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x0004] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x0018] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x001C] has no section. (pass 0) > > error: Error while writing hex file. > > > > -------------------- > > > > /usr/local/bin/sdcc --version > > SDCC : > > mcs51/z80/z180/r2k/r3ka/gbz80/tlcs90/ez80_z80/ds390/pic16/pic14/TININative/ds400/hc08/s08/stm8/pdk13/pdk14/pdk15 > > 3.9.2 #11326 (Linux) > > published under GNU General Public License (GPL) > > > > /usr/local/bin/sdcc \ > > --use-non-free -mpic14 -p16f1825 --nostdinc \ > > -I/usr/local/share/sdcc/include/pic14 \ > > -I/usr/local/share/sdcc/non-free/include/pic14 \ > > test2.c > > message: Using default linker script > > "/usr/local/share/gputils/lkr/16f1825_g.lkr". > > warning: Relocation symbol "_cinit" [0x0000] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x0004] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x0018] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x001C] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x0000] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x0004] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x0018] has no section. (pass 0) > > warning: Relocation symbol "_cinit" [0x001C] has no section. (pass 0) > > > > - Don > > > > On Jul 26, Gonzalo Pérez de Olaguer Córdoba propounded certain bytes, to > > wit: > > > Subject: Re: [Sdcc-user] pic14 users: Please test the pic14 branch! > > > > > > Hi, Don. > > > > > > El Wed, 24 Jul 2019 20:08:09 -0400 > > > Don Wooton <dtwoo...@gmail.com> escribió: > > > > > > > [...] > > > > I was not so successful with _INTCONbits. Maybe I did not do it > > > > correctly? > > > > > > You did it right. All the variations you tried work for me. > > > Maybe the difference is this: > > > > > > $ gpasm --version > > > gpasm-1.5.0 #1285 (May 29 2019) > > > > > > What version of gputils are you using? > > > > > > > Manually adding extern _INTCONbit into main.asm in the correct > > > > section did work but would be rather a pain to automate. > > > > > > Please try the attached file test2.c > > > > > > In case of failure, please post the C file and the resulting > > > assembly file. > > > > > > -- > > > Gonzalo Pérez de Olaguer Córdoba s...@gpoc.es > > > -=- buscando empleo desde 1988 -=- www.gpoc.es > > > > > > PGP: 3F87 CCE7 8B35 8C06 E637 2D57 5723 9984 718C A614 > > > > > #include "pic16f1825.h" > > > > > > typedef unsigned int config_word_t; > > > static __code config_word_t __at _CONFIG1 config1Reg = 0x01; > > > static __code config_word_t __at _CONFIG2 config2Reg = 0x01; > > > > > > > > > #define disableIntr() \ > > > (void)INTCONbits; \ > > > __asm __endasm; \ > > > __asm bcf _INTCONbits,7 ; disableIntr() __endasm; \ > > > __asm btfsc _INTCONbits,7 __endasm; \ > > > __asm goto $-2 __endasm; \ > > > __asm __endasm > > > > > > #define enableIntr() \ > > > __asm __endasm; \ > > > __asm bsf _INTCONbits,7 ; enableIntr() __endasm; \ > > > __asm __endasm > > > > > > void main(void) > > > { > > > disableIntr(); > > > > > > enableIntr(); > > > } > > > > > > > > > > _______________________________________________ > > > Sdcc-user mailing list > > > Sdcc-user@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/sdcc-user > > > > >-- End of excerpt from Gonzalo Pérez de Olaguer Córdoba' > > > > > > _______________________________________________ > > Sdcc-user mailing list > > Sdcc-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/sdcc-user > > > -- > Gonzalo Pérez de Olaguer Córdoba s...@gpoc.es > -=- buscando empleo desde 1988 -=- www.gpoc.es > > PGP: 3F87 CCE7 8B35 8C06 E637 2D57 5723 9984 718C A614 > > > _______________________________________________ > Sdcc-user mailing list > Sdcc-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/sdcc-user >-- End of excerpt from Gonzalo Pérez de Olaguer Córdoba' _______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user