From: SourceForge.net <no...@so...> - 2008-05-07 22:27:04
|
Bugs item #1957716, was opened at 2008-05-05 07:40 Message generated for change (Comment added) made by maartenbrock You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1957716&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: assembler >Group: fixed >Status: Closed >Resolution: Fixed Priority: 5 Private: No Submitted By: BLRCalvin (blrcalvin) Assigned to: Maarten Brock (maartenbrock) Summary: Absolute memory overlap detection by SDCC Initial Comment: Hello, I am using SDCC 2.8.0 #5117 (Mar 23 2008) for MCS51 port. In the usermanual under sec 3.5, Absolute addressing, it is mentioned that the linker will detect the overlaps if variables are provided with initializers. I expect the linker to throw an error for the following piece of code but it is not giving any error. volatile __code __at (0x2000) char dummy = 'a'; volatile __code __at (0x2000) char dummy1 = 'b'; int main() { if( dummy == dummy1 ) return 1; return 0; } compiler options: sdcc -mmcs51 example.c Expected behaviour: Linker should throw error while trying to allocate variables dummy and dummy1 at the same address 0x2000. Current behaviour: No error. Currently, the code generated in .rst file is as follows: 150 .area CSEG (CODE) 151 .area CONST (CODE) 152 .area XINIT (CODE) 153 .area CABS (ABS,CODE) 2000 154 .org 0x2000 2000 155 _dummy: 2000 61 156 .db #0x61 2000 157 .org 0x2000 2000 158 _dummy1: 2000 62 159 .db #0x62 Regards, Raghu. ---------------------------------------------------------------------- >Comment By: Maarten Brock (maartenbrock) Date: 2008-05-08 00:27 Message: Logged In: YES user_id=888171 Originator: NO Fixed in SDCC 2.8.1 #5154. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1957716&group_id=599 |