From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from angie.orcam.me.uk (angie.orcam.me.uk [IPv6:2001:4190:8020::34]) by sourceware.org (Postfix) with ESMTP id D744E385021C for ; Fri, 28 Jul 2023 05:06:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org D744E385021C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=orcam.me.uk Authentication-Results: sourceware.org; spf=none smtp.mailfrom=orcam.me.uk Received: by angie.orcam.me.uk (Postfix, from userid 500) id 3EE8492009D; Fri, 28 Jul 2023 07:06:38 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by angie.orcam.me.uk (Postfix) with ESMTP id 38E9A92009C; Fri, 28 Jul 2023 06:06:38 +0100 (BST) Date: Fri, 28 Jul 2023 06:06:38 +0100 (BST) From: "Maciej W. Rozycki" To: Nick Clifton cc: YunQiang Su , binutils@sourceware.org Subject: [committed 02/16] MIPS/LD: Include n64 `.interp' with INITIAL_READONLY_SECTIONS In-Reply-To: Message-ID: References: User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-3488.3 required=5.0 tests=BAYES_00,KAM_ASCII_DIVIDERS,KAM_DMARC_STATUS,KAM_INFOUSMEBIZ,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: From: YunQiang Su In ld/emulparams/elf64bmip-defs.sh there is no explicit handling of the `.interp' section, which causes it to be positioned in output at an odd place. Let's include it with INITIAL_READONLY_SECTIONS, just like o32/n32 do, fixing a regression from commit 5a8e7be242f3 ("INITIAL_READONLY_SECTIONS in elf.sc"), where the handling of n64 was missed due to an unfortunate sequence of events where ld/emulparams/elf64bmip-defs.sh was only added with commit 94bb04b3c611 ("Use .reginfo rather than .MIPS.options in n32 linker scripts") the day before. Add test cases covering section ordering across the three ABIs. This change also fixes ld/pr23658-2: FAIL: Build pr23658-2 Co-Authored-By: Maciej W. Rozycki ld/ChangeLog: * emulparams/elf64bmip-defs.sh: Include `.interp' with INITIAL_READONLY_SECTIONS. * testsuite/ld-mips-elf/pie-n64.d: Adjust addresses. * testsuite/ld-mips-elf/sections-1-o32.rd: New test. * testsuite/ld-mips-elf/sections-1-o32t.rd: New test. * testsuite/ld-mips-elf/sections-1-n32.rd: New test. * testsuite/ld-mips-elf/sections-1-n32t.rd: New test. * testsuite/ld-mips-elf/sections-1-n32p.rd: New test. * testsuite/ld-mips-elf/sections-1-n64.rd: New test. * testsuite/ld-mips-elf/sections-1-n64t.rd: New test. * testsuite/ld-mips-elf/sections-2-o32.rd: New test. * testsuite/ld-mips-elf/sections-2-o32t.rd: New test. * testsuite/ld-mips-elf/sections-2-n32.rd: New test. * testsuite/ld-mips-elf/sections-2-n32t.rd: New test. * testsuite/ld-mips-elf/sections-2-n32p.rd: New test. * testsuite/ld-mips-elf/sections-2-n64.rd: New test. * testsuite/ld-mips-elf/sections-2-n64t.rd: New test. * testsuite/ld-mips-elf/sections.s: New test source. * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests. --- ld/emulparams/elf64bmip-defs.sh | 6 +++ ld/testsuite/ld-mips-elf/mips-elf.exp | 21 +++++++++++++ ld/testsuite/ld-mips-elf/pie-n64.d | 12 +++---- ld/testsuite/ld-mips-elf/sections-1-n32.rd | 36 ++++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-1-n32p.rd | 36 ++++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-1-n32t.rd | 36 ++++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-1-n64.rd | 36 ++++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-1-n64t.rd | 36 ++++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-1-o32.rd | 36 ++++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-1-o32t.rd | 36 ++++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-2-n32.rd | 33 +++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-2-n32p.rd | 33 +++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-2-n32t.rd | 33 +++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-2-n64.rd | 33 +++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-2-n64t.rd | 33 +++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-2-o32.rd | 33 +++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections-2-o32t.rd | 33 +++++++++++++++++++++ ld/testsuite/ld-mips-elf/sections.s | 44 ++++++++++++++++++++++++++++ 18 files changed, 559 insertions(+), 7 deletions(-) binutils-yunqiang-mips-ld-n64-interp.diff Index: binutils-gdb/ld/emulparams/elf64bmip-defs.sh =================================================================== --- binutils-gdb.orig/ld/emulparams/elf64bmip-defs.sh +++ binutils-gdb/ld/emulparams/elf64bmip-defs.sh @@ -1,6 +1,10 @@ source_sh ${srcdir}/emulparams/elf32bmipn32-defs.sh COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)" -INITIAL_READONLY_SECTIONS=" +INITIAL_READONLY_SECTIONS= +if test -z "${CREATE_SHLIB}"; then + INITIAL_READONLY_SECTIONS=".interp ${RELOCATING-0} : { *(.interp) }" +fi +INITIAL_READONLY_SECTIONS="${INITIAL_READONLY_SECTIONS} .MIPS.abiflags ${RELOCATING-0} : { *(.MIPS.abiflags) } .MIPS.xhash ${RELOCATING-0} : { *(.MIPS.xhash) } .MIPS.options : { *(.MIPS.options) } Index: binutils-gdb/ld/testsuite/ld-mips-elf/mips-elf.exp =================================================================== --- binutils-gdb.orig/ld/testsuite/ld-mips-elf/mips-elf.exp +++ binutils-gdb/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -1669,3 +1669,24 @@ run_dump_test_n64 "global-local-symtab-s run_dump_test_o32 "global-local-symtab-final-o32" run_dump_test_n32 "global-local-symtab-final-n32" run_dump_test_n64 "global-local-symtab-final-n64" + +# Section ordering tests. +foreach { abi } $abis { + set ps2 [expr \ + ({$abi} == {"n32"} && [istarget "mips64*el-ps2-elf*"]) ? {"p"} : {""}] + run_ld_link_tests [list \ + [list \ + "MIPS section ordering test 1 ($abi)" \ + "$abi_ldflags($abi) -r" "" \ + "$abi_asflags($abi) -mpdr" \ + [list sections.s] \ + [list "readelf -WS sections-1-${abi}${tmips}${ps2}.rd"] \ + "sections-1-${abi}.o"] \ + [list \ + "MIPS section ordering test 2 ($abi)" \ + "$abi_ldflags($abi) -e 0" "" \ + "$abi_asflags($abi) -mpdr" \ + [list sections.s] \ + [list "readelf -WS sections-2-${abi}${tmips}${ps2}.rd"] \ + "sections-2-${abi}"]] +} Index: binutils-gdb/ld/testsuite/ld-mips-elf/pie-n64.d =================================================================== --- binutils-gdb.orig/ld/testsuite/ld-mips-elf/pie-n64.d +++ binutils-gdb/ld/testsuite/ld-mips-elf/pie-n64.d @@ -2,16 +2,16 @@ #ld: -pie #readelf: -d -Dynamic section at offset 0x208 contains 17 entries: +Dynamic section at offset 0x220 contains 17 entries: Tag * Type * Name/Value - 0x0+00000004 \(HASH\) * 0x368 - 0x0+00000005 \(STRTAB\) * 0x3c8 - 0x0+00000006 \(SYMTAB\) * 0x380 + 0x0+00000004 \(HASH\) * 0x380 + 0x0+00000005 \(STRTAB\) * 0x3e0 + 0x0+00000006 \(SYMTAB\) * 0x398 0x0+0000000a \(STRSZ\) * 28 \(bytes\) 0x0+0000000b \(SYMENT\) * 24 \(bytes\) - 0x0+70000035 \(MIPS_RLD_MAP_REL\) * 0x101c8 + 0x0+70000035 \(MIPS_RLD_MAP_REL\) * 0x101a0 0x0+00000015 \(DEBUG\) * 0x0 - 0x0+00000003 \(PLTGOT\) * 0x10430 + 0x0+00000003 \(PLTGOT\) * 0x10420 0x0+70000001 \(MIPS_RLD_VERSION\) * 1 0x0+70000005 \(MIPS_FLAGS\) * NOTPOT 0x0+70000006 \(MIPS_BASE_ADDRESS\) * 0x0 Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-n32.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-n32.rd @@ -0,0 +1,36 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.reginfo +MIPS_REGINFO .* + \[..\] \.text +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.pdr +PROGBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.gptab\.sbss +MIPS_GPTAB .* + \[..\] \.gptab\.sdata +MIPS_GPTAB .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-n32p.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-n32p.rd @@ -0,0 +1,36 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.reginfo +MIPS_REGINFO .* + \[..\] \.text +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.pdr +PROGBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.gptab\.sdata +MIPS_GPTAB .* + \[..\] \.gptab\.sbss +MIPS_GPTAB .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-n32t.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-n32t.rd @@ -0,0 +1,36 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.reginfo +MIPS_REGINFO .* + \[..\] \.text +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.pdr +PROGBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.gptab\.sdata +MIPS_GPTAB .* + \[..\] \.gptab\.sbss +MIPS_GPTAB .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-n64.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-n64.rd @@ -0,0 +1,36 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.MIPS\.options +MIPS_OPTIONS .* + \[..\] \.text +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.pdr +PROGBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.gptab\.sbss +MIPS_GPTAB .* + \[..\] \.gptab\.sdata +MIPS_GPTAB .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-n64t.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-n64t.rd @@ -0,0 +1,36 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.MIPS\.options +MIPS_OPTIONS .* + \[..\] \.text +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.pdr +PROGBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.gptab\.sdata +MIPS_GPTAB .* + \[..\] \.gptab\.sbss +MIPS_GPTAB .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-o32.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-o32.rd @@ -0,0 +1,36 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.reginfo +MIPS_REGINFO .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.text +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.pdr +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.gptab\.sdata +MIPS_GPTAB .* + \[..\] \.gptab\.sbss +MIPS_GPTAB .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-o32t.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-1-o32t.rd @@ -0,0 +1,36 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.reginfo +MIPS_REGINFO .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.text +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.pdr +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.gptab\.sdata +MIPS_GPTAB .* + \[..\] \.gptab\.sbss +MIPS_GPTAB .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-n32.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-n32.rd @@ -0,0 +1,33 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.reginfo +MIPS_REGINFO .* + \[..\] \.text +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-n32p.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-n32p.rd @@ -0,0 +1,33 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.reginfo +MIPS_REGINFO .* + \[..\] \.text +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-n32t.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-n32t.rd @@ -0,0 +1,33 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.reginfo +MIPS_REGINFO .* + \[..\] \.text +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-n64.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-n64.rd @@ -0,0 +1,33 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.MIPS\.options +MIPS_OPTIONS .* + \[..\] \.text +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-n64t.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-n64t.rd @@ -0,0 +1,33 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.MIPS\.options +MIPS_OPTIONS .* + \[..\] \.text +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-o32.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-o32.rd @@ -0,0 +1,33 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.reginfo +MIPS_REGINFO .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.text +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-o32t.rd =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections-2-o32t.rd @@ -0,0 +1,33 @@ +There are [0-9]+ section headers, starting at offset 0x[0-9a-f]+: + +Section Headers: + \[Nr\] Name +Type .* + \[..\] +NULL .* + \[..\] \.interp +PROGBITS .* + \[..\] \.MIPS\.abiflags +MIPS_ABIFLAGS .* + \[..\] \.reginfo +MIPS_REGINFO .* + \[..\] \.MIPS\.xhash +MIPS_XHASH .* + \[..\] \.text +PROGBITS .* + \[..\] \.rodata +PROGBITS .* + \[..\] \.got\.plt +PROGBITS .* + \[..\] \.data +PROGBITS .* + \[..\] \.got +PROGBITS .* + \[..\] \.sdata +PROGBITS .* + \[..\] \.lit8 +PROGBITS .* + \[..\] \.lit4 +PROGBITS .* + \[..\] \.sbss +NOBITS .* + \[..\] \.bss +NOBITS .* + \[..\] \.gnu\.attributes +GNU_ATTRIBUTES .* + \[..\] \.mdebug\.abi32 +PROGBITS .* + \[..\] \.mdebug\.abiN32 +PROGBITS .* + \[..\] \.mdebug\.abi64 +PROGBITS .* + \[..\] \.mdebug\.abiO64 +PROGBITS .* + \[..\] \.mdebug\.eabi32 +PROGBITS .* + \[..\] \.mdebug\.eabi64 +PROGBITS .* + \[..\] \.gcc_compiled_long32 +PROGBITS .* + \[..\] \.gcc_compiled_long64 +PROGBITS .* + \[..\] \.symtab +SYMTAB .* + \[..\] \.strtab +STRTAB .* + \[..\] \.shstrtab +STRTAB .* +Key to Flags: +#pass Index: binutils-gdb/ld/testsuite/ld-mips-elf/sections.s =================================================================== --- /dev/null +++ binutils-gdb/ld/testsuite/ld-mips-elf/sections.s @@ -0,0 +1,44 @@ + .section .MIPS.xhash + .dc.l 0 + .section .bss + .dc.l 0 + .section .data + .dc.l 0 + .section .gcc_compiled_long32 + .dc.l 0 + .section .gcc_compiled_long64 + .dc.l 0 + .section .got + .dc.l 0 + .section .got.plt + .dc.l 0 + .section .gptab.sbss + .dc.l 0 + .section .gptab.sdata + .dc.l 0 + .section .interp + .dc.l 0 + .section .lit4 + .dc.l 0 + .section .lit8 + .dc.l 0 + .section .mdebug.abi32 + .dc.l 0 + .section .mdebug.abi64 + .dc.l 0 + .section .mdebug.abiN32 + .dc.l 0 + .section .mdebug.abiO64 + .dc.l 0 + .section .mdebug.eabi32 + .dc.l 0 + .section .mdebug.eabi64 + .dc.l 0 + .section .rodata + .dc.l 0 + .section .sbss + .dc.l 0 + .section .sdata + .dc.l 0 + .section .text + .dc.l 0