[PATCH v5 0/3] elf: Add GNU_PROPERTY_MEMORY_SEAL gnu property

Adhemerval Zanella Netto adhemerval.zanella@linaro.org
Wed Jan 15 12:09:16 GMT 2025



On 15/01/25 00:17, Alan Modra wrote:
> I'm seeing these regressions:
> avr-elf  +FAIL: ld-elf/property-seal-7
> avr-elf  +FAIL: ld-elf/property-seal-8
> cr16-elf  +FAIL: ld-elf/property-seal-7
> cr16-elf  +FAIL: ld-elf/property-seal-8
> cris-elf  +FAIL: ld-elf/property-seal-7
> cris-elf  +FAIL: ld-elf/property-seal-8
> crx-elf  +FAIL: ld-elf/property-seal-3
> crx-elf  +FAIL: ld-elf/property-seal-4
> crx-elf  +FAIL: ld-elf/property-seal-7
> crx-elf  +FAIL: ld-elf/property-seal-8
> csky-elf  +FAIL: ld-elf/property-seal-7
> csky-elf  +FAIL: ld-elf/property-seal-8
> d10v-elf  +FAIL: ld-elf/property-seal-7
> d10v-elf  +FAIL: ld-elf/property-seal-8
> d30v-elf  +FAIL: ld-elf/property-seal-3
> d30v-elf  +FAIL: ld-elf/property-seal-4
> d30v-elf  +FAIL: ld-elf/property-seal-7
> d30v-elf  +FAIL: ld-elf/property-seal-8
> dlx-elf  +FAIL: ld-elf/property-seal-3
> dlx-elf  +FAIL: ld-elf/property-seal-4
> dlx-elf  +FAIL: ld-elf/property-seal-7
> dlx-elf  +FAIL: ld-elf/property-seal-8
> epiphany-elf  +FAIL: ld-elf/property-seal-7
> epiphany-elf  +FAIL: ld-elf/property-seal-8
> fr30-elf  +FAIL: ld-elf/property-seal-3
> fr30-elf  +FAIL: ld-elf/property-seal-4
> fr30-elf  +FAIL: ld-elf/property-seal-7
> fr30-elf  +FAIL: ld-elf/property-seal-8
> frv-elf  +FAIL: ld-elf/property-seal-3
> frv-elf  +FAIL: ld-elf/property-seal-4
> frv-elf  +FAIL: ld-elf/property-seal-7
> frv-elf  +FAIL: ld-elf/property-seal-8
> ft32-elf  +FAIL: ld-elf/property-seal-3
> ft32-elf  +FAIL: ld-elf/property-seal-4
> ft32-elf  +FAIL: ld-elf/property-seal-7
> ft32-elf  +FAIL: ld-elf/property-seal-8
> h8300-elf  +FAIL: ld-elf/property-seal-3
> h8300-elf  +FAIL: ld-elf/property-seal-4
> h8300-elf  +FAIL: ld-elf/property-seal-7
> h8300-elf  +FAIL: ld-elf/property-seal-8
> h8300-linux-gnu  +FAIL: ld-elf/property-seal-3
> h8300-linux-gnu  +FAIL: ld-elf/property-seal-4
> h8300-linux-gnu  +FAIL: ld-elf/property-seal-7
> h8300-linux-gnu  +FAIL: ld-elf/property-seal-8
> ip2k-elf  +FAIL: ld-elf/property-seal-7
> ip2k-elf  +FAIL: ld-elf/property-seal-8
> iq2000-elf  +FAIL: ld-elf/property-seal-3
> iq2000-elf  +FAIL: ld-elf/property-seal-4
> iq2000-elf  +FAIL: ld-elf/property-seal-7
> iq2000-elf  +FAIL: ld-elf/property-seal-8
> lm32-elf  +FAIL: ld-elf/property-seal-7
> lm32-elf  +FAIL: ld-elf/property-seal-8
> loongarch32-elf  +FAIL: ld-elf/property-seal-7
> loongarch32-elf  +FAIL: ld-elf/property-seal-8
> m32c-elf  +FAIL: ld-elf/property-seal-7
> m32c-elf  +FAIL: ld-elf/property-seal-8
> m32r-elf  +FAIL: ld-elf/property-seal-7
> m32r-elf  +FAIL: ld-elf/property-seal-8
> m68hc11-elf  +FAIL: ld-elf/property-seal-7
> m68hc11-elf  +FAIL: ld-elf/property-seal-8
> m68hc12-elf  +FAIL: ld-elf/property-seal-7
> m68hc12-elf  +FAIL: ld-elf/property-seal-8
> mcore-elf  +FAIL: ld-elf/property-seal-7
> mcore-elf  +FAIL: ld-elf/property-seal-8
> mep-elf  +FAIL: ld-elf/property-seal-7
> mep-elf  +FAIL: ld-elf/property-seal-8
> microblaze-elf  +FAIL: ld-elf/property-seal-7
> microblaze-elf  +FAIL: ld-elf/property-seal-8
> mn10200-elf  +FAIL: ld-elf/property-seal-3
> mn10200-elf  +FAIL: ld-elf/property-seal-4
> mn10200-elf  +FAIL: ld-elf/property-seal-7
> mn10200-elf  +FAIL: ld-elf/property-seal-8
> moxie-elf  +FAIL: ld-elf/property-seal-7
> moxie-elf  +FAIL: ld-elf/property-seal-8
> msp430-elf  +FAIL: ld-elf/property-seal-3
> msp430-elf  +FAIL: ld-elf/property-seal-4
> msp430-elf  +FAIL: ld-elf/property-seal-7
> msp430-elf  +FAIL: ld-elf/property-seal-8
> mt-elf  +FAIL: ld-elf/property-seal-3
> mt-elf  +FAIL: ld-elf/property-seal-4
> mt-elf  +FAIL: ld-elf/property-seal-7
> mt-elf  +FAIL: ld-elf/property-seal-8
> nds32be-elf  +FAIL: ld-elf/property-seal-7
> nds32be-elf  +FAIL: ld-elf/property-seal-8
> or1k-elf  +FAIL: ld-elf/property-seal-7
> or1k-elf  +FAIL: ld-elf/property-seal-8
> pj-elf  +FAIL: ld-elf/property-seal-3
> pj-elf  +FAIL: ld-elf/property-seal-4
> pj-elf  +FAIL: ld-elf/property-seal-7
> pj-elf  +FAIL: ld-elf/property-seal-8
> pru-elf  +FAIL: ld-elf/property-seal-7
> pru-elf  +FAIL: ld-elf/property-seal-8
> riscv32-elf  +FAIL: ld-elf/property-seal-7
> riscv32-elf  +FAIL: ld-elf/property-seal-8
> rl78-elf  +FAIL: ld-elf/property-seal-7
> rl78-elf  +FAIL: ld-elf/property-seal-8
> rx-elf  +FAIL: ld-elf/property-seal-7
> rx-elf  +FAIL: ld-elf/property-seal-8
> s12z-elf  +FAIL: ld-elf/property-seal-3
> s12z-elf  +FAIL: ld-elf/property-seal-4
> s12z-elf  +FAIL: ld-elf/property-seal-7
> s12z-elf  +FAIL: ld-elf/property-seal-8
> sh4-linux-gnu  +ERROR: tcl error sourcing /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/audit.exp.
> sh4-linux-gnu  +ERROR: tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR: can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR: tcl error sourcing /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/compress.exp.
> sh4-linux-gnu  +ERROR: tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR: can't read "board_flags": no such variable
> sh4-linux-gnu  -FAIL: Handle no DWARF information
> sh4-linux-gnu  +ERROR: tcl error sourcing /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/dwarf.exp.
> sh4-linux-gnu  +ERROR: tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR: can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR: tcl error sourcing /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/elf.exp.
> sh4-linux-gnu  +ERROR: tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR: can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR: tcl error sourcing /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/indirect.exp.
> sh4-linux-gnu  +ERROR: tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR: can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR: tcl error sourcing /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/no-section-header.exp.
> sh4-linux-gnu  +ERROR: tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR: can't read "board_flags": no such variable
> sh4-linux-gnu  -FAIL: pr22269-1 (static pie undefined weak)
> sh4-linux-gnu  -FAIL: Run pr19579
> sh4-linux-gnu  -FAIL: Run pr19579 (-z now)
> sh4-linux-gnu  +ERROR: tcl error sourcing /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/shared.exp.
> sh4-linux-gnu  +ERROR: tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR: can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR: tcl error sourcing /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/wrap.exp.
> sh4-linux-gnu  +ERROR: tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR: can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR: tcl error sourcing /home/alan/src/binutils-gdb/ld/testsuite/ld-gc/gc.exp.
> sh4-linux-gnu  +ERROR: tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR: can't read "board_flags": no such variable
> sh4-linux-gnu  -FAIL: PR ld/12760
> sh4-linux-gnu  +ERROR: tcl error sourcing /home/alan/src/binutils-gdb/ld/testsuite/ld-plugin/lto.exp.
> sh4-linux-gnu  +ERROR: tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR: can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR: -------------------------------------------
> sh4-linux-gnu  +ERROR: in testcase /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/audit.exp
> sh4-linux-gnu  +ERROR:  can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR:  tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR:  tcl error info:
> sh4-linux-gnu  +ERROR: -------------------------------------------
> sh4-linux-gnu  +ERROR: in testcase /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/compress.exp
> sh4-linux-gnu  +ERROR:  can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR:  tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR:  tcl error info:
> sh4-linux-gnu  +ERROR: -------------------------------------------
> sh4-linux-gnu  +ERROR: in testcase /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/dwarf.exp
> sh4-linux-gnu  +ERROR:  can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR:  tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR:  tcl error info:
> sh4-linux-gnu  +ERROR: -------------------------------------------
> sh4-linux-gnu  +ERROR: in testcase /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/elf.exp
> sh4-linux-gnu  +ERROR:  can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR:  tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR:  tcl error info:
> sh4-linux-gnu  +ERROR: -------------------------------------------
> sh4-linux-gnu  +ERROR: in testcase /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/indirect.exp
> sh4-linux-gnu  +ERROR:  can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR:  tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR:  tcl error info:
> sh4-linux-gnu  +ERROR: -------------------------------------------
> sh4-linux-gnu  +ERROR: in testcase /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/no-section-header.exp
> sh4-linux-gnu  +ERROR:  can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR:  tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR:  tcl error info:
> sh4-linux-gnu  +ERROR: -------------------------------------------
> sh4-linux-gnu  +ERROR: in testcase /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/shared.exp
> sh4-linux-gnu  +ERROR:  can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR:  tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR:  tcl error info:
> sh4-linux-gnu  +ERROR: -------------------------------------------
> sh4-linux-gnu  +ERROR: in testcase /home/alan/src/binutils-gdb/ld/testsuite/ld-elf/wrap.exp
> sh4-linux-gnu  +ERROR:  can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR:  tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR:  tcl error info:
> sh4-linux-gnu  +ERROR: -------------------------------------------
> sh4-linux-gnu  +ERROR: in testcase /home/alan/src/binutils-gdb/ld/testsuite/ld-gc/gc.exp
> sh4-linux-gnu  +ERROR:  can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR:  tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR:  tcl error info:
> sh4-linux-gnu  +ERROR: -------------------------------------------
> sh4-linux-gnu  +ERROR: in testcase /home/alan/src/binutils-gdb/ld/testsuite/ld-plugin/lto.exp
> sh4-linux-gnu  +ERROR:  can't read "board_flags": no such variable
> sh4-linux-gnu  +ERROR:  tcl error code TCL READ VARNAME
> sh4-linux-gnu  +ERROR:  tcl error info:
> spu-elf  +FAIL: ld-elf/property-seal-3
> spu-elf  +FAIL: ld-elf/property-seal-4
> spu-elf  +FAIL: ld-elf/property-seal-7
> spu-elf  +FAIL: ld-elf/property-seal-8
> v850-elf  +FAIL: ld-elf/property-seal-7
> v850-elf  +FAIL: ld-elf/property-seal-8
> visium-elf  +FAIL: ld-elf/property-seal-7
> visium-elf  +FAIL: ld-elf/property-seal-8
> xgate-elf  +FAIL: ld-elf/property-seal-3
> xgate-elf  +FAIL: ld-elf/property-seal-4
> xgate-elf  +FAIL: ld-elf/property-seal-7
> xgate-elf  +FAIL: ld-elf/property-seal-8
> xstormy16-elf  +FAIL: ld-elf/property-seal-7
> xstormy16-elf  +FAIL: ld-elf/property-seal-8
> z80-elf  +FAIL: ld-elf/property-seal-7
> z80-elf  +FAIL: ld-elf/property-seal-8
> 
> I'm applying the following to fix the sh4-linux-gnu failures:
> 
> Commit 80dc29527ff9 accidentally removed an assignment to board_flags,
> resulting in tcl errors 'can't read "board_flags": no such variable'
> on sh4-linux-gnu.  Fix that by calling [get_board_flags] in the
> condition rather than reinstating the removed line since it seems most
> configurations don't have a null STATIC_LDFLAGS.  Do the same in
> another similar test too.

Sorry about that, I was about to get what I have messed up on testing.
I will be more careful.

> 
> diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
> index 3fd445b37b8..74125ac1983 100644
> --- a/ld/testsuite/lib/ld-lib.exp
> +++ b/ld/testsuite/lib/ld-lib.exp
> @@ -794,9 +794,8 @@ proc run_ld_link_exec_tests { ldtests args } {
>  	    pass $testname
>  	    continue;
>  	} else {
> -	    set board_flags [get_board_flags]
>  	    if { [string match "" $STATIC_LDFLAGS] \
> -		 && [regexp -- ".* \[-\]+static .*" " $board_flags $ld_options $objfiles $ld_after "] } {
> +		 && [regexp -- ".* \[-\]+static .*" " [get_board_flags] $ld_options $objfiles $ld_after "] } {
>  		untested $testname
>  		continue
>  	    }
> @@ -987,7 +986,7 @@ proc run_cc_link_tests { ldtests } {
>  	    }
>  
>  	    if { [string match "" $STATIC_LDFLAGS] \
> -		 && [regexp -- ".* \[-\]+static .*" " $board_flags $ldflags $objfiles "] } {
> +		 && [regexp -- ".* \[-\]+static .*" " [get_board_flags] $ldflags $objfiles "] } {
>  		untested $testname
>  		continue
>  	    }
> 
> 



More information about the Binutils mailing list