2009/7/18 Dave Korn <dave.korn.cyg...@googlemail.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? Shafi