The crt0.S and link script are intimately related and you should not use
one without the other.
If you are porting a project which uses its own crt0.S, then make sure you
also use your customized link script. If you were using the built in
link script and your own crt0.S, then copy the old link script and use it
explicitly.
I would recommend from here on out that you then explicitely specify both
the crt0.S and link script. You should explicitly specify either both or
neither, since they go hand in hand.
On Wed, 3 Sep 2003, Colin Brown wrote:
>
> Hi,
>
> I have a couple of questions about the latest incarnation of
> devkitadv.
>
> On our project, we're still using devkitadv 3(i think? gcc 3.0.2),
> and it has served well up untli now.
> I have got to a stage where the problem with pointers to member
> functions and inteworking is getting very troublesome:
> dereferencing a pointer to member function fails if the function is
> compiled as thumb.
>
> Q. is this fixed in the latest version?
>
> If so :) is there a list anywhere of the changes - particularly to
> system variables that the linkscript/crt0 uses... I tried to get
> version5 to compile our project, but when i eventually sorted out all
> the mingw environment problems, i got a stream of errors:
>
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\bin\ld.exe: section .iwram [08070af4
> -> 080710f7] overlaps section .footer [08070af4 -> 08070aff]
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o: In function `_
> _crt0_multiboot_start':
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o(.text+0xe0): un
> defined reference to `__load_start_footer'
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o: In function `_
> _crt0_reset':
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o(.text+0x1c0): u
> ndefined reference to `__memmap_rom_start'
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o(.text+0x1d8): u
> ndefined reference to `__appended_start'
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o(.text+0x1e4): u
> ndefined reference to `__load_start_data'
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o(.text+0x1e8): u
> ndefined reference to `__load_stop_data'
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o(.text+0x1f8): u
> ndefined reference to `__load_start_ewram'
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o(.text+0x204): u
> ndefined reference to `__load_start_iwram'
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o(.footer+0x0): u
> ndefined reference to `__load_stop_appended'
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o(.footer+0x4): u
> ndefined reference to `__load_start_appended'
> f:\devkitadv-r5-beta-3\BIN\..\lib\gcc-lib\arm-agb-elf\3.2.2
> \..\..\..\..\arm-agb-elf\lib\interwork\crt0.o(.footer+0x8): u
> ndefined reference to `__load_stop_appended'
> collect2: ld returned 1 exit status
> make: *** [EOD_demo.elf] Error 1
>
> cheers
>
> Col
>
>
>
>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
--
The Phoenix - NekoCo - The Artistic Intuition Company
DevKitAdvance*MirrorReflex*Teapot*PhoenixQuake*Caelius*Zen-X*InfiniteRealms