ld: Update PR ld/25237 test

Message ID CAMe9rOpfaGBtfJQktRSV8zC12ykiwHTq6rsEejO1XKT_mV75Ag@mail.gmail.com
State New
Headers
Series ld: Update PR ld/25237 test |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_binutils_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_binutils_check--master-aarch64 success Test passed
linaro-tcwg-bot/tcwg_binutils_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_binutils_check--master-arm success Test passed

Commit Message

H.J. Lu March 5, 2025, 11:23 a.m. UTC
  On Wed, Mar 5, 2025 at 12:55 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Wed, Mar 5, 2025 at 12:00 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > PR ld/25237
> > * testsuite/ld-elf/pr25237.d: New file.
> > * testsuite/ld-elf/pr25237.s: Likewise.
> >
> > --
> > H.J.
>
> I am checking it in.
>

1. Skip targets which don't support the .bss section alignment, 1 << 16.
2. Replace .bss with ".section .bss".
3. Use ".zero 0xb60000" for targets which pad the section to its alignment.

PR ld/25237
* testsuite/ld-elf/pr25237.d: Skip avr-*-* and h8300-*-*.
Update expected segment size to 0xb60000.
* testsuite/ld-elf/pr25237.s: Use ".section .bss" and
".zero 0xb60000".
  

Comments

H.J. Lu March 5, 2025, 10:59 p.m. UTC | #1
On Wed, Mar 5, 2025 at 7:23 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Wed, Mar 5, 2025 at 12:55 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > On Wed, Mar 5, 2025 at 12:00 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > >
> > > PR ld/25237
> > > * testsuite/ld-elf/pr25237.d: New file.
> > > * testsuite/ld-elf/pr25237.s: Likewise.
> > >
> > > --
> > > H.J.
> >
> > I am checking it in.
> >
>
> 1. Skip targets which don't support the .bss section alignment, 1 << 16.
> 2. Replace .bss with ".section .bss".
> 3. Use ".zero 0xb60000" for targets which pad the section to its alignment.
>
> PR ld/25237
> * testsuite/ld-elf/pr25237.d: Skip avr-*-* and h8300-*-*.
> Update expected segment size to 0xb60000.
> * testsuite/ld-elf/pr25237.s: Use ".section .bss" and
> ".zero 0xb60000".
>
>
>
> --
> H.J.

I am checking it in.
  
Alan Modra March 6, 2025, 10:42 p.m. UTC | #2
On Thu, Mar 06, 2025 at 06:59:27AM +0800, H.J. Lu wrote:
> On Wed, Mar 5, 2025 at 7:23 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> >
> > On Wed, Mar 5, 2025 at 12:55 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > >
> > > On Wed, Mar 5, 2025 at 12:00 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > > >
> > > > PR ld/25237
> > > > * testsuite/ld-elf/pr25237.d: New file.
> > > > * testsuite/ld-elf/pr25237.s: Likewise.
> > > >
> > > > --
> > > > H.J.
> > >
> > > I am checking it in.
> > >
> >
> > 1. Skip targets which don't support the .bss section alignment, 1 << 16.
> > 2. Replace .bss with ".section .bss".
> > 3. Use ".zero 0xb60000" for targets which pad the section to its alignment.
> >
> > PR ld/25237
> > * testsuite/ld-elf/pr25237.d: Skip avr-*-* and h8300-*-*.
> > Update expected segment size to 0xb60000.
> > * testsuite/ld-elf/pr25237.s: Use ".section .bss" and
> > ".zero 0xb60000".
> >
> >
> >
> > --
> > H.J.
> 
> I am checking it in.
> 
> -- 
> H.J.

It is pointless checking p_offset for a PT_LOAD with zero p_filesz.
I am going to remove this testcase.  My original reaction to pr25237
was to close it as wontfix.  What we have in the linker now is a hack
to work around a loader bug, and it seems I ought to modify that hack
to avoid yet another loader bug in a different loader.  I do not want
a testcase that cements in a particular behaviour.  What's more, the
testcase still fails on multiple targets.

arc-elf  +FAIL: ld-elf/pr25237
cr16-elf  +FAIL: ld-elf/pr25237
crx-elf  +FAIL: ld-elf/pr25237
d10v-elf  +FAIL: ld-elf/pr25237
d30v-elf  +FAIL: ld-elf/pr25237
ft32-elf  +FAIL: ld-elf/pr25237
ip2k-elf  +FAIL: ld-elf/pr25237
m68hc11-elf  +FAIL: ld-elf/pr25237
m68hc12-elf  +FAIL: ld-elf/pr25237
microblaze-elf  +FAIL: ld-elf/pr25237
msp430-elf  +FAIL: ld-elf/pr25237
mt-elf  +FAIL: ld-elf/pr25237
pru-elf  +FAIL: ld-elf/pr25237
rl78-elf  +FAIL: ld-elf/pr25237
s12z-elf  +FAIL: ld-elf/pr25237
sparc64-linux-gnu  +FAIL: ld-elf/pr25237
tic6x-elf  +FAIL: ld-elf/pr25237
visium-elf  +FAIL: ld-elf/pr25237
xgate-elf  +FAIL: ld-elf/pr25237
xstormy16-elf  +FAIL: ld-elf/pr25237
z80-elf  +FAIL: ld-elf/pr25237
  

Patch

From d0babee648efc2ce2bcca5120c98af9839f35800 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Wed, 5 Mar 2025 19:08:49 +0800
Subject: [PATCH] ld: Update PR ld/25237 test

1. Skip targets which don't support the .bss section alignment, 1 << 16.
2. Replace .bss with ".section .bss".
3. Use ".zero 0xb60000" for targets which pad the section to its alignment.

	PR ld/25237
	* testsuite/ld-elf/pr25237.d: Skip avr-*-* and h8300-*-*.
	Update expected segment size to 0xb60000.
	* testsuite/ld-elf/pr25237.s: Use ".section .bss" and
	".zero 0xb60000".

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
---
 ld/testsuite/ld-elf/pr25237.d | 5 ++++-
 ld/testsuite/ld-elf/pr25237.s | 6 +++---
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/ld/testsuite/ld-elf/pr25237.d b/ld/testsuite/ld-elf/pr25237.d
index a85ec501f6c..3db187738f3 100644
--- a/ld/testsuite/ld-elf/pr25237.d
+++ b/ld/testsuite/ld-elf/pr25237.d
@@ -1,6 +1,9 @@ 
 #ld:
 #readelf: -l -W
+# Address bits of these targets don't support the .bss section alignment,
+# 1 << 16.
+#notarget: avr-*-* h8300-*-*
 
 #...
- +LOAD +0x0+ +0x[0-9a-f]+ +0x[0-9a-f]+ +0x0+ +0xb5dce8+ +RW +0x10000
+ +LOAD +0x0+ +0x[0-9a-f]+ +0x[0-9a-f]+ +0x0+ +0xb60000+ +RW +0x10000
 #pass
diff --git a/ld/testsuite/ld-elf/pr25237.s b/ld/testsuite/ld-elf/pr25237.s
index 17864696fee..5011ffc10d1 100644
--- a/ld/testsuite/ld-elf/pr25237.s
+++ b/ld/testsuite/ld-elf/pr25237.s
@@ -10,10 +10,10 @@  main:
 	.globl	_main	/* Used by LynxOS targets.  */
 _main:
 	.dc.a 0
-	.bss
+	.section	.bss, "aw", %nobits
 	.p2align 16
 	.type	bss, %object
-	.size	bss, 11918568
+	.size	bss, 0xb60000
 bss:
-	.zero	11918568
+	.zero	0xb60000
 	.section	.note.GNU-stack,"",%progbits
-- 
2.48.1