diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2004-11-16 10:16:30 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2004-11-16 10:16:30 +0000 |
commit | 353057a53cee99996317c9038f7de664a7d38b4c (patch) | |
tree | c4574abd52e50daa44e8f5460740c47f0ac48cbf /ld/testsuite/ld-mips-elf/eh-frame1-n64.d | |
parent | b32d3aa2a05c297fcc8fa04c6b4c1345c6c291ad (diff) | |
download | binutils-353057a53cee99996317c9038f7de664a7d38b4c.zip binutils-353057a53cee99996317c9038f7de664a7d38b4c.tar.gz binutils-353057a53cee99996317c9038f7de664a7d38b4c.tar.bz2 |
* elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
add_fde_encoding. Remove need_relative.
* elf-eh-frame.c (extra_augmentation_string_bytes)
(extra_augmentation_data_bytes, size_of_output_cie_fde): New functions.
(_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding
in cases where the CIE has no existing 'R' augmentation. Use
size_of_output_cie_fde when assigning offsets. Use the final offset
as the new section size.
(_bfd_elf_eh_frame_section_offset): Remove need_relative handling.
Account for any extra augmentation bytes in the returned offset.
(_bfd_elf_write_section_eh_frame): Rework so that the entries are
moved before being modified. Pad growing entries with DW_CFA_nops.
Add 'z' and 'R' augmentations as directed by add_augmentation_size
and add_fde_encoding.
Diffstat (limited to 'ld/testsuite/ld-mips-elf/eh-frame1-n64.d')
-rw-r--r-- | ld/testsuite/ld-mips-elf/eh-frame1-n64.d | 425 |
1 files changed, 425 insertions, 0 deletions
diff --git a/ld/testsuite/ld-mips-elf/eh-frame1-n64.d b/ld/testsuite/ld-mips-elf/eh-frame1-n64.d new file mode 100644 index 0000000..2b175e0 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/eh-frame1-n64.d @@ -0,0 +1,425 @@ +#name: MIPS eh-frame 1, n64 +#source: eh-frame1.s +#source: eh-frame1.s +#as: -EB -64 --defsym alignment=3 --defsym fill=0x40 +#readelf: --relocs -wf +#ld: -shared -melf64btsmip -Teh-frame1.ld + +Relocation section '\.rel\.dyn' .*: + *Offset .* +000000000000 000000000000 R_MIPS_NONE * + *Type2: R_MIPS_NONE * + *Type3: R_MIPS_NONE * +# Initial PCs for the FDEs attached to CIE 0x120 +000000030148 000000001203 R_MIPS_REL32 * + *Type2: R_MIPS_64 * + *Type3: R_MIPS_NONE * +000000030168 000000001203 R_MIPS_REL32 * + *Type2: R_MIPS_64 * + *Type3: R_MIPS_NONE * +# Likewise CIE 0x340 +000000030368 000000001203 R_MIPS_REL32 * + *Type2: R_MIPS_64 * + *Type3: R_MIPS_NONE * +000000030388 000000001203 R_MIPS_REL32 * + *Type2: R_MIPS_64 * + *Type3: R_MIPS_NONE * +0000000300cb 000500001203 R_MIPS_REL32 0000000000000000 foo + *Type2: R_MIPS_64 * + *Type3: R_MIPS_NONE * +000000030138 000500001203 R_MIPS_REL32 0000000000000000 foo + *Type2: R_MIPS_64 * + *Type3: R_MIPS_NONE * +000000030192 000500001203 R_MIPS_REL32 0000000000000000 foo + *Type2: R_MIPS_64 * + *Type3: R_MIPS_NONE * +0000000302eb 000500001203 R_MIPS_REL32 0000000000000000 foo + *Type2: R_MIPS_64 * + *Type3: R_MIPS_NONE * +000000030358 000500001203 R_MIPS_REL32 0000000000000000 foo + *Type2: R_MIPS_64 * + *Type3: R_MIPS_NONE * +0000000303b2 000500001203 R_MIPS_REL32 0000000000000000 foo + *Type2: R_MIPS_64 * + *Type3: R_MIPS_NONE * +#... +The section \.eh_frame contains: + +00000000 00000014 00000000 CIE + Version: 1 + Augmentation: "zR" + Code alignment factor: 1 + Data alignment factor: 4 + Return address column: 31 + Augmentation data: 10 + + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +00000018 0000001c 0000001c FDE cie=00000000 pc=00020000..00020010 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +00000038 0000001c 0000003c FDE cie=00000000 pc=00020010..00020030 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +# basic2 removed +00000058 0000001c 0000005c FDE cie=00000000 pc=00020030..00020060 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +# basic3 removed +00000078 0000001c 0000007c FDE cie=00000000 pc=00020060..000200a0 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +# basic4 removed +00000098 0000001c 0000009c FDE cie=00000000 pc=000200a0..000200f0 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +000000b8 00000024 00000000 CIE + Version: 1 + Augmentation: "zRP" + Code alignment factor: 1 + Data alignment factor: 4 + Return address column: 31 + Augmentation data: 10 00 00 00 00 00 00 00 00 00 + + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +000000e0 0000001c 0000002c FDE cie=000000b8 pc=000200f0..00020100 + DW_CFA_advance_loc: 0 to 000200f0 + DW_CFA_advance_loc: 0 to 000200f0 + DW_CFA_advance_loc: 0 to 000200f0 + DW_CFA_advance_loc: 0 to 000200f0 + DW_CFA_advance_loc: 0 to 000200f0 + DW_CFA_advance_loc: 0 to 000200f0 + DW_CFA_advance_loc: 0 to 000200f0 + +00000100 0000001c 0000004c FDE cie=000000b8 pc=00020100..00020120 + DW_CFA_advance_loc: 0 to 00020100 + DW_CFA_advance_loc: 0 to 00020100 + DW_CFA_advance_loc: 0 to 00020100 + DW_CFA_advance_loc: 0 to 00020100 + DW_CFA_advance_loc: 0 to 00020100 + DW_CFA_advance_loc: 0 to 00020100 + DW_CFA_advance_loc: 0 to 00020100 + +00000120 0000001c 00000000 CIE + Version: 1 + Augmentation: "zP" + Code alignment factor: 1 + Data alignment factor: 4 + Return address column: 31 + Augmentation data: 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + + +00000140 0000001c 00000024 FDE cie=00000120 pc=00020120..00020130 + DW_CFA_advance_loc: 0 to 00020120 + DW_CFA_advance_loc: 0 to 00020120 + DW_CFA_advance_loc: 0 to 00020120 + DW_CFA_advance_loc: 0 to 00020120 + DW_CFA_advance_loc: 0 to 00020120 + DW_CFA_advance_loc: 0 to 00020120 + DW_CFA_advance_loc: 0 to 00020120 + +00000160 0000001c 00000044 FDE cie=00000120 pc=00020130..00020150 + DW_CFA_advance_loc: 0 to 00020130 + DW_CFA_advance_loc: 0 to 00020130 + DW_CFA_advance_loc: 0 to 00020130 + DW_CFA_advance_loc: 0 to 00020130 + DW_CFA_advance_loc: 0 to 00020130 + DW_CFA_advance_loc: 0 to 00020130 + DW_CFA_advance_loc: 0 to 00020130 + +00000180 0000001c 00000000 CIE + Version: 1 + Augmentation: "zPR" + Code alignment factor: 1 + Data alignment factor: 4 + Return address column: 31 + Augmentation data: 00 00 00 00 00 00 00 00 00 10 + + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + +000001a0 0000001c 00000024 FDE cie=00000180 pc=00020150..00020160 + DW_CFA_advance_loc: 0 to 00020150 + DW_CFA_advance_loc: 0 to 00020150 + DW_CFA_advance_loc: 0 to 00020150 + DW_CFA_advance_loc: 0 to 00020150 + DW_CFA_advance_loc: 0 to 00020150 + DW_CFA_advance_loc: 0 to 00020150 + DW_CFA_advance_loc: 0 to 00020150 + +# FDE for .discard removed +# zPR2 removed +000001c0 0000001c 00000044 FDE cie=00000180 pc=00020160..00020190 + DW_CFA_advance_loc: 0 to 00020160 + DW_CFA_advance_loc: 0 to 00020160 + DW_CFA_advance_loc: 0 to 00020160 + DW_CFA_advance_loc: 0 to 00020160 + DW_CFA_advance_loc: 0 to 00020160 + DW_CFA_advance_loc: 0 to 00020160 + DW_CFA_advance_loc: 0 to 00020160 + +000001e0 0000001c 00000064 FDE cie=00000180 pc=00020190..000201d0 + DW_CFA_advance_loc: 0 to 00020190 + DW_CFA_advance_loc: 0 to 00020190 + DW_CFA_advance_loc: 0 to 00020190 + DW_CFA_advance_loc: 0 to 00020190 + DW_CFA_advance_loc: 0 to 00020190 + DW_CFA_advance_loc: 0 to 00020190 + DW_CFA_advance_loc: 0 to 00020190 + +00000200 00000014 00000000 CIE + Version: 1 + Augmentation: "zR" + Code alignment factor: 1 + Data alignment factor: 4 + Return address column: 31 + Augmentation data: 10 + + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +00000218 0000001c 0000001c FDE cie=00000200 pc=000201d0..000201e0 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +# basic1 removed, followed by repeat of above +00000238 0000001c 0000003c FDE cie=00000200 pc=000201e0..000201f0 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +00000258 0000001c 0000005c FDE cie=00000200 pc=000201f0..00020210 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +00000278 0000001c 0000007c FDE cie=00000200 pc=00020210..00020240 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +00000298 0000001c 0000009c FDE cie=00000200 pc=00020240..00020280 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +000002b8 0000001c 000000bc FDE cie=00000200 pc=00020280..000202d0 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +000002d8 00000024 00000000 CIE + Version: 1 + Augmentation: "zRP" + Code alignment factor: 1 + Data alignment factor: 4 + Return address column: 31 + Augmentation data: 10 00 00 00 00 00 00 00 00 00 + + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +00000300 0000001c 0000002c FDE cie=000002d8 pc=000202d0..000202e0 + DW_CFA_advance_loc: 0 to 000202d0 + DW_CFA_advance_loc: 0 to 000202d0 + DW_CFA_advance_loc: 0 to 000202d0 + DW_CFA_advance_loc: 0 to 000202d0 + DW_CFA_advance_loc: 0 to 000202d0 + DW_CFA_advance_loc: 0 to 000202d0 + DW_CFA_advance_loc: 0 to 000202d0 + +00000320 0000001c 0000004c FDE cie=000002d8 pc=000202e0..00020300 + DW_CFA_advance_loc: 0 to 000202e0 + DW_CFA_advance_loc: 0 to 000202e0 + DW_CFA_advance_loc: 0 to 000202e0 + DW_CFA_advance_loc: 0 to 000202e0 + DW_CFA_advance_loc: 0 to 000202e0 + DW_CFA_advance_loc: 0 to 000202e0 + DW_CFA_advance_loc: 0 to 000202e0 + +00000340 0000001c 00000000 CIE + Version: 1 + Augmentation: "zP" + Code alignment factor: 1 + Data alignment factor: 4 + Return address column: 31 + Augmentation data: 50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + + +00000360 0000001c 00000024 FDE cie=00000340 pc=00020300..00020310 + DW_CFA_advance_loc: 0 to 00020300 + DW_CFA_advance_loc: 0 to 00020300 + DW_CFA_advance_loc: 0 to 00020300 + DW_CFA_advance_loc: 0 to 00020300 + DW_CFA_advance_loc: 0 to 00020300 + DW_CFA_advance_loc: 0 to 00020300 + DW_CFA_advance_loc: 0 to 00020300 + +00000380 0000001c 00000044 FDE cie=00000340 pc=00020310..00020330 + DW_CFA_advance_loc: 0 to 00020310 + DW_CFA_advance_loc: 0 to 00020310 + DW_CFA_advance_loc: 0 to 00020310 + DW_CFA_advance_loc: 0 to 00020310 + DW_CFA_advance_loc: 0 to 00020310 + DW_CFA_advance_loc: 0 to 00020310 + DW_CFA_advance_loc: 0 to 00020310 + +000003a0 0000001c 00000000 CIE + Version: 1 + Augmentation: "zPR" + Code alignment factor: 1 + Data alignment factor: 4 + Return address column: 31 + Augmentation data: 00 00 00 00 00 00 00 00 00 10 + + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + +000003c0 0000001c 00000024 FDE cie=000003a0 pc=00020330..00020340 + DW_CFA_advance_loc: 0 to 00020330 + DW_CFA_advance_loc: 0 to 00020330 + DW_CFA_advance_loc: 0 to 00020330 + DW_CFA_advance_loc: 0 to 00020330 + DW_CFA_advance_loc: 0 to 00020330 + DW_CFA_advance_loc: 0 to 00020330 + DW_CFA_advance_loc: 0 to 00020330 + +000003e0 0000001c 00000044 FDE cie=000003a0 pc=00020340..00020370 + DW_CFA_advance_loc: 0 to 00020340 + DW_CFA_advance_loc: 0 to 00020340 + DW_CFA_advance_loc: 0 to 00020340 + DW_CFA_advance_loc: 0 to 00020340 + DW_CFA_advance_loc: 0 to 00020340 + DW_CFA_advance_loc: 0 to 00020340 + DW_CFA_advance_loc: 0 to 00020340 + +00000400 0000001c 00000064 FDE cie=000003a0 pc=00020370..000203b0 + DW_CFA_advance_loc: 0 to 00020370 + DW_CFA_advance_loc: 0 to 00020370 + DW_CFA_advance_loc: 0 to 00020370 + DW_CFA_advance_loc: 0 to 00020370 + DW_CFA_advance_loc: 0 to 00020370 + DW_CFA_advance_loc: 0 to 00020370 + DW_CFA_advance_loc: 0 to 00020370 + +00000420 00000014 00000000 CIE + Version: 1 + Augmentation: "zR" + Code alignment factor: 1 + Data alignment factor: 4 + Return address column: 31 + Augmentation data: 10 + + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_advance_loc: 0 to 00000000 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + +00000438 0000001c 0000001c FDE cie=00000420 pc=000203b0..000203c0 + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + DW_CFA_nop + |