This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Function section


Petar Penchev wrote:
I am trying to make GCC to generate asm code for interupt handlers in a different asm section.
I defined EXTRA_SECTIONS and EXTRA_SECTION_FUNCTIONS, but it did nothing. Do I have to define some additional macros ?

Defining these functions allows the compiler to put code in different sections, but by itself it does nothing. TARGET_ASM_SELECT_SECTION and TARGET_ASM_SELECT_RTX_SECTION can decide what section to put a decl or rtx in. However, this does not solve the problem by itself either, as you need some way to tell these macros where to put code if you want it in a non-standard section. There are I think two main approaches to this problem. You can add target dependent attributes (which can then also be used by the end-user), and/or you can encode section info in the symbol name. See TARGET_ENCODE_SECTION_INFO.


See existing ports for ideas. There are lots of examples of this. See for instance the v850 port.

Actually, it looks like the trick of encoding info in the symbol name has fallen out of favor. So the attribute choice seems like the right one nowadays.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]