From: SourceForge.net <no...@so...> - 2010-08-02 16:48:05
|
Bugs item #3038380, was opened at 2010-08-02 18:42 Message generated for change (Comment added) made by awsit You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3038380&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: pic16 target Group: None Status: Open Resolution: None >Priority: 8 Private: No Submitted By: strobla (awsit) Assigned to: Nobody/Anonymous (nobody) >Summary: PIC16: pointer bug: loosing __data / __code upper address Initial Comment: Resubmitted as bug artifact as requested from Maarten: Since SDCC revision 5531 I am not able to compile a stable version of my pic webserver (pic18f2620 based) project any more. Attached you can find a tar file containing all assembler output and listings of a minimal subpart of my project to help you find the possible bug. In subdirectory r5530 you can find the listings of the last usable compile run. In subdirectory r5882 you can find the listings of the broken hex file Also included is a diff file showing the differences of main.asm My assembler-knowledge of pic16 is very low, but I think there is something wrong with pointers. "debug.log" shows some output: r5882-compiled project is unstable and reboots after some seconds of run time. r5530-compiled project is running properly as expected. See also answer from Raphael below Regards, Strobl Anton ------------------------------------------------------------------------------ Re: [sdcc-devel] Pointer BUG? Persistent since sdcc r5531 and up for pic16 processors (virus scanned) From: Raphael Neider <rneider@we...> - 2010-07-19 16:50 Hi Anton, > Also included is a diff file showing the differences of main.asm Very helpful indeed. > [...] I think there is something wrong with pointers. The problem is probably the introduction of UPPER(_ResolveMac_search_1_1) (which returns the third, most significant byte of the address of symbol, which in turn is almost inevitably 0x00) instead of the hard-coded 0x80 (which signifies __data space in PIC16 generic pointers; 0x00 would point to __code space ...). I guess the behaviour changed after some modification to the CAST operator down below in the AST, but could not pinpoint the source (or fix it). I am busy dealing with my PhD thesis, so I will probably not be able to dig into this any time soon :-( If anyone wants to help -- you are very welcome. Best regards, Raphael ---------------------------------------------------------------------- >Comment By: strobla (awsit) Date: 2010-08-02 18:48 Message: Changed priority: without a fix sdcc PIC16 port is only usable up to and including sdcc revision 5530 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=3038380&group_id=599 |