Skip linker-output-non-utf8 test on Apple

This test fails on APFS filesystems with the following error:

mkdir: /Users/ryan/Code/rust/build/x86_64-apple-darwin/test/run-make/linker-output-non-utf8.stage2-x86_64-apple-darwin/zzz�: Illegal byte sequence

This is due to APFS now requiring that all paths are valid UTF-8. As
APFS will be the default filesystem for all new Darwin-based systems the
most straightforward fix is to skip this test on Darwin as well as
Windows.
This commit is contained in:
Ryan Cumming 2018-01-09 19:54:13 +11:00
parent 74966b5cb8
commit a713c67a68

View file

@ -2,15 +2,12 @@
# Make sure we don't ICE if the linker prints a non-UTF-8 error message.
ifdef IS_WINDOWS
# ignore windows
# Ignore Windows and Apple
# This does not work in its current form on windows, possibly due to
# gcc bugs or something about valid Windows paths. See issue #29151
# for more information.
all:
else
# This does not work in its current form on Windows or Apple APFS due
# to their filesystems requiring paths to be valid Unicode.
ifndef IS_WINDOWS
ifneq ($(shell uname),Darwin)
# The zzz it to allow humans to tab complete or glob this thing.
bad_dir := $(TMPDIR)/zzz$$'\xff'
@ -20,5 +17,12 @@ all:
mkdir $(bad_dir)
mv $(TMPDIR)/liblibrary.a $(bad_dir)
LIBRARY_PATH=$(bad_dir) $(RUSTC) exec.rs 2>&1 | $(CGREP) this_symbol_not_defined
else
all:
endif
else
all:
endif