aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2008-03-17 18:52:04 +0000
committerRichard Sandiford <rdsandiford@googlemail.com>2008-03-17 18:52:04 +0000
commit198e22a0fc657229f0cb3dd3ac216db7c35f7ff6 (patch)
tree8d386df40ff7498108da92403acf157b57d21aff /ld
parent08e8dfaf50092d96a5f1a5cc438230c30e3a13e9 (diff)
downloadgdb-198e22a0fc657229f0cb3dd3ac216db7c35f7ff6.zip
gdb-198e22a0fc657229f0cb3dd3ac216db7c35f7ff6.tar.gz
gdb-198e22a0fc657229f0cb3dd3ac216db7c35f7ff6.tar.bz2
ld/testsuite/
* ld-mips-elf/eh-frame1-n32.d: Expect a warning about .eh_frame_hdr. Remove duplicate CIEs. Adjust relocation addresses and .eh_frame offsets accordingly. Do not allow there to be any trailing R_MIPS_NONE relocations. * ld-mips-elf/eh-frame1-n64.d: Likewise. * ld-mips-elf/eh-frame2-n32.d: Likewise. * ld-mips-elf/eh-frame2-n64.d: Likewise.
Diffstat (limited to 'ld')
-rw-r--r--ld/testsuite/ChangeLog10
-rw-r--r--ld/testsuite/ld-mips-elf/eh-frame1-n32.d95
-rw-r--r--ld/testsuite/ld-mips-elf/eh-frame1-n64.d121
-rw-r--r--ld/testsuite/ld-mips-elf/eh-frame2-n32.d91
-rw-r--r--ld/testsuite/ld-mips-elf/eh-frame2-n64.d113
5 files changed, 78 insertions, 352 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index fcd3cc9..6ff1af7 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,5 +1,15 @@
2008-03-17 Richard Sandiford <rsandifo@nildram.co.uk>
+ * ld-mips-elf/eh-frame1-n32.d: Expect a warning about .eh_frame_hdr.
+ Remove duplicate CIEs. Adjust relocation addresses and .eh_frame
+ offsets accordingly. Do not allow there to be any trailing
+ R_MIPS_NONE relocations.
+ * ld-mips-elf/eh-frame1-n64.d: Likewise.
+ * ld-mips-elf/eh-frame2-n32.d: Likewise.
+ * ld-mips-elf/eh-frame2-n64.d: Likewise.
+
+2008-03-17 Richard Sandiford <rsandifo@nildram.co.uk>
+
* ld-mips-elf/mips-elf.exp (o32_as_flags, o32_ld_flags): New variables.
(mips16_call_global_test, mips16_intermix_test): Use them.
diff --git a/ld/testsuite/ld-mips-elf/eh-frame1-n32.d b/ld/testsuite/ld-mips-elf/eh-frame1-n32.d
index cda12b6..3924016 100644
--- a/ld/testsuite/ld-mips-elf/eh-frame1-n32.d
+++ b/ld/testsuite/ld-mips-elf/eh-frame1-n32.d
@@ -4,6 +4,7 @@
#as: -EB -n32 --defsym alignment=2 --defsym fill=0x40
#readelf: --relocs -wf
#ld: -shared -melf32btsmipn32 -Teh-frame1.ld
+#warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
Relocation section '\.rel\.dyn' .*:
*Offset .*
@@ -11,16 +12,11 @@ Relocation section '\.rel\.dyn' .*:
# Initial PCs for the FDEs attached to CIE 0xbc
000300dc [0-9a-f]+ R_MIPS_REL32 *
000300f0 [0-9a-f]+ R_MIPS_REL32 *
-# Likewise CIE 0x220
-00030240 [0-9a-f]+ R_MIPS_REL32 *
-00030254 [0-9a-f]+ R_MIPS_REL32 *
+000301f8 [0-9a-f]+ R_MIPS_REL32 *
+0003020c [0-9a-f]+ R_MIPS_REL32 *
0003008b [0-9a-f]+ R_MIPS_REL32 00000000 foo
000300d0 [0-9a-f]+ R_MIPS_REL32 00000000 foo
0003010e [0-9a-f]+ R_MIPS_REL32 00000000 foo
-000301ef [0-9a-f]+ R_MIPS_REL32 00000000 foo
-00030234 [0-9a-f]+ R_MIPS_REL32 00000000 foo
-00030272 [0-9a-f]+ R_MIPS_REL32 00000000 foo
-#...
The section \.eh_frame contains:
00000000 00000010 00000000 CIE
@@ -133,130 +129,73 @@ The section \.eh_frame contains:
DW_CFA_advance_loc: 0 to 00020190
DW_CFA_advance_loc: 0 to 00020190
-00000150 00000010 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
-
-00000164 00000010 00000018 FDE cie=00000150 pc=000201d0..000201e0
+00000150 00000010 00000154 FDE cie=00000000 pc=000201d0..000201e0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
# basic1 removed, followed by repeat of above
-00000178 00000010 0000002c FDE cie=00000150 pc=000201e0..000201f0
+00000164 00000010 00000168 FDE cie=00000000 pc=000201e0..000201f0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-0000018c 00000010 00000040 FDE cie=00000150 pc=000201f0..00020210
+00000178 00000010 0000017c FDE cie=00000000 pc=000201f0..00020210
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-000001a0 00000010 00000054 FDE cie=00000150 pc=00020210..00020240
+0000018c 00000010 00000190 FDE cie=00000000 pc=00020210..00020240
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-000001b4 00000010 00000068 FDE cie=00000150 pc=00020240..00020280
+000001a0 00000010 000001a4 FDE cie=00000000 pc=00020240..00020280
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-000001c8 00000010 0000007c FDE cie=00000150 pc=00020280..000202d0
- DW_CFA_nop
- DW_CFA_nop
+000001b4 00000010 000001b8 FDE cie=00000000 pc=00020280..000202d0
DW_CFA_nop
-
-000001dc 00000018 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
-
- 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
-000001f8 00000010 00000020 FDE cie=000001dc pc=000202d0..000202e0
+000001c8 00000010 00000154 FDE cie=00000078 pc=000202d0..000202e0
DW_CFA_advance_loc: 0 to 000202d0
DW_CFA_advance_loc: 0 to 000202d0
DW_CFA_advance_loc: 0 to 000202d0
-0000020c 00000010 00000034 FDE cie=000001dc pc=000202e0..00020300
+000001dc 00000010 00000168 FDE cie=00000078 pc=000202e0..00020300
DW_CFA_advance_loc: 0 to 000202e0
DW_CFA_advance_loc: 0 to 000202e0
DW_CFA_advance_loc: 0 to 000202e0
-00000220 00000014 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
-
-
-00000238 00000010 0000001c FDE cie=00000220 pc=00020300..00020310
+000001f0 00000010 00000138 FDE cie=000000bc pc=00020300..00020310
DW_CFA_advance_loc: 0 to 00020300
DW_CFA_advance_loc: 0 to 00020300
DW_CFA_advance_loc: 0 to 00020300
-0000024c 00000010 00000030 FDE cie=00000220 pc=00020310..00020330
+00000204 00000010 0000014c FDE cie=000000bc pc=00020310..00020330
DW_CFA_advance_loc: 0 to 00020310
DW_CFA_advance_loc: 0 to 00020310
DW_CFA_advance_loc: 0 to 00020310
-00000260 00000014 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 10
-
- DW_CFA_advance_loc: 0 to 00000000
-
-00000278 00000010 0000001c FDE cie=00000260 pc=00020330..00020340
+00000218 00000010 00000120 FDE cie=000000fc pc=00020330..00020340
DW_CFA_advance_loc: 0 to 00020330
DW_CFA_advance_loc: 0 to 00020330
DW_CFA_advance_loc: 0 to 00020330
-0000028c 00000010 00000030 FDE cie=00000260 pc=00020340..00020370
+0000022c 00000010 00000134 FDE cie=000000fc pc=00020340..00020370
DW_CFA_advance_loc: 0 to 00020340
DW_CFA_advance_loc: 0 to 00020340
DW_CFA_advance_loc: 0 to 00020340
-000002a0 00000010 00000044 FDE cie=00000260 pc=00020370..000203b0
+00000240 00000010 00000148 FDE cie=000000fc pc=00020370..000203b0
DW_CFA_advance_loc: 0 to 00020370
DW_CFA_advance_loc: 0 to 00020370
DW_CFA_advance_loc: 0 to 00020370
-000002b4 00000010 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
-
-000002c8 00000010 00000018 FDE cie=000002b4 pc=000203b0..000203c0
+00000254 00000010 00000258 FDE cie=00000000 pc=000203b0..000203c0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/ld/testsuite/ld-mips-elf/eh-frame1-n64.d b/ld/testsuite/ld-mips-elf/eh-frame1-n64.d
index ccb77e1..f0925b9 100644
--- a/ld/testsuite/ld-mips-elf/eh-frame1-n64.d
+++ b/ld/testsuite/ld-mips-elf/eh-frame1-n64.d
@@ -4,6 +4,7 @@
#as: -EB -64 --defsym alignment=3 --defsym fill=0x40
#readelf: --relocs -wf
#ld: -shared -melf64btsmip -Teh-frame1.ld
+#warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
Relocation section '\.rel\.dyn' .*:
*Offset .*
@@ -17,11 +18,10 @@ Relocation section '\.rel\.dyn' .*:
000000030168 [0-9a-f]+ R_MIPS_REL32 *
*Type2: R_MIPS_64 *
*Type3: R_MIPS_NONE *
-# Likewise CIE 0x340
-000000030368 [0-9a-f]+ R_MIPS_REL32 *
+000000030308 [0-9a-f]+ R_MIPS_REL32 *
*Type2: R_MIPS_64 *
*Type3: R_MIPS_NONE *
-000000030388 [0-9a-f]+ R_MIPS_REL32 *
+000000030328 [0-9a-f]+ R_MIPS_REL32 *
*Type2: R_MIPS_64 *
*Type3: R_MIPS_NONE *
0000000300cb [0-9a-f]+ R_MIPS_REL32 0000000000000000 foo
@@ -33,16 +33,6 @@ Relocation section '\.rel\.dyn' .*:
000000030192 [0-9a-f]+ R_MIPS_REL32 0000000000000000 foo
*Type2: R_MIPS_64 *
*Type3: R_MIPS_NONE *
-0000000302eb [0-9a-f]+ R_MIPS_REL32 0000000000000000 foo
- *Type2: R_MIPS_64 *
- *Type3: R_MIPS_NONE *
-000000030358 [0-9a-f]+ R_MIPS_REL32 0000000000000000 foo
- *Type2: R_MIPS_64 *
- *Type3: R_MIPS_NONE *
-0000000303b2 [0-9a-f]+ R_MIPS_REL32 0000000000000000 foo
- *Type2: R_MIPS_64 *
- *Type3: R_MIPS_NONE *
-#...
The section \.eh_frame contains:
00000000 00000014 00000000 CIE
@@ -219,23 +209,7 @@ The section \.eh_frame contains:
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
+00000200 0000001c 00000204 FDE cie=00000000 pc=000201d0..000201e0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -245,7 +219,7 @@ The section \.eh_frame contains:
DW_CFA_nop
# basic1 removed, followed by repeat of above
-00000238 0000001c 0000003c FDE cie=00000200 pc=000201e0..000201f0
+00000220 0000001c 00000224 FDE cie=00000000 pc=000201e0..000201f0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -254,7 +228,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000258 0000001c 0000005c FDE cie=00000200 pc=000201f0..00020210
+00000240 0000001c 00000244 FDE cie=00000000 pc=000201f0..00020210
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -263,7 +237,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000278 0000001c 0000007c FDE cie=00000200 pc=00020210..00020240
+00000260 0000001c 00000264 FDE cie=00000000 pc=00020210..00020240
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -272,7 +246,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000298 0000001c 0000009c FDE cie=00000200 pc=00020240..00020280
+00000280 0000001c 00000284 FDE cie=00000000 pc=00020240..00020280
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -281,38 +255,16 @@ The section \.eh_frame contains:
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
+000002a0 0000001c 000002a4 FDE cie=00000000 pc=00020280..000202d0
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
+000002c0 0000001c 0000020c FDE cie=000000b8 pc=000202d0..000202e0
DW_CFA_advance_loc: 0 to 000202d0
DW_CFA_advance_loc: 0 to 000202d0
DW_CFA_advance_loc: 0 to 000202d0
@@ -321,7 +273,7 @@ The section \.eh_frame contains:
DW_CFA_advance_loc: 0 to 000202d0
DW_CFA_advance_loc: 0 to 000202d0
-00000320 0000001c 0000004c FDE cie=000002d8 pc=000202e0..00020300
+000002e0 0000001c 0000022c FDE cie=000000b8 pc=000202e0..00020300
DW_CFA_advance_loc: 0 to 000202e0
DW_CFA_advance_loc: 0 to 000202e0
DW_CFA_advance_loc: 0 to 000202e0
@@ -330,16 +282,7 @@ The section \.eh_frame contains:
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
+00000300 0000001c 000001e4 FDE cie=00000120 pc=00020300..00020310
DW_CFA_advance_loc: 0 to 00020300
DW_CFA_advance_loc: 0 to 00020300
DW_CFA_advance_loc: 0 to 00020300
@@ -348,7 +291,7 @@ The section \.eh_frame contains:
DW_CFA_advance_loc: 0 to 00020300
DW_CFA_advance_loc: 0 to 00020300
-00000380 0000001c 00000044 FDE cie=00000340 pc=00020310..00020330
+00000320 0000001c 00000204 FDE cie=00000120 pc=00020310..00020330
DW_CFA_advance_loc: 0 to 00020310
DW_CFA_advance_loc: 0 to 00020310
DW_CFA_advance_loc: 0 to 00020310
@@ -357,21 +300,7 @@ The section \.eh_frame contains:
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
+00000340 0000001c 000001c4 FDE cie=00000180 pc=00020330..00020340
DW_CFA_advance_loc: 0 to 00020330
DW_CFA_advance_loc: 0 to 00020330
DW_CFA_advance_loc: 0 to 00020330
@@ -380,7 +309,7 @@ The section \.eh_frame contains:
DW_CFA_advance_loc: 0 to 00020330
DW_CFA_advance_loc: 0 to 00020330
-000003e0 0000001c 00000044 FDE cie=000003a0 pc=00020340..00020370
+00000360 0000001c 000001e4 FDE cie=00000180 pc=00020340..00020370
DW_CFA_advance_loc: 0 to 00020340
DW_CFA_advance_loc: 0 to 00020340
DW_CFA_advance_loc: 0 to 00020340
@@ -389,7 +318,7 @@ The section \.eh_frame contains:
DW_CFA_advance_loc: 0 to 00020340
DW_CFA_advance_loc: 0 to 00020340
-00000400 0000001c 00000064 FDE cie=000003a0 pc=00020370..000203b0
+00000380 0000001c 00000204 FDE cie=00000180 pc=00020370..000203b0
DW_CFA_advance_loc: 0 to 00020370
DW_CFA_advance_loc: 0 to 00020370
DW_CFA_advance_loc: 0 to 00020370
@@ -398,23 +327,7 @@ The section \.eh_frame contains:
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
+000003a0 0000001c 000003a4 FDE cie=00000000 pc=000203b0..000203c0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/ld/testsuite/ld-mips-elf/eh-frame2-n32.d b/ld/testsuite/ld-mips-elf/eh-frame2-n32.d
index 160b7a8..ce2aa1d 100644
--- a/ld/testsuite/ld-mips-elf/eh-frame2-n32.d
+++ b/ld/testsuite/ld-mips-elf/eh-frame2-n32.d
@@ -4,6 +4,7 @@
#as: -EB -n32 --defsym alignment=2 --defsym fill=0
#readelf: --relocs -wf
#ld: -shared -melf32btsmipn32 -Teh-frame1.ld
+#warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
Relocation section '\.rel\.dyn' .*:
*Offset .*
@@ -11,16 +12,11 @@ Relocation section '\.rel\.dyn' .*:
# Initial PCs for the FDEs attached to CIE 0xb8
000300d8 [0-9a-f]+ R_MIPS_REL32 *
000300ec [0-9a-f]+ R_MIPS_REL32 *
-# Likewise CIE 0x218
-00030238 [0-9a-f]+ R_MIPS_REL32 *
-0003024c [0-9a-f]+ R_MIPS_REL32 *
+000301f4 [0-9a-f]+ R_MIPS_REL32 *
+00030208 [0-9a-f]+ R_MIPS_REL32 *
0003008b [0-9a-f]+ R_MIPS_REL32 00000000 foo
000300cc [0-9a-f]+ R_MIPS_REL32 00000000 foo
0003010a [0-9a-f]+ R_MIPS_REL32 00000000 foo
-000301eb [0-9a-f]+ R_MIPS_REL32 00000000 foo
-0003022c [0-9a-f]+ R_MIPS_REL32 00000000 foo
-0003026a [0-9a-f]+ R_MIPS_REL32 00000000 foo
-#...
The section \.eh_frame contains:
00000000 00000010 00000000 CIE
@@ -129,126 +125,73 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-0000014c 00000010 00000000 CIE
- Version: 1
- Augmentation: "zR"
- Code alignment factor: 1
- Data alignment factor: 4
- Return address column: 31
- Augmentation data: 10
-
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
-
-00000160 00000010 00000018 FDE cie=0000014c pc=000201d0..000201e0
+0000014c 00000010 00000150 FDE cie=00000000 pc=000201d0..000201e0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
# basic1 removed, followed by repeat of above
-00000174 00000010 0000002c FDE cie=0000014c pc=000201e0..000201f0
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
-
-00000188 00000010 00000040 FDE cie=0000014c pc=000201f0..00020210
+00000160 00000010 00000164 FDE cie=00000000 pc=000201e0..000201f0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-0000019c 00000010 00000054 FDE cie=0000014c pc=00020210..00020240
+00000174 00000010 00000178 FDE cie=00000000 pc=000201f0..00020210
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-000001b0 00000010 00000068 FDE cie=0000014c pc=00020240..00020280
+00000188 00000010 0000018c FDE cie=00000000 pc=00020210..00020240
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-000001c4 00000010 0000007c FDE cie=0000014c pc=00020280..000202d0
+0000019c 00000010 000001a0 FDE cie=00000000 pc=00020240..00020280
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-000001d8 00000014 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
-
- DW_CFA_nop
-
-000001f0 00000010 0000001c FDE cie=000001d8 pc=000202d0..000202e0
+000001b0 00000010 000001b4 FDE cie=00000000 pc=00020280..000202d0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-00000204 00000010 00000030 FDE cie=000001d8 pc=000202e0..00020300
+000001c4 00000010 00000150 FDE cie=00000078 pc=000202d0..000202e0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-00000218 00000014 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
-
-
-00000230 00000010 0000001c FDE cie=00000218 pc=00020300..00020310
+000001d8 00000010 00000164 FDE cie=00000078 pc=000202e0..00020300
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-00000244 00000010 00000030 FDE cie=00000218 pc=00020310..00020330
- DW_CFA_nop
+000001ec 00000010 00000138 FDE cie=000000b8 pc=00020300..00020310
DW_CFA_nop
DW_CFA_nop
-
-00000258 00000014 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 10
-
DW_CFA_nop
-00000270 00000010 0000001c FDE cie=00000258 pc=00020330..00020340
+00000200 00000010 0000014c FDE cie=000000b8 pc=00020310..00020330
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-00000284 00000010 00000030 FDE cie=00000258 pc=00020340..00020370
+00000214 00000010 00000120 FDE cie=000000f8 pc=00020330..00020340
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-00000298 00000010 00000044 FDE cie=00000258 pc=00020370..000203b0
+00000228 00000010 00000134 FDE cie=000000f8 pc=00020340..00020370
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-000002ac 00000010 00000000 CIE
- Version: 1
- Augmentation: "zR"
- Code alignment factor: 1
- Data alignment factor: 4
- Return address column: 31
- Augmentation data: 10
-
+0000023c 00000010 00000148 FDE cie=000000f8 pc=00020370..000203b0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-000002c0 00000010 00000018 FDE cie=000002ac pc=000203b0..000203c0
+00000250 00000010 00000254 FDE cie=00000000 pc=000203b0..000203c0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
diff --git a/ld/testsuite/ld-mips-elf/eh-frame2-n64.d b/ld/testsuite/ld-mips-elf/eh-frame2-n64.d
index 9bc490e..50394f5 100644
--- a/ld/testsuite/ld-mips-elf/eh-frame2-n64.d
+++ b/ld/testsuite/ld-mips-elf/eh-frame2-n64.d
@@ -4,6 +4,7 @@
#as: -EB -64 --defsym alignment=3 --defsym fill=0
#readelf: --relocs -wf
#ld: -shared -melf64btsmip -Teh-frame1.ld
+#warning: fde encoding in.*prevents \.eh_frame_hdr table being created.
Relocation section '\.rel\.dyn' .*:
*Offset .*
@@ -17,11 +18,10 @@ Relocation section '\.rel\.dyn' .*:
000000030160 [0-9a-f]+ R_MIPS_REL32 *
*Type2: R_MIPS_64 *
*Type3: R_MIPS_NONE *
-# Likewise CIE 0x330
-000000030358 [0-9a-f]+ R_MIPS_REL32 *
+000000030300 [0-9a-f]+ R_MIPS_REL32 *
*Type2: R_MIPS_64 *
*Type3: R_MIPS_NONE *
-000000030378 [0-9a-f]+ R_MIPS_REL32 *
+000000030320 [0-9a-f]+ R_MIPS_REL32 *
*Type2: R_MIPS_64 *
*Type3: R_MIPS_NONE *
0000000300cb [0-9a-f]+ R_MIPS_REL32 0000000000000000 foo
@@ -33,16 +33,6 @@ Relocation section '\.rel\.dyn' .*:
00000003018a [0-9a-f]+ R_MIPS_REL32 0000000000000000 foo
*Type2: R_MIPS_64 *
*Type3: R_MIPS_NONE *
-0000000302e3 [0-9a-f]+ R_MIPS_REL32 0000000000000000 foo
- *Type2: R_MIPS_64 *
- *Type3: R_MIPS_NONE *
-000000030348 [0-9a-f]+ R_MIPS_REL32 0000000000000000 foo
- *Type2: R_MIPS_64 *
- *Type3: R_MIPS_NONE *
-0000000303a2 [0-9a-f]+ R_MIPS_REL32 0000000000000000 foo
- *Type2: R_MIPS_64 *
- *Type3: R_MIPS_NONE *
-#...
The section \.eh_frame contains:
00000000 00000014 00000000 CIE
@@ -211,23 +201,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-000001f8 00000014 00000000 CIE
- Version: 1
- Augmentation: "zR"
- Code alignment factor: 1
- Data alignment factor: 4
- Return address column: 31
- Augmentation data: 10
-
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
-
-00000210 0000001c 0000001c FDE cie=000001f8 pc=000201d0..000201e0
+000001f8 0000001c 000001fc FDE cie=00000000 pc=000201d0..000201e0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -237,7 +211,7 @@ The section \.eh_frame contains:
DW_CFA_nop
# basic1 removed, followed by repeat of above
-00000230 0000001c 0000003c FDE cie=000001f8 pc=000201e0..000201f0
+00000218 0000001c 0000021c FDE cie=00000000 pc=000201e0..000201f0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -246,7 +220,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000250 0000001c 0000005c FDE cie=000001f8 pc=000201f0..00020210
+00000238 0000001c 0000023c FDE cie=00000000 pc=000201f0..00020210
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -255,7 +229,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000270 0000001c 0000007c FDE cie=000001f8 pc=00020210..00020240
+00000258 0000001c 0000025c FDE cie=00000000 pc=00020210..00020240
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -264,39 +238,16 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000290 0000001c 0000009c FDE cie=000001f8 pc=00020240..00020280
- DW_CFA_nop
- DW_CFA_nop
+00000278 0000001c 0000027c FDE cie=00000000 pc=00020240..00020280
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-
-000002b0 0000001c 000000bc FDE cie=000001f8 pc=00020280..000202d0
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
-
-000002d0 0000001c 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_nop
- DW_CFA_nop
- DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
-000002f0 0000001c 00000024 FDE cie=000002d0 pc=000202d0..000202e0
+00000298 0000001c 0000029c FDE cie=00000000 pc=00020280..000202d0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -305,7 +256,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000310 0000001c 00000044 FDE cie=000002d0 pc=000202e0..00020300
+000002b8 0000001c 00000204 FDE cie=000000b8 pc=000202d0..000202e0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -314,16 +265,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000330 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
-
-
-00000350 0000001c 00000024 FDE cie=00000330 pc=00020300..00020310
+000002d8 0000001c 00000224 FDE cie=000000b8 pc=000202e0..00020300
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -332,7 +274,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000370 0000001c 00000044 FDE cie=00000330 pc=00020310..00020330
+000002f8 0000001c 000001e4 FDE cie=00000118 pc=00020300..00020310
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -341,21 +283,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000390 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_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
- DW_CFA_nop
-
-000003b0 0000001c 00000024 FDE cie=00000390 pc=00020330..00020340
+00000318 0000001c 00000204 FDE cie=00000118 pc=00020310..00020330
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -364,7 +292,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-000003d0 0000001c 00000044 FDE cie=00000390 pc=00020340..00020370
+00000338 0000001c 000001c4 FDE cie=00000178 pc=00020330..00020340
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -373,7 +301,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-000003f0 0000001c 00000064 FDE cie=00000390 pc=00020370..000203b0
+00000358 0000001c 000001e4 FDE cie=00000178 pc=00020340..00020370
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -382,14 +310,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000410 00000014 00000000 CIE
- Version: 1
- Augmentation: "zR"
- Code alignment factor: 1
- Data alignment factor: 4
- Return address column: 31
- Augmentation data: 10
-
+00000378 0000001c 00000204 FDE cie=00000178 pc=00020370..000203b0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop
@@ -398,7 +319,7 @@ The section \.eh_frame contains:
DW_CFA_nop
DW_CFA_nop
-00000428 0000001c 0000001c FDE cie=00000410 pc=000203b0..000203c0
+00000398 0000001c 0000039c FDE cie=00000000 pc=000203b0..000203c0
DW_CFA_nop
DW_CFA_nop
DW_CFA_nop