From 0120bae52ccdb050203bd90b310cdca9995e6e42 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Mon, 17 Jan 2022 05:33:10 -0800 Subject: [PATCH] ld: Require GCC 8.0 for p_align-1.c tests Require GCC 8.0 for p_align-1.c tests to avoid GCC and Linux kernel which ignore aligned in p_align-1.c. PR ld/28689 PR ld/28695 * ld-elf/linux-x86.exp: Require GCC 8.0 for p_align-1.c tests. --- ld/testsuite/ld-elf/linux-x86.exp | 79 +++++++++++++++++-------------- 1 file changed, 43 insertions(+), 36 deletions(-) diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp index 2e0cbd37f17..6bc280f3cdd 100644 --- a/ld/testsuite/ld-elf/linux-x86.exp +++ b/ld/testsuite/ld-elf/linux-x86.exp @@ -185,44 +185,51 @@ run_ld_link_exec_tests [list \ "" \ "tmpdir/indirect-extern-access-2.so" \ ] \ - [list \ - "Run p_align-1a without PIE" \ - "$NOPIE_LDFLAGS" \ - "" \ - { p_align-1.c } \ - "p_align-1a" \ - "pass.out" \ - "$NOPIE_CFLAGS" \ - ] \ - [list \ - "Run p_align-1b with PIE" \ - "-pie" \ - "" \ - { p_align-1.c } \ - "p_align-1b" \ - "pass.out" \ - "-fpie" \ - ] \ - [list \ - "Run p_align-1c with -Wl,-z,max-page-size=0x1000 without PIE" \ - "$NOPIE_LDFLAGS -Wl,-z,max-page-size=0x1000" \ - "" \ - { p_align-1.c } \ - "p_align-1c" \ - "pass.out" \ - "$NOPIE_CFLAGS" \ - ] \ - [list \ - "Run p_align-1d with -Wl,-z,max-page-size=0x1000 with PIE" \ - "-pie -Wl,-z,max-page-size=0x1000" \ - "" \ - { p_align-1.c } \ - "p_align-1d" \ - "pass.out" \ - "-fpie" \ - ] \ ] +# Require GCC 8.0 to avoid GCC and Linux kernel which ignore aligned +# attribute in p_align-1.c. +if { [at_least_gcc_version 8 0] } { + run_ld_link_exec_tests [list \ + [list \ + "Run p_align-1a without PIE" \ + "$NOPIE_LDFLAGS" \ + "" \ + { p_align-1.c } \ + "p_align-1a" \ + "pass.out" \ + "$NOPIE_CFLAGS" \ + ] \ + [list \ + "Run p_align-1b with PIE" \ + "-pie" \ + "" \ + { p_align-1.c } \ + "p_align-1b" \ + "pass.out" \ + "-fpie" \ + ] \ + [list \ + "Run p_align-1c with -Wl,-z,max-page-size=0x1000 without PIE" \ + "$NOPIE_LDFLAGS -Wl,-z,max-page-size=0x1000" \ + "" \ + { p_align-1.c } \ + "p_align-1c" \ + "pass.out" \ + "$NOPIE_CFLAGS" \ + ] \ + [list \ + "Run p_align-1d with -Wl,-z,max-page-size=0x1000 with PIE" \ + "-pie -Wl,-z,max-page-size=0x1000" \ + "" \ + { p_align-1.c } \ + "p_align-1d" \ + "pass.out" \ + "-fpie" \ + ] \ + ] +} + proc elfedit_test { options test output } { global ELFEDIT global READELF -- 2.34.1