On 12/05/13 12:19 PM, Philipp Klaus Krause wrote: > On 12.05.2013 17:54, Claude Sylvain wrote: >> >> On 12/05/13 11:31 AM, Philipp Klaus Krause wrote: >> >> > >> > On 12.05.2013 17:01, Claude Sylvain wrote: >> > >> >> >> >> - I use SDCC on Cygwin 1.7.x >> >> - I use SDCC to built Z80 programs. >> >> >> >> - I have successfully built SDCC 3.3.0 RC2 from source on Cygwin. >> >> >> >> - However, when building a Z80 program, I noticed the following >> >> problem: >> >> >> >> - SDCC put "s__INITIALIZER" section (that hold some code) >> >> in the "_DATA" section (RAM located @ 0x8000 >> >> for the target I use). >> >> >> >> - I think this is a bug, because sections that hold code >> >> must be put in the "_CODE" section. Not in the >> >> "_DATA" section. >> >> >> >> - This bug was not there in SDCC 3.2.0. >> >> Also, in SDCC 3.2.0, there is no "s__INITIALIZER" section. >> >> >> >> >> >> From a SDCC user. >> >> >> >> Claude >> > >> > Do you use a custom crt0.rel? >> > >> >> - Yes, I use a custom "crt0". >> >> - Do I have to update my custom "crt0", using some new >> "ctr0" template found in SDCC ? >> > > > Yes. The INITIALIZER / INITIALIZED mechanism is the new (sdcc 3.3.0) way > to initialize global variables. It is much faster and smaller than what > we did before. However the crt0 needs to do the copy from INITIALIZER to > INITIALIZED. > > In sdcc, an example crt0 can be found at device/lib/z80/crt0.s >
- Well, I found a "crt0.s" in the following directory: sdcc/share/sdcc/lib/src/z80 - I updated my "crt0" using the generic "crt0.s" found at location mentioned above. When building the updated version of my "crt0", SDCC complain about the following symbols missing: l__INITIALIZER s__INITIALIZED s__INITIALIZER So, to resolve this problem I added in my "crt0" the following lines: .globl l__INITIALIZER .globl s__INITIALIZED .globl s__INITIALIZER The above mentionned 3 ".globl" are not present in the generic Z80 "crt0.s". - Now, SDCC work as expected. Thank you for your help. Claude. ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. This 200-page book is written by three acclaimed leaders in the field. The early access version is available now. Download your free book today! http://p.sf.net/sfu/neotech_d2d_may _______________________________________________ Sdcc-user mailing list Sdcc-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sdcc-user