diff options
author | Jojo R <rjiejie@linux.alibaba.com> | 2022-07-14 00:28:09 +0800 |
---|---|---|
committer | Jojo R <rjiejie@linux.alibaba.com> | 2022-11-04 10:30:18 +0800 |
commit | 853ba67882805f415c9816ca13d738295cf54f48 (patch) | |
tree | a6b9c55e2d4d7a40c4c904e395a84d3d4cbef98b /gas/doc/internals.texi | |
parent | a494349e806417d4dc7d217500225e515a777811 (diff) | |
download | gdb-853ba67882805f415c9816ca13d738295cf54f48.zip gdb-853ba67882805f415c9816ca13d738295cf54f48.tar.gz gdb-853ba67882805f415c9816ca13d738295cf54f48.tar.bz2 |
Support multiple .eh_frame sections
This patch is based on MULTIPLE_FRAME_SECTIONS and EH_FRAME_LINKONCE,
it allows backend to enable this feature and use '--gc-sections' simply.
* gas/dw2gencfi.h (TARGET_MULTIPLE_EH_FRAME_SECTIONS): New.
(MULTIPLE_FRAME_SECTIONS): Add TARGET_MULTIPLE_EH_FRAME_SECTIONS.
* gas/dw2gencfi.c (EH_FRAME_LINKONCE): Add TARGET_MULTIPLE_EH_FRAME_SECTIONS.
(is_now_linkonce_segment): Likewise.
(get_cfi_seg): Create relocation info between .eh_frame.* and .text.* section.
* bfd/elf-bfd.h (elf_backend_can_make_multiple_eh_frame): New.
* bfd/elfxx-target.h (elf_backend_can_make_multiple_eh_frame): Likewise.
* bfd/elflink.c (_bfd_elf_default_action_discarded): Add checking for
elf_backend_can_make_multiple_eh_frame.
Diffstat (limited to 'gas/doc/internals.texi')
-rw-r--r-- | gas/doc/internals.texi | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gas/doc/internals.texi b/gas/doc/internals.texi index a91d2ab..f028874 100644 --- a/gas/doc/internals.texi +++ b/gas/doc/internals.texi @@ -1581,6 +1581,10 @@ If defined, GAS will check this macro before performing any optimizations on the DWARF call frame debug information that is emitted. Targets which implement link time relaxation may need to define this macro and set it to zero if it is possible to change the size of a function's prologue. + +@item TARGET_MULTIPLE_EH_FRAME_SECTIONS +If defined, GAS will create multiple .eh_frame.* sections according to +the name of owner's function sections. @end table @node Object format backend |