From: Raphael N. <RN...@we...> - 2005-09-18 11:20:51
|
Fixed in SDCC #1111+ alongside with another bug concerning a SEGFAULT when using --optimize-df. > I have been trying to compile the application note > from microchip that implements a USB serial device. > I have included this in the tar file. > > (gdb) run -mpic16 -p18f2550 -I ../../../.. -c cdc.c > Starting program: /home/viper1/sdcc/bin/sdcc -mpic16 > -p18f2550 -I ../../../.. -c cdc.c > Processor: 18f2550 > cdc.c:106: warning 110: conditional flow changed by > optimizer: so said EVELYN the modified DOG > > Program received signal SIGSEGV, Segmentation fault. > pic16_popGet (aop=0x0, offset=0) at gen.c:1995 > 1995 switch (aop->type) { > (gdb) where > #0 pic16_popGet (aop=0x0, offset=0) at gen.c:1995 > #1 0x0816d843 in pic16_loadFSR0 (op=0x84622a8, lit=0) > at gen.c:10528 > #2 0x0816dc15 in pic16_derefPtr (ptr=0x84622a8, > p_type=0, doWrite=0, fsr0_setup=0x0) > at gen.c:10549 > #3 0x0816e05e in genUnpackBits (result=0x84625a0, > left=0x84622a8, rname=0x81b6456 "dptr", > ptype=1) at gen.c:10641 > #4 0x0816ed7f in genFarPointerGet (left=0x84622a8, > result=0x84625a0, ic=0x84624d0) > at gen.c:11009 Fixed by calling genPointerGet instead. Also fixed for ...Set(). > #5 0x0816f60d in genPointerGet (ic=0x84624d0) at > gen.c:11325 > #6 0x0817550e in genpic16Code (lic=0x8461b30) at > gen.c:13408 > #7 0x08156985 in pic16_assignRegisters > (ebbi=0x84758b0) at ralloc.c:4474 > #8 0x08060a94 in eBBlockFromiCode (ic=0x0) at > SDCCopt.c:1572 > #9 0x0806cea5 in createFunction (name=0x844ba08, > body=0x845faf8) at SDCCast.c:5423 > #10 0x0804a9d4 in yyparse () at SDCC.y:173 > #11 0x08052b1c in main (argc=-1073743242, > argv=0xbffff1d4, envp=0xbffff1f4) at SDCCmain.c:2384 > #12 0x42015574 in __libc_start_main () from /lib/tls/libc.so.6 Regards, Raphael Neider |