[PATCH] ld: Skip p33265-2 and pr33265-2 tests on Windows
Jan Dubiec
jdx@o2.pl
Mon Jun 29 07:27:22 GMT 2026
These tests are expected to fail on Windows because by default maximum path length
is only 260 characters:
https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry
Theoretically the issue could be fixed in two ways, as pointed in the linked article:
1. using the "\\?\" prefix, but this probably requires a lot of work
and should be done "binutils-wide", i.e. all tools should be reviewed
from this point of view,
2. using manifest file, but this still would require an action from
the user – they would have to turn on long paths support in the
Windows registry.
Excerpt from the log:
[...]
PASS: ld-scripts/pr33265-1
/d/Works/xcomp/build-binutils-h8300-mingw/ld/../gas/as-new -o tmpdir/start.o /d/Works/binutils/ld/testsuite/ld-scripts/start.s
Executing on host: sh -c {/d/Works/xcomp/build-binutils-h8300-mingw/ld/../gas/as-new -o tmpdir/start.o /d/Works/binutils/ld/testsuite/ld-scripts/start.s 2>&1} /dev/null dump.tmp (timeout = 300)
spawn [open ...]
./ld-new -L/d/Works/binutils/ld/testsuite/ld-scripts -r --whole-archive -lpr33265-2 -o tmpdir/dump tmpdir/start.o
Executing on host: sh -c {./ld-new -L/d/Works/binutils/ld/testsuite/ld-scripts -r --whole-archive -lpr33265-2 -o tmpdir/dump tmpdir/start.o 2>&1} /dev/null dump.tmp (timeout = 300)
spawn [open ...]
D:\Works\xcomp\build-binutils-h8300-mingw\ld\ld-new.exe: cannot open linker script file D:/Works/binutils/ld/testsuite/ld-scripts\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\./././././/libpr33265-2.a: No such file or directory
failed with: <\Works\xcomp\build-binutils-h8300-mingw\ld\ld-new.exe: cannot open linker script file D:/Works/binutils/ld/testsuite/ld-scripts\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\./././././/libpr33265-2.a: No such file or directory>, expected: <.*group nested too deeply.*>
FAIL: ld-scripts/pr33265-2
/d/Works/xcomp/build-binutils-h8300-mingw/ld/../gas/as-new -o tmpdir/start.o /d/Works/binutils/ld/testsuite/ld-scripts/start.s
Executing on host: sh -c {/d/Works/xcomp/build-binutils-h8300-mingw/ld/../gas/as-new -o tmpdir/start.o /d/Works/binutils/ld/testsuite/ld-scripts/start.s 2>&1} /dev/null dump.tmp (timeout = 300)
spawn [open ...]
./ld-new -L/d/Works/binutils/ld/testsuite/ld-scripts -r --whole-archive -lpr33265-3a -o tmpdir/dump tmpdir/start.o
Executing on host: sh -c {./ld-new -L/d/Works/binutils/ld/testsuite/ld-scripts -r --whole-archive -lpr33265-3a -o tmpdir/dump tmpdir/start.o 2>&1} /dev/null dump.tmp (timeout = 300)
spawn [open ...]
D:\Works\xcomp\build-binutils-h8300-mingw\ld\ld-new.exe: cannot open linker script file D:/Works/binutils/ld/testsuite/ld-scripts\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\./././././/libpr33265-3b.a: No such file or directory
failed with: <\Works\xcomp\build-binutils-h8300-mingw\ld\ld-new.exe: cannot open linker script file D:/Works/binutils/ld/testsuite/ld-scripts\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\././././.\./././././/libpr33265-3b.a: No such file or directory>, expected: <.*group nested too deeply.*>
FAIL: ld-scripts/pr33265-3
testcase /d/Works/binutils/ld/testsuite/ld-scripts/script.exp completed in 6 seconds
[...]
ld/
* testsuite/ld-scripts/script.exp: Skip p33265-2 and pr33265-2
tests on Windows because default path length is too short.
---
ld/testsuite/ld-scripts/script.exp | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/ld/testsuite/ld-scripts/script.exp b/ld/testsuite/ld-scripts/script.exp
index ff65e397b6b..4ac338589e1 100644
--- a/ld/testsuite/ld-scripts/script.exp
+++ b/ld/testsuite/ld-scripts/script.exp
@@ -246,7 +246,11 @@ run_dump_test "segment-start" {{name (overridden)} \
{ld -Ttext-segment=0x10000000}}
run_dump_test "pr33265-1"
-run_dump_test "pr33265-2"
-run_dump_test "pr33265-3"
+# On Windows hosts the following two cases are expected to fail because
+# by default maximum path length is only 260 characters.
+if { ![ishost *-mingw*] } {
+ run_dump_test "pr33265-2"
+ run_dump_test "pr33265-3"
+}
set LDFLAGS $old_LDFLAGS
--
2.54.0
More information about the Binutils
mailing list