On 02/12/2010 23:29, Cary Coutant wrote: > For the crtend files we could add a linker option that makes them > known as endcaps, and the linker could make sure they get laid out > last: > > ld ... -lc -lgcc ... --endcap crtend.o crtn.o > > That puts the special knowledge about those files back in the gcc driver.
Hmm, yes. It doesn't work to just pass-through crtn.o, because ... > Executing on host: /home/davek/gcc/obj-gold2/gcc/xgcc > -B/home/davek/gcc/obj-gold2/gcc/ c_lto_20100722-1_0.o -O0 -flto > -flto-partition=none -fuse-linker-plugin -o gcc-dg-lto-20100722-1-01 > (timeout = 300) > gold: /home/davek/gcc/obj-gold2/gcc/crtbegin.o:(.text+0x13): error: undefined > reference to '__DTOR_END__' > collect2: ld returned 1 exit status > compiler exited with status 1 > output is: > gold: /home/davek/gcc/obj-gold2/gcc/crtbegin.o:(.text+0x13): error: undefined > reference to '__DTOR_END__' > collect2: ld returned 1 exit status > ... it's needed by the first pass of symbol resolution. cheers, DaveK