diff options
Diffstat (limited to 'system/binutils/ar-deterministic-tests.patch')
-rw-r--r-- | system/binutils/ar-deterministic-tests.patch | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/system/binutils/ar-deterministic-tests.patch b/system/binutils/ar-deterministic-tests.patch new file mode 100644 index 000000000..f3f63b937 --- /dev/null +++ b/system/binutils/ar-deterministic-tests.patch @@ -0,0 +1,67 @@ +From: Stephen Kitt <steve@sk2.org> +Date: Mon, 11 Mar 2024 07:21:47 +0000 (+0100) +Subject: tests: force non-deterministic mode in non-deterministic tests +X-Git-Tag: gdb-15-branchpoint~761 +X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=64e215c15bc316f673161c76db93a50bda45666a;hp=5790996072837620a8fd3756dda5138eb2f2781b + +tests: force non-deterministic mode in non-deterministic tests + +Since ar can be built defaulting to deterministic mode, tests which +expect non-deterministic behaviour need to explicitly set the U flag. + +The non-deterministic member test expects SOURCE_DATE_EPOCH to not be +set; this documents that. Unconditionally unsetting the variable +causes issues in test infrastructure (which expects unsetenv to only +be called on variables which are already set). + +Signed-off-by: Stephen Kitt <steve@sk2.org> +--- + +diff --git a/binutils/testsuite/binutils-all/ar.exp b/binutils/testsuite/binutils-all/ar.exp +index d4e4f64b42e..998cbe1f0a9 100644 +--- a/binutils/testsuite/binutils-all/ar.exp ++++ b/binutils/testsuite/binutils-all/ar.exp +@@ -538,6 +538,7 @@ proc replacing_deterministic_member { } { + } + + # Test replacing a member of a non-deterministic archive. ++# This test expects SOURCE_DATE_EPOCH to not be set in the environment. + + proc replacing_non_deterministic_member { } { + global AR +@@ -581,7 +582,7 @@ proc replacing_non_deterministic_member { } { + + # Build the archive with the *newer* object file. + +- set got [binutils_run $AR "rc $archive ${newer_objfile}"] ++ set got [binutils_run $AR "rcU $archive ${newer_objfile}"] + if ![string match "" $got] { + fail "$testname: (could not build archive)" + return +@@ -589,7 +590,7 @@ proc replacing_non_deterministic_member { } { + + # Now try to replace the newer file with the older one. This should not work. + +- set got [binutils_run $AR "ru $archive $older_objfile"] ++ set got [binutils_run $AR "ruU $archive $older_objfile"] + if ![string match "" $got] { + fail "$testname: (failed to replace file)" + return +@@ -651,7 +652,7 @@ proc replacing_sde_deterministic_member { } { + # Build the archive with the *newer* object file. + setenv SOURCE_DATE_EPOCH "1000" + +- set got [binutils_run $AR "rc $archive ${newer_objfile}"] ++ set got [binutils_run $AR "rcU $archive ${newer_objfile}"] + if ![string match "" $got] { + fail "$testname: (could not build archive)" + unsetenv SOURCE_DATE_EPOCH +@@ -662,7 +663,7 @@ proc replacing_sde_deterministic_member { } { + # archive this will not work, but one created to be deterministic + # should always replace its members. + +- set got [binutils_run $AR "ru $archive $older_objfile"] ++ set got [binutils_run $AR "ruU $archive $older_objfile"] + if ![string match "" $got] { + fail "$testname: (failed to replace file)" + unsetenv SOURCE_DATE_EPOCH |