What goes into function_rodata_section

Georg-Johann Lay avr@gjlay.de
Fri Aug 26 13:59:00 GMT 2011


Implementing TARGET_ASM_FUNCTION_RODATA_SECTION hook I wonder that will go into these sections an I
am a but unsure as the internals don't say a word about that.  From the only two uses of that hook
in final.c I would conclude that it's only used for jump tables generated by switch/case statements.

The default returns readonly_data_section which is not correct for AVR; the avr BE did override this
to switch to appropriate section in ASM_OUTPUT_ADDR_VEC_ELT and ASM_OUTPUT_BEFORE_CASE_LABEL.
ASM_OUTPUT_BEFORE_CASE_LABEL alone won't do because the switch to function_rodata_section takes
place after that hook.

So I'd like to reassure me that the function_rodata_hook is only used for jump tables and not for
other stuff so that I can clean up the avr BE at that point. From what I found it's not used for
vtables, but for all the linkonce stuff I couldn't find comprehensive explanantion.

Thanks for any hints.

Johann



More information about the Gcc mailing list