Arch maintainers: new approach for crti.o and crtn.o

Joseph S. Myers joseph@codesourcery.com
Wed Feb 8 04:59:00 GMT 2012


glibc now supports building crti.o and crtn.o (both the csu/ versions and 
the nptl/ versions) from .S files, instead of the very fragile approach 
(which kept breaking with GCC changes) of postprocessing .s output from 
initfini.c and pt-initfini.c to separate function prologues and epilogues 
into separate files.

I have converted i386 to the new scheme so it serves as an example.  The 
maintainers of each other architecture should convert it; the crt[in].S 
files generated in csu/ and nptl/ in the object directory from a glibc 
build may serve as a starting point to clean up and check in.

(You will of course want the checked-in files to work on all supported 
variants of your architecture, not just the one for which your compiler 
was configured when building initfini.c and pt-initfini.c.  Some 
architectures have CFLAGS settings forcing particular CPU options when 
building those C files, others do not.  In any case, after the conversion 
for a particular architecture, any special makefile settings for the old 
approach with that architecture can be removed, as can any 
architecture-specific versions of initfini.c and pt-initfini.c.)

The deadline for the conversion, after which the transitional support for 
the old mechanism is expected to be removed, is 1 April (it may be removed 
before then if all libc architectures are converted sooner).

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Libc-alpha mailing list