This is the mail archive of the
mailing list for the GCC project.
Re: Output sections
2009/7/18 Dave Korn <email@example.com>:
> Mohamed Shafi wrote:
>> Hello all,
>> Is it possible to emit a assembler directive at the end of each sections?
>> Say like section_end
>> Is there any support for doing something like this in the back-end files?
>> Or should i need to the make changes in the gcc sources?
>> Is so do does anyone know in which function it should happen?
> ?There isn't really such a concept as 'end of a section' until you get to
> final-link time and get all the contributions from different .o files to a
> given section. ?During assembler output GCC treats sections as random access,
> switching freely from one to another and back; it doesn't have any concept of
> starting/stopping/opening/closing a section but just jumps into any one it
> likes completely ad-hoc.
> ?Assuming you're happy with adding something to the end of each section in
> each generated .s file, you could use the TARGET_ASM_FILE_END hook to output
> directives that re-enter each used section and then output your new directive.
> ?You may find it hard to know which sections have been used or not in a given
> file - you can define TARGET_ASM_NAMED_SECTION and make a note of which
> sections get invoked there, but I'm not sure if that gets called for all
> sections e.g. init/fini, you may have to try it and see.
I am looking for adding something to the end of each section in the
generated .s file. Using TARGET_ASM_NAMED_SECTION i will be able to
keep track of the sections that are being emitted. But from
TARGET_ASM_FILE_END hook how can i re-enter into each section. Are the
sections stored in some global variable?