mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
2e0ce1c84d
bfd/ * elf-bfd.h (struct eh_cie_fde): Add u.cie.per_encoding_aligned8. * elf-eh-frame.c (size_of_output_cie_fde): Don't align here. (next_cie_fde_offset): New function. (_bfd_elf_parse_eh_frame): Set u.cie.per_encoding_aligned8. (_bfd_elf_discard_section_eh_frame): Align zero terminator to four bytes. Align CIEs to four or eight bytes depending on per_encoding_aligned8. Align FDEs according to their encoding. Pad last FDE to output section alignment. (_bfd_elf_write_section_eh_frame): Adjust to suit. Remove assertion. * elf64-ppc.c (glink_eh_frame_cie): Delete padding. (ppc64_elf_size_stubs): Pad glink eh_frame as per elf-eh-frame.c. (ppc64_elf_finish_dynamic_sections): Adjust to suit. ld/ * testsuite/ld-elf/eh3.d: Adjust for eh_frame alignment change. * testsuite/ld-elf/eh6.d: Likewise. * testsuite/ld-alpha/tlsbin.dd: Likewise. * testsuite/ld-alpha/tlsbin.td: Likewise. * testsuite/ld-alpha/tlsbinr.dd: Likewise. * testsuite/ld-alpha/tlspic.dd: Likewise. * testsuite/ld-alpha/tlspic.rd: Likewise. * testsuite/ld-alpha/tlspic.sd: Likewise. * testsuite/ld-alpha/tlspic.td: Likewise. * testsuite/ld-mips-elf/eh-frame1-n64.d: Likewise. * testsuite/ld-mips-elf/eh-frame2-n64.d: Likewise. * testsuite/ld-mips-elf/eh-frame3.d: Likewise. * testsuite/ld-x86-64/pr20830a.d: Likewise. * testsuite/ld-x86-64/pr21038a.d: Likewise. * testsuite/ld-x86-64/pr21038b.d: Likewise. * testsuite/ld-x86-64/pr21038c.d: Likewise.
213 lines
4.2 KiB
Makefile
213 lines
4.2 KiB
Makefile
#name: MIPS eh-frame 3
|
|
#source: eh-frame1.s
|
|
#source: eh-frame1.s
|
|
#as: -EB -mips3 -mabi=eabi --defsym alignment=3 --defsym fill=0
|
|
#readelf: -wf
|
|
#ld: -EB -Teh-frame1.ld --defsym foo=0x50607080
|
|
#
|
|
# This test is for the official LP64 version of EABI64, which uses a
|
|
# combination of 32-bit objects and 64-bit FDE addresses.
|
|
#
|
|
|
|
Contents of the \.eh_frame section:
|
|
|
|
0+0000 0+000c 0+0000 CIE
|
|
Version: 1
|
|
Augmentation: ""
|
|
Code alignment factor: 1
|
|
Data alignment factor: 4
|
|
Return address column: 31
|
|
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+0010 0+0014 0+0014 FDE cie=0+0000 pc=0+020000..0+020010
|
|
|
|
0+0028 0+0014 0+002c FDE cie=0+0000 pc=0+020010..0+020030
|
|
|
|
# basic2 removed
|
|
0+0040 0+0014 0+0044 FDE cie=0+0000 pc=0+020030..0+020060
|
|
|
|
# basic3 removed
|
|
0+0058 0+0014 0+005c FDE cie=0+0000 pc=0+020060..0+0200a0
|
|
|
|
# basic4 removed
|
|
0+0070 0+0014 0+0074 FDE cie=0+0000 pc=0+0200a0..0+0200f0
|
|
|
|
0+0088 0+001c 0+0000 CIE
|
|
Version: 1
|
|
Augmentation: "zP"
|
|
Code alignment factor: 1
|
|
Data alignment factor: 4
|
|
Return address column: 31
|
|
Augmentation data: 00 00 00 00 00 50 60 70 80
|
|
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+00a8 0+001c 0+0024 FDE cie=0+0088 pc=0+0200f0..0+020100
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+00c8 0+001c 0+0044 FDE cie=0+0088 pc=0+020100..0+020120
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+00e8 0+001c 0+0000 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 50 60 70 80
|
|
|
|
|
|
0+0108 0+001c 0+0024 FDE cie=0+00e8 pc=0+020120..0+020130
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+0128 0+0018 0+0044 FDE cie=0+00e8 pc=0+020130..0+020150
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+0144 0+0018 0+0000 CIE
|
|
Version: 1
|
|
Augmentation: "zPR"
|
|
Code alignment factor: 1
|
|
Data alignment factor: 4
|
|
Return address column: 31
|
|
Augmentation data: 00 00 00 00 00 50 60 70 80 00
|
|
|
|
DW_CFA_nop
|
|
|
|
0+0160 0+001c 0+0020 FDE cie=0+0144 pc=0+020150..0+020160
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
# FDE for .discard removed
|
|
# zPR2 removed
|
|
0+0180 0+001c 0+0040 FDE cie=0+0144 pc=0+020160..0+020190
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+01a0 0+001c 0+0060 FDE cie=0+0144 pc=0+020190..0+0201d0
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+01c0 0+0014 0+01c4 FDE cie=0+0000 pc=0+0201d0..0+0201e0
|
|
|
|
# basic1 removed, followed by repeat of above
|
|
0+01d8 0+0014 0+01dc FDE cie=0+0000 pc=0+0201e0..0+0201f0
|
|
|
|
0+01f0 0+0014 0+01f4 FDE cie=0+0000 pc=0+0201f0..0+020210
|
|
|
|
0+0208 0+0014 0+020c FDE cie=0+0000 pc=0+020210..0+020240
|
|
|
|
0+0220 0+0014 0+0224 FDE cie=0+0000 pc=0+020240..0+020280
|
|
|
|
0+0238 0+0014 0+023c FDE cie=0+0000 pc=0+020280..0+0202d0
|
|
|
|
0+0250 0+001c 0+01cc FDE cie=0+0088 pc=0+0202d0..0+0202e0
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+0270 0+001c 0+01ec FDE cie=0+0088 pc=0+0202e0..0+020300
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+0290 0+001c 0+01ac FDE cie=0+00e8 pc=0+020300..0+020310
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+02b0 0+001c 0+01cc FDE cie=0+00e8 pc=0+020310..0+020330
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+02d0 0+001c 0+0190 FDE cie=0+0144 pc=0+020330..0+020340
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
# FDE for .discard removed
|
|
# zPR2 removed
|
|
0+02f0 0+001c 0+01b0 FDE cie=0+0144 pc=0+020340..0+020370
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+0310 0+001c 0+01d0 FDE cie=0+0144 pc=0+020370..0+0203b0
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
DW_CFA_nop
|
|
|
|
0+0330 0+0014 0+0334 FDE cie=0+0000 pc=0+0203b0..0+0203c0
|