This is the mail archive of the
mailing list for the GCC project.
Re: Merging gdc (GNU D Compiler) into gcc
David Brown <firstname.lastname@example.org> writes:
> Some toolchains are configured to have a series of "init" sections at
> startup (technically, that's a matter of the default linker scripts
> and libraries rather than the compiler). You can get code to run at
> specific times during startup by placing the instructions directly
> within these sections - but it must be "raw" instructions, not
> function definitions (and definitely no "return" statement).
Note that this only works with modern gcc with -fno-reorder-toplevel,
which disables some optimizations, and is currently broken in several
ways with LTO (in progress of being fixed)
Normally you don't get any defined order in these sections, both
unit-at-a-time and LTO do reorder. The linker may also in some
So it's somewhat dangerous to rely on.