PR28827 testcase

Fangrui Song i@maskray.me
Sat Feb 5 07:43:13 GMT 2022


On 2022-02-05, Alan Modra via Binutils wrote:
>This testcase triggers a stub sizing error with the patches applied
>for PR28743 (commit 2f83249c13d8 and c804c6f98d34).
>
>	PR 28827
>	* testsuite/ld-powerpc/pr28827-1.s,
>	* testsuite/ld-powerpc/pr28827-1.d: New test.
>	* testsuite/ld-powerpc/powerpc.exp: Run it.
>
>diff --git a/ld/testsuite/ld-powerpc/powerpc.exp b/ld/testsuite/ld-powerpc/powerpc.exp
>index 318bf92c85f..9eff14fc89f 100644
>--- a/ld/testsuite/ld-powerpc/powerpc.exp
>+++ b/ld/testsuite/ld-powerpc/powerpc.exp
>@@ -465,6 +465,7 @@ if [ supports_ppc64 ] then {
>     run_dump_test "tlsie"
>     run_dump_test "non-contiguous-powerpc64"
>     run_dump_test "tprel"
>+    run_dump_test "pr28827-1"
>     run_dump_test "pr28827-2"
> }
>
>diff --git a/ld/testsuite/ld-powerpc/pr28827-1.d b/ld/testsuite/ld-powerpc/pr28827-1.d
>new file mode 100644
>index 00000000000..8df9bcffddc
>--- /dev/null
>+++ b/ld/testsuite/ld-powerpc/pr28827-1.d
>@@ -0,0 +1,4 @@
>+# ld: -melf64ppc -gc-sections -shared -z relro --plt-align=0
>+# size: -A
>+
>+#pass
>diff --git a/ld/testsuite/ld-powerpc/pr28827-1.s b/ld/testsuite/ld-powerpc/pr28827-1.s
>new file mode 100644
>index 00000000000..bf647a69072
>--- /dev/null
>+++ b/ld/testsuite/ld-powerpc/pr28827-1.s
>@@ -0,0 +1,6828 @@
>+	.globl	_start
>+	.type	_start,@function
>+	.text
>+_start:
>+	.cfi_startproc
>+0:
>+ addis 2,12,(.TOC.-0b)@ha
>+ addi 2,2,(.TOC.-0b)@l
>+	.localentry _start,.-0b
>+ mflr 0
>+ std 0,16(1)
>+ stdu 1,-32(1)
>+	.cfi_def_cfa_offset 32
>+	.cfi_offset 65, 16
>+ bl f0
>+ nop
>+ bl f1
>+ nop
>+ bl f2
>+ nop
>+ bl f3
>+ nop
>+ bl f4
>+ nop
>+ bl f5
>+ nop
>+ bl f6
>[...]

Can the long list of instructions be replaced with two output sections
with only few instructions?

SECTIONS {
   .text_low 0x2000: { *(.text_low) }
   .text_high 0x2002000 : { *(.text_high) }
}


More information about the Binutils mailing list