From: Maciej W. Rozycki Date: Sun, 6 Jul 2025 18:22:49 +0000 (+0100) Subject: MIPS/LD/testsuite: Fix mips16-hilo IRIX 6 emulation failures X-Git-Tag: binutils-2_45~166 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=51309ac47b9fe26545c39a8e8844af3c4d35b036;p=thirdparty%2Fbinutils-gdb.git MIPS/LD/testsuite: Fix mips16-hilo IRIX 6 emulation failures 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 --- diff --git a/ld/testsuite/ld-mips-elf/mips16-hilo.d b/ld/testsuite/ld-mips-elf/mips16-hilo.d index ce5748041de..6871f8a3dca 100644 --- a/ld/testsuite/ld-mips-elf/mips16-hilo.d +++ b/ld/testsuite/ld-mips-elf/mips16-hilo.d @@ -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 diff --git a/ld/testsuite/ld-mips-elf/mips16-hilo.ld b/ld/testsuite/ld-mips-elf/mips16-hilo.ld index 1b543523234..5ebb39d1cd4 100644 --- a/ld/testsuite/ld-mips-elf/mips16-hilo.ld +++ b/ld/testsuite/ld-mips-elf/mips16-hilo.ld @@ -7,6 +7,6 @@ SECTIONS .sdata : { *(.sdata) } . = 0x0765430; .bss : { *(.bss) *(COMMON) } - .sbss : { *(.sbss) *(.scommon) } + .sbss : { *(.scommon) *(.sbss) } /DISCARD/ : { *(*) } }