]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
MIPS/LD/testsuite: Fix mips16-hilo IRIX 6 emulation failures
authorMaciej W. Rozycki <macro@orcam.me.uk>
Sun, 6 Jul 2025 18:22:49 +0000 (19:22 +0100)
committerMaciej W. Rozycki <macro@orcam.me.uk>
Sun, 6 Jul 2025 18:22:49 +0000 (19:22 +0100)
IRIX 6 emulations place external small common symbols in the regular
common section instead of the small common section.  With mips16-hilo
test this leads to a different symbol assignment to memory locations
between o32 and n32 ABIs, as follows:

--- o32.map
+++ n32.map
@@ -46,23 +46,22 @@
  *(.sdata)
                 0x00765430                        . = 0x765430

-.bss            0x00765430      0x7d8
+.bss            0x00765430      0x7d9
  *(.bss)
  .bss           0x00765430      0x3f0 tmpdir/mips16-hilo.o
  .bss           0x00765820        0x0 tmpdir/mips16-hilo1.o
  *(COMMON)
- COMMON         0x00765820      0x3e8 tmpdir/mips16-hilo.o
+ COMMON         0x00765820      0x3e9 tmpdir/mips16-hilo.o
                 0x00765820                big_external_common
+                0x00765c08                small_external_common

-.sbss           0x00765c08        0x2
+.sbss           0x00765c09        0x1
  *(.sbss)
- .sbss          0x00765c08        0x1 tmpdir/mips16-hilo.o
+ .sbss          0x00765c09        0x1 tmpdir/mips16-hilo.o
  *(.scommon)
- .scommon       0x00765c09        0x1 tmpdir/mips16-hilo.o
-                0x00765c09                small_external_common

 /DISCARD/
  *(*)
 LOAD tmpdir/mips16-hilo.o
 LOAD tmpdir/mips16-hilo1.o
-OUTPUT(tmpdir/dump elf32-bigmips)
+OUTPUT(tmpdir/dump elf32-nbigmips)

which in turn causes a testsuite regression.  Since the specific mapping
of symbols does not matter for the scope of the test, reorder the small
common section ahead of SBSS, so that the `small_external_common' symbol
ends up in the same place regardless of whether via the regular common
section or the small common section.  Adjust embedded addresses in the
disassembly expected accordingly, removing the regression concerned:

mips-sgi-irix6  -FAIL: R_MIPS16_HI16 and R_MIPS16_LO16 relocs n32
mips64el-ps2-elf  -FAIL: R_MIPS16_HI16 and R_MIPS16_LO16 relocs n32

ld/testsuite/ld-mips-elf/mips16-hilo.d
ld/testsuite/ld-mips-elf/mips16-hilo.ld

index ce5748041de207476caa6c2a398a9b8b31b4bac8..6871f8a3dca8d74ab4b3455ec2c63e04b63e4ea5 100644 (file)
@@ -30,13 +30,13 @@ Disassembly of section .text:
 0+500040 <[^>]*> f02b 4c00     addiu   a0,22560
 0+500044 <[^>]*> f060 6c16     li      a0,118
 0+500048 <[^>]*> f400 3480     sll     a0,16
-0+50004c <[^>]*> f40b 4c09     addiu   a0,23561
+0+50004c <[^>]*> f40b 4c08     addiu   a0,23560
 0+500050 <[^>]*> f060 6c16     li      a0,118
 0+500054 <[^>]*> f400 3480     sll     a0,16
 0+500058 <[^>]*> f42a 4c10     addiu   a0,21552
 0+50005c <[^>]*> f060 6c16     li      a0,118
 0+500060 <[^>]*> f400 3480     sll     a0,16
-0+500064 <[^>]*> f40b 4c08     addiu   a0,23560
+0+500064 <[^>]*> f40b 4c09     addiu   a0,23561
 0+500068 <[^>]*> 6c00          li      a0,0
 0+50006a <[^>]*> f400 3480     sll     a0,16
 0+50006e <[^>]*> 4c01          addiu   a0,1
@@ -57,13 +57,13 @@ Disassembly of section .text:
 0+5000a8 <[^>]*> f02b 4c01     addiu   a0,22561
 0+5000ac <[^>]*> f060 6c16     li      a0,118
 0+5000b0 <[^>]*> f400 3480     sll     a0,16
-0+5000b4 <[^>]*> f40b 4c0a     addiu   a0,23562
+0+5000b4 <[^>]*> f40b 4c09     addiu   a0,23561
 0+5000b8 <[^>]*> f060 6c16     li      a0,118
 0+5000bc <[^>]*> f400 3480     sll     a0,16
 0+5000c0 <[^>]*> f42a 4c11     addiu   a0,21553
 0+5000c4 <[^>]*> f060 6c16     li      a0,118
 0+5000c8 <[^>]*> f400 3480     sll     a0,16
-0+5000cc <[^>]*> f40b 4c09     addiu   a0,23561
+0+5000cc <[^>]*> f40b 4c0a     addiu   a0,23562
 0+5000d0 <[^>]*> 6c01          li      a0,1
 0+5000d2 <[^>]*> f400 3480     sll     a0,16
 0+5000d6 <[^>]*> f010 4c00     addiu   a0,-32768
@@ -84,13 +84,13 @@ Disassembly of section .text:
 0+500112 <[^>]*> f03b 4c00     addiu   a0,-10208
 0+500116 <[^>]*> f060 6c17     li      a0,119
 0+50011a <[^>]*> f400 3480     sll     a0,16
-0+50011e <[^>]*> f41b 4c09     addiu   a0,-9207
+0+50011e <[^>]*> f41b 4c08     addiu   a0,-9208
 0+500122 <[^>]*> f060 6c17     li      a0,119
 0+500126 <[^>]*> f400 3480     sll     a0,16
 0+50012a <[^>]*> f43a 4c10     addiu   a0,-11216
 0+50012e <[^>]*> f060 6c17     li      a0,119
 0+500132 <[^>]*> f400 3480     sll     a0,16
-0+500136 <[^>]*> f41b 4c08     addiu   a0,-9208
+0+500136 <[^>]*> f41b 4c09     addiu   a0,-9207
 0+50013a <[^>]*> 6c00          li      a0,0
 0+50013c <[^>]*> f400 3480     sll     a0,16
 0+500140 <[^>]*> f010 4c00     addiu   a0,-32768
@@ -111,13 +111,13 @@ Disassembly of section .text:
 0+50017c <[^>]*> f03b 4c00     addiu   a0,-10208
 0+500180 <[^>]*> f060 6c16     li      a0,118
 0+500184 <[^>]*> f400 3480     sll     a0,16
-0+500188 <[^>]*> f41b 4c09     addiu   a0,-9207
+0+500188 <[^>]*> f41b 4c08     addiu   a0,-9208
 0+50018c <[^>]*> f060 6c16     li      a0,118
 0+500190 <[^>]*> f400 3480     sll     a0,16
 0+500194 <[^>]*> f43a 4c10     addiu   a0,-11216
 0+500198 <[^>]*> f060 6c16     li      a0,118
 0+50019c <[^>]*> f400 3480     sll     a0,16
-0+5001a0 <[^>]*> f41b 4c08     addiu   a0,-9208
+0+5001a0 <[^>]*> f41b 4c09     addiu   a0,-9207
 0+5001a4 <[^>]*> 6c01          li      a0,1
 0+5001a6 <[^>]*> f400 3480     sll     a0,16
 0+5001aa <[^>]*> 4c00          addiu   a0,0
@@ -138,13 +138,13 @@ Disassembly of section .text:
 0+5001e4 <[^>]*> f02b 4c00     addiu   a0,22560
 0+5001e8 <[^>]*> f060 6c17     li      a0,119
 0+5001ec <[^>]*> f400 3480     sll     a0,16
-0+5001f0 <[^>]*> f40b 4c09     addiu   a0,23561
+0+5001f0 <[^>]*> f40b 4c08     addiu   a0,23560
 0+5001f4 <[^>]*> f060 6c17     li      a0,119
 0+5001f8 <[^>]*> f400 3480     sll     a0,16
 0+5001fc <[^>]*> f42a 4c10     addiu   a0,21552
 0+500200 <[^>]*> f060 6c17     li      a0,119
 0+500204 <[^>]*> f400 3480     sll     a0,16
-0+500208 <[^>]*> f40b 4c08     addiu   a0,23560
+0+500208 <[^>]*> f40b 4c09     addiu   a0,23561
 0+50020c <[^>]*> 6c02          li      a0,2
 0+50020e <[^>]*> f400 3480     sll     a0,16
 0+500212 <[^>]*> f5b4 4c05     addiu   a0,-23131
@@ -165,13 +165,13 @@ Disassembly of section .text:
 0+50024e <[^>]*> f5df 4c05     addiu   a0,-571
 0+500252 <[^>]*> f060 6c18     li      a0,120
 0+500256 <[^>]*> f400 3480     sll     a0,16
-0+50025a <[^>]*> f1a0 4c0e     addiu   a0,430
+0+50025a <[^>]*> f1a0 4c0d     addiu   a0,429
 0+50025e <[^>]*> f060 6c18     li      a0,120
 0+500262 <[^>]*> f400 3480     sll     a0,16
 0+500266 <[^>]*> f1df 4c15     addiu   a0,-1579
 0+50026a <[^>]*> f060 6c18     li      a0,120
 0+50026e <[^>]*> f400 3480     sll     a0,16
-0+500272 <[^>]*> f1a0 4c0d     addiu   a0,429
+0+500272 <[^>]*> f1a0 4c0e     addiu   a0,430
 0+500276 <[^>]*> 6d00          li      a1,0
 0+500278 <[^>]*> f400 35a0     sll     a1,16
 0+50027c <[^>]*> 9d80          lw      a0,0\(a1\)
@@ -192,13 +192,13 @@ Disassembly of section .text:
 0+5002b6 <[^>]*> f02b 9d80     lw      a0,22560\(a1\)
 0+5002ba <[^>]*> f060 6d16     li      a1,118
 0+5002be <[^>]*> f400 35a0     sll     a1,16
-0+5002c2 <[^>]*> f40b 9d89     lw      a0,23561\(a1\)
+0+5002c2 <[^>]*> f40b 9d88     lw      a0,23560\(a1\)
 0+5002c6 <[^>]*> f060 6d16     li      a1,118
 0+5002ca <[^>]*> f400 35a0     sll     a1,16
 0+5002ce <[^>]*> f42a 9d90     lw      a0,21552\(a1\)
 0+5002d2 <[^>]*> f060 6d16     li      a1,118
 0+5002d6 <[^>]*> f400 35a0     sll     a1,16
-0+5002da <[^>]*> f40b 9d88     lw      a0,23560\(a1\)
+0+5002da <[^>]*> f40b 9d89     lw      a0,23561\(a1\)
 0+5002de <[^>]*> 6d00          li      a1,0
 0+5002e0 <[^>]*> f400 35a0     sll     a1,16
 0+5002e4 <[^>]*> f000 9d81     lw      a0,1\(a1\)
@@ -219,13 +219,13 @@ Disassembly of section .text:
 0+500320 <[^>]*> f02b 9d81     lw      a0,22561\(a1\)
 0+500324 <[^>]*> f060 6d16     li      a1,118
 0+500328 <[^>]*> f400 35a0     sll     a1,16
-0+50032c <[^>]*> f40b 9d8a     lw      a0,23562\(a1\)
+0+50032c <[^>]*> f40b 9d89     lw      a0,23561\(a1\)
 0+500330 <[^>]*> f060 6d16     li      a1,118
 0+500334 <[^>]*> f400 35a0     sll     a1,16
 0+500338 <[^>]*> f42a 9d91     lw      a0,21553\(a1\)
 0+50033c <[^>]*> f060 6d16     li      a1,118
 0+500340 <[^>]*> f400 35a0     sll     a1,16
-0+500344 <[^>]*> f40b 9d89     lw      a0,23561\(a1\)
+0+500344 <[^>]*> f40b 9d8a     lw      a0,23562\(a1\)
 0+500348 <[^>]*> 6d01          li      a1,1
 0+50034a <[^>]*> f400 35a0     sll     a1,16
 0+50034e <[^>]*> f010 9d80     lw      a0,-32768\(a1\)
@@ -246,13 +246,13 @@ Disassembly of section .text:
 0+50038a <[^>]*> f03b 9d80     lw      a0,-10208\(a1\)
 0+50038e <[^>]*> f060 6d17     li      a1,119
 0+500392 <[^>]*> f400 35a0     sll     a1,16
-0+500396 <[^>]*> f41b 9d89     lw      a0,-9207\(a1\)
+0+500396 <[^>]*> f41b 9d88     lw      a0,-9208\(a1\)
 0+50039a <[^>]*> f060 6d17     li      a1,119
 0+50039e <[^>]*> f400 35a0     sll     a1,16
 0+5003a2 <[^>]*> f43a 9d90     lw      a0,-11216\(a1\)
 0+5003a6 <[^>]*> f060 6d17     li      a1,119
 0+5003aa <[^>]*> f400 35a0     sll     a1,16
-0+5003ae <[^>]*> f41b 9d88     lw      a0,-9208\(a1\)
+0+5003ae <[^>]*> f41b 9d89     lw      a0,-9207\(a1\)
 0+5003b2 <[^>]*> 6d00          li      a1,0
 0+5003b4 <[^>]*> f400 35a0     sll     a1,16
 0+5003b8 <[^>]*> f010 9d80     lw      a0,-32768\(a1\)
@@ -273,13 +273,13 @@ Disassembly of section .text:
 0+5003f4 <[^>]*> f03b 9d80     lw      a0,-10208\(a1\)
 0+5003f8 <[^>]*> f060 6d16     li      a1,118
 0+5003fc <[^>]*> f400 35a0     sll     a1,16
-0+500400 <[^>]*> f41b 9d89     lw      a0,-9207\(a1\)
+0+500400 <[^>]*> f41b 9d88     lw      a0,-9208\(a1\)
 0+500404 <[^>]*> f060 6d16     li      a1,118
 0+500408 <[^>]*> f400 35a0     sll     a1,16
 0+50040c <[^>]*> f43a 9d90     lw      a0,-11216\(a1\)
 0+500410 <[^>]*> f060 6d16     li      a1,118
 0+500414 <[^>]*> f400 35a0     sll     a1,16
-0+500418 <[^>]*> f41b 9d88     lw      a0,-9208\(a1\)
+0+500418 <[^>]*> f41b 9d89     lw      a0,-9207\(a1\)
 0+50041c <[^>]*> 6d01          li      a1,1
 0+50041e <[^>]*> f400 35a0     sll     a1,16
 0+500422 <[^>]*> 9d80          lw      a0,0\(a1\)
@@ -300,13 +300,13 @@ Disassembly of section .text:
 0+50045c <[^>]*> f02b 9d80     lw      a0,22560\(a1\)
 0+500460 <[^>]*> f060 6d17     li      a1,119
 0+500464 <[^>]*> f400 35a0     sll     a1,16
-0+500468 <[^>]*> f40b 9d89     lw      a0,23561\(a1\)
+0+500468 <[^>]*> f40b 9d88     lw      a0,23560\(a1\)
 0+50046c <[^>]*> f060 6d17     li      a1,119
 0+500470 <[^>]*> f400 35a0     sll     a1,16
 0+500474 <[^>]*> f42a 9d90     lw      a0,21552\(a1\)
 0+500478 <[^>]*> f060 6d17     li      a1,119
 0+50047c <[^>]*> f400 35a0     sll     a1,16
-0+500480 <[^>]*> f40b 9d88     lw      a0,23560\(a1\)
+0+500480 <[^>]*> f40b 9d89     lw      a0,23561\(a1\)
 0+500484 <[^>]*> 6d02          li      a1,2
 0+500486 <[^>]*> f400 35a0     sll     a1,16
 0+50048a <[^>]*> f5b4 9d85     lw      a0,-23131\(a1\)
@@ -327,12 +327,12 @@ Disassembly of section .text:
 0+5004c6 <[^>]*> f5df 9d85     lw      a0,-571\(a1\)
 0+5004ca <[^>]*> f060 6d18     li      a1,120
 0+5004ce <[^>]*> f400 35a0     sll     a1,16
-0+5004d2 <[^>]*> f1a0 9d8e     lw      a0,430\(a1\)
+0+5004d2 <[^>]*> f1a0 9d8d     lw      a0,429\(a1\)
 0+5004d6 <[^>]*> f060 6d18     li      a1,120
 0+5004da <[^>]*> f400 35a0     sll     a1,16
 0+5004de <[^>]*> f1df 9d95     lw      a0,-1579\(a1\)
 0+5004e2 <[^>]*> f060 6d18     li      a1,120
 0+5004e6 <[^>]*> f400 35a0     sll     a1,16
-0+5004ea <[^>]*> f1a0 9d8d     lw      a0,429\(a1\)
+0+5004ea <[^>]*> f1a0 9d8e     lw      a0,430\(a1\)
 0+5004ee <[^>]*> 6500          nop
 #pass
index 1b543523234495261efb002044807b4b08f32e84..5ebb39d1cd4d0c10494e04afa5e795893b2ab6a8 100644 (file)
@@ -7,6 +7,6 @@ SECTIONS
   .sdata : { *(.sdata) }
   . = 0x0765430;
   .bss : { *(.bss) *(COMMON) }
-  .sbss : { *(.sbss) *(.scommon) }
+  .sbss : { *(.scommon) *(.sbss) }
   /DISCARD/ : { *(*) }
 }