public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* Re: ld/x86: skip p_align-1 tests with unsuitable compiler
@ 2022-06-29  0:47 Alan Modra
  2022-06-29  5:59 ` Jan Beulich
  0 siblings, 1 reply; 2+ messages in thread
From: Alan Modra @ 2022-06-29  0:47 UTC (permalink / raw)
  To: binutils

commit d0e0f9c87a3e results "ERROR: i586-linux-cc does not exist" if
cross-building an i586-linux target without a target compiler
installed.

	* testsuite/ld-elf/linux-x86.exp (compiler_honours_aligned): New.
	Use it after first testing check_compiler_available.

diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp
index ae0ed6ac0d2..6035ecd6829 100644
--- a/ld/testsuite/ld-elf/linux-x86.exp
+++ b/ld/testsuite/ld-elf/linux-x86.exp
@@ -188,9 +188,17 @@ run_ld_link_exec_tests [list \
 ]
 
 # Old gcc silently ignores __attribute__ ((aligned())) with too big alignment.
-ld_compile $CC_FOR_TARGET $srcdir/$subdir/p_align-1.c tmpdir/p_align-1.o
-set output [run_host_cmd "$READELF" "-SW tmpdir/p_align-1.o"]
-if { [regexp { [.]data *PROGBITS .* 8388608[\n]} $output] } then {
+proc compiler_honours_aligned { } {
+    global CC_FOR_TARGET READELF srcdir subdir
+    ld_compile $CC_FOR_TARGET $srcdir/$subdir/p_align-1.c tmpdir/p_align-1.o
+    set output [run_host_cmd "$READELF" "-SW tmpdir/p_align-1.o"]
+    if { [regexp { [.]data *PROGBITS .* 8388608[\n]} $output] } {
+	return 1
+    }
+    return 0
+}
+
+if { [check_compiler_available] && [compiler_honours_aligned] } {
     run_ld_link_exec_tests [list \
 	[list \
 	    "Run p_align-1a without PIE" \

-- 
Alan Modra
Australia Development Lab, IBM

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: ld/x86: skip p_align-1 tests with unsuitable compiler
  2022-06-29  0:47 ld/x86: skip p_align-1 tests with unsuitable compiler Alan Modra
@ 2022-06-29  5:59 ` Jan Beulich
  0 siblings, 0 replies; 2+ messages in thread
From: Jan Beulich @ 2022-06-29  5:59 UTC (permalink / raw)
  To: Alan Modra; +Cc: binutils

On 29.06.2022 02:47, Alan Modra via Binutils wrote:
> commit d0e0f9c87a3e results "ERROR: i586-linux-cc does not exist" if
> cross-building an i586-linux target without a target compiler
> installed.
> 
> 	* testsuite/ld-elf/linux-x86.exp (compiler_honours_aligned): New.
> 	Use it after first testing check_compiler_available.

Just noticed this myself (apparently didn't test the right variants
the first time through to see it). Thanks for fixing (and educating
me about how such checks ought to be done).

Jan

> diff --git a/ld/testsuite/ld-elf/linux-x86.exp b/ld/testsuite/ld-elf/linux-x86.exp
> index ae0ed6ac0d2..6035ecd6829 100644
> --- a/ld/testsuite/ld-elf/linux-x86.exp
> +++ b/ld/testsuite/ld-elf/linux-x86.exp
> @@ -188,9 +188,17 @@ run_ld_link_exec_tests [list \
>  ]
>  
>  # Old gcc silently ignores __attribute__ ((aligned())) with too big alignment.
> -ld_compile $CC_FOR_TARGET $srcdir/$subdir/p_align-1.c tmpdir/p_align-1.o
> -set output [run_host_cmd "$READELF" "-SW tmpdir/p_align-1.o"]
> -if { [regexp { [.]data *PROGBITS .* 8388608[\n]} $output] } then {
> +proc compiler_honours_aligned { } {
> +    global CC_FOR_TARGET READELF srcdir subdir
> +    ld_compile $CC_FOR_TARGET $srcdir/$subdir/p_align-1.c tmpdir/p_align-1.o
> +    set output [run_host_cmd "$READELF" "-SW tmpdir/p_align-1.o"]
> +    if { [regexp { [.]data *PROGBITS .* 8388608[\n]} $output] } {
> +	return 1
> +    }
> +    return 0
> +}
> +
> +if { [check_compiler_available] && [compiler_honours_aligned] } {
>      run_ld_link_exec_tests [list \
>  	[list \
>  	    "Run p_align-1a without PIE" \
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-06-29  5:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-29  0:47 ld/x86: skip p_align-1 tests with unsuitable compiler Alan Modra
2022-06-29  5:59 ` Jan Beulich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).