diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2008-03-17 18:52:04 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2008-03-17 18:52:04 +0000 |
commit | 198e22a0fc657229f0cb3dd3ac216db7c35f7ff6 (patch) | |
tree | 8d386df40ff7498108da92403acf157b57d21aff | |
parent | 08e8dfaf50092d96a5f1a5cc438230c30e3a13e9 (diff) | |
download | fsf-binutils-gdb-198e22a0fc657229f0cb3dd3ac216db7c35f7ff6.zip fsf-binutils-gdb-198e22a0fc657229f0cb3dd3ac216db7c35f7ff6.tar.gz fsf-binutils-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.
-rw-r--r-- | ld/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/eh-frame1-n32.d | 95 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/eh-frame1-n64.d | 121 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/eh-frame2-n32.d | 91 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/eh-frame2-n64.d | 113 |
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 |