From 2e0ce1c84d328bde4dca24b7cfc8b9c033ed271c Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sun, 5 Mar 2017 14:49:54 +1030 Subject: Align eh_frame FDEs according to their encoding 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. --- ld/testsuite/ld-alpha/tlsbin.dd | 10 +++++----- ld/testsuite/ld-alpha/tlsbin.td | 12 ++++++------ ld/testsuite/ld-alpha/tlsbinr.dd | 2 +- ld/testsuite/ld-alpha/tlspic.dd | 10 +++++----- ld/testsuite/ld-alpha/tlspic.rd | 2 +- ld/testsuite/ld-alpha/tlspic.sd | 14 +++++++------- ld/testsuite/ld-alpha/tlspic.td | 12 ++++++------ 7 files changed, 31 insertions(+), 31 deletions(-) (limited to 'ld/testsuite/ld-alpha') diff --git a/ld/testsuite/ld-alpha/tlsbin.dd b/ld/testsuite/ld-alpha/tlsbin.dd index 26f1797..eab2fcd 100644 --- a/ld/testsuite/ld-alpha/tlsbin.dd +++ b/ld/testsuite/ld-alpha/tlsbin.dd @@ -12,30 +12,30 @@ Disassembly of section \.text: 0+120001000 : 120001000: 02 00 bb 27 ldah gp,2\(t12\) - 120001004: b0 82 bd 23 lda gp,-32080\(gp\) + 120001004: a8 82 bd 23 lda gp,-32088\(gp\) 120001008: 3e 15 c2 43 subq sp,0x10,sp 12000100c: 00 00 5e b7 stq ra,0\(sp\) 120001010: 18 80 1d 22 lda a0,-32744\(gp\) 120001014: 08 80 7d a7 ldq t12,-32760\(gp\) 120001018: 00 40 5b 6b jsr ra,\(t12\),12000101c <.*> 12000101c: 02 00 ba 27 ldah gp,2\(ra\) - 120001020: 94 82 bd 23 lda gp,-32108\(gp\) + 120001020: 8c 82 bd 23 lda gp,-32116\(gp\) 120001024: 38 80 1d 22 lda a0,-32712\(gp\) 120001028: 08 80 7d a7 ldq t12,-32760\(gp\) 12000102c: 00 40 5b 6b jsr ra,\(t12\),120001030 <.*> 120001030: 02 00 ba 27 ldah gp,2\(ra\) - 120001034: 80 82 bd 23 lda gp,-32128\(gp\) + 120001034: 78 82 bd 23 lda gp,-32136\(gp\) 120001038: 28 80 1d 22 lda a0,-32728\(gp\) 12000103c: 08 80 7d a7 ldq t12,-32760\(gp\) 120001040: 00 40 5b 6b jsr ra,\(t12\),120001044 <.*> 120001044: 02 00 ba 27 ldah gp,2\(ra\) - 120001048: 6c 82 bd 23 lda gp,-32148\(gp\) + 120001048: 64 82 bd 23 lda gp,-32156\(gp\) 12000104c: 21 00 20 20 lda t0,33\(v0\) 120001050: 28 80 1d 22 lda a0,-32728\(gp\) 120001054: 08 80 7d a7 ldq t12,-32760\(gp\) 120001058: 00 40 5b 6b jsr ra,\(t12\),12000105c <.*> 12000105c: 02 00 ba 27 ldah gp,2\(ra\) - 120001060: 54 82 bd 23 lda gp,-32172\(gp\) + 120001060: 4c 82 bd 23 lda gp,-32180\(gp\) 120001064: 40 00 20 20 lda t0,64\(v0\) 120001068: 46 00 20 20 lda t0,70\(v0\) 12000106c: 00 00 20 24 ldah t0,0\(v0\) diff --git a/ld/testsuite/ld-alpha/tlsbin.td b/ld/testsuite/ld-alpha/tlsbin.td index 8bd7a6c..b577239 100644 --- a/ld/testsuite/ld-alpha/tlsbin.td +++ b/ld/testsuite/ld-alpha/tlsbin.td @@ -9,9 +9,9 @@ .*: +file format elf64-alpha Contents of section .tdata: - 1?200110f0 11000000 12000000 13000000 14000000 .* - 1?20011100 15000000 16000000 17000000 18000000 .* - 1?20011110 41000000 42000000 43000000 44000000 .* - 1?20011120 45000000 46000000 47000000 48000000 .* - 1?20011130 01010000 02010000 03010000 04010000 .* - 1?20011140 05010000 06010000 07010000 08010000 .* + 1?200110e8 11000000 12000000 13000000 14000000 .* + 1?200110f8 15000000 16000000 17000000 18000000 .* + 1?20011108 41000000 42000000 43000000 44000000 .* + 1?20011118 45000000 46000000 47000000 48000000 .* + 1?20011128 01010000 02010000 03010000 04010000 .* + 1?20011138 05010000 06010000 07010000 08010000 .* diff --git a/ld/testsuite/ld-alpha/tlsbinr.dd b/ld/testsuite/ld-alpha/tlsbinr.dd index ee55fa9..44b5059 100644 --- a/ld/testsuite/ld-alpha/tlsbinr.dd +++ b/ld/testsuite/ld-alpha/tlsbinr.dd @@ -12,7 +12,7 @@ Disassembly of section \.text: 0+120001000 : 120001000: 02 00 bb 27 ldah gp,2\(t12\) - 120001004: a0 82 bd 23 lda gp,-32096\(gp\) + 120001004: 98 82 bd 23 lda gp,-32104\(gp\) 120001008: 3e 15 c2 43 subq sp,0x10,sp 12000100c: 00 00 5e b7 stq ra,0\(sp\) 120001010: 08 80 1d a6 ldq a0,-32760\(gp\) diff --git a/ld/testsuite/ld-alpha/tlspic.dd b/ld/testsuite/ld-alpha/tlspic.dd index 4bd040c..bf645a4 100644 --- a/ld/testsuite/ld-alpha/tlspic.dd +++ b/ld/testsuite/ld-alpha/tlspic.dd @@ -12,7 +12,7 @@ Disassembly of section .text: 0+1000 : 1000: 02 00 bb 27 ldah gp,2\(t12\) - 1004: 90 82 bd 23 lda gp,-32112\(gp\) + 1004: 88 82 bd 23 lda gp,-32120\(gp\) 1008: 3e 15 c2 43 subq sp,0x10,sp 100c: 00 00 5e b7 stq ra,0\(sp\) 1010: 08 00 3e b5 stq s0,8\(sp\) @@ -22,23 +22,23 @@ Disassembly of section .text: 1020: 00 80 7d a7 ldq t12,-32768\(gp\) 1024: 00 40 5b 6b jsr ra,\(t12\),1028 <.*> 1028: 02 00 ba 27 ldah gp,2\(ra\) - 102c: 68 82 bd 23 lda gp,-32152\(gp\) + 102c: 60 82 bd 23 lda gp,-32160\(gp\) 1030: 30 80 1d 22 lda a0,-32720\(gp\) 1034: 00 80 7d a7 ldq t12,-32768\(gp\) 1038: 00 40 5b 6b jsr ra,\(t12\),103c <.*> 103c: 02 00 ba 27 ldah gp,2\(ra\) - 1040: 54 82 bd 23 lda gp,-32172\(gp\) + 1040: 4c 82 bd 23 lda gp,-32180\(gp\) 1044: 40 80 1d 22 lda a0,-32704\(gp\) 1048: 00 80 7d a7 ldq t12,-32768\(gp\) 104c: 00 40 5b 6b jsr ra,\(t12\),1050 <.*> 1050: 02 00 ba 27 ldah gp,2\(ra\) - 1054: 40 82 bd 23 lda gp,-32192\(gp\) + 1054: 38 82 bd 23 lda gp,-32200\(gp\) 1058: 21 00 20 20 lda t0,33\(v0\) 105c: 40 80 1d 22 lda a0,-32704\(gp\) 1060: 00 80 7d a7 ldq t12,-32768\(gp\) 1064: 00 40 5b 6b jsr ra,\(t12\),1068 <.*> 1068: 02 00 ba 27 ldah gp,2\(ra\) - 106c: 28 82 bd 23 lda gp,-32216\(gp\) + 106c: 20 82 bd 23 lda gp,-32224\(gp\) 1070: 40 00 20 20 lda t0,64\(v0\) 1074: 62 00 20 20 lda t0,98\(v0\) 1078: 00 00 20 24 ldah t0,0\(v0\) diff --git a/ld/testsuite/ld-alpha/tlspic.rd b/ld/testsuite/ld-alpha/tlspic.rd index f1fb974..4aeb5e3 100644 --- a/ld/testsuite/ld-alpha/tlspic.rd +++ b/ld/testsuite/ld-alpha/tlspic.rd @@ -37,7 +37,7 @@ Program Headers: +LOAD +0x0+ 0x0+ 0x0+ 0x[0-9a-f]+ 0x[0-9a-f]+ R E 0x10000 +LOAD +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW 0x10000 +DYNAMIC +0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ 0x[0-9a-f]+ RW +0x8 - +TLS +0x0+10e0 0x0+110e0 0x0+110e0 0x0+60 0x0+80 R +0x4 + +TLS +0x0+10d8 0x0+110d8 0x0+110d8 0x0+60 0x0+80 R +0x4 #... Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 7 entries: diff --git a/ld/testsuite/ld-alpha/tlspic.sd b/ld/testsuite/ld-alpha/tlspic.sd index 573bc3d..7d02cf1 100644 --- a/ld/testsuite/ld-alpha/tlspic.sd +++ b/ld/testsuite/ld-alpha/tlspic.sd @@ -9,10 +9,10 @@ .*: +file format elf64-alpha Contents of section .got: - 11280 00000000 00000000 00000000 00000000 .* - 11290 44040000 00000000 00000000 00000000 .* - 112a0 00000000 00000000 71000000 00000000 .* - 112b0 00000000 00000000 00000000 00000000 .* - 112c0 00000000 00000000 44000000 00000000 .* - 112d0 00000000 00000000 00000000 00000000 .* - 112e0 00000000 00000000 .* + 11278 00000000 00000000 00000000 00000000 .* + 11288 44040000 00000000 00000000 00000000 .* + 11298 00000000 00000000 71000000 00000000 .* + 112a8 00000000 00000000 00000000 00000000 .* + 112b8 00000000 00000000 44000000 00000000 .* + 112c8 00000000 00000000 00000000 00000000 .* + 112d8 00000000 00000000 .* diff --git a/ld/testsuite/ld-alpha/tlspic.td b/ld/testsuite/ld-alpha/tlspic.td index cd09609..8ef7f3d 100644 --- a/ld/testsuite/ld-alpha/tlspic.td +++ b/ld/testsuite/ld-alpha/tlspic.td @@ -9,9 +9,9 @@ .*: +file format elf64-alpha Contents of section .tdata: - 110e0 11000000 12000000 13000000 14000000 .* - 110f0 15000000 16000000 17000000 18000000 .* - 11100 41000000 42000000 43000000 44000000 .* - 11110 45000000 46000000 47000000 48000000 .* - 11120 01010000 02010000 03010000 04010000 .* - 11130 05010000 06010000 07010000 08010000 .* + 110d8 11000000 12000000 13000000 14000000 .* + 110e8 15000000 16000000 17000000 18000000 .* + 110f8 41000000 42000000 43000000 44000000 .* + 11108 45000000 46000000 47000000 48000000 .* + 11118 01010000 02010000 03010000 04010000 .* + 11128 05010000 06010000 07010000 08010000 .* -- cgit v1.1