On Tue, 1 Dec 2020, Martin Storsjö wrote: > On Xcode 12.2 on macOS 11.0 on arm64, the following sequence fails to build: > > $ ./gnulib-tool --create-testdir --dir=/tmp/testdir-posix \ > --single-configure --avoid=havelib-tests \ > `./posix-modules` > $ cd /tmp/testdir-posix > $ ./configure CPPFLAGS=-Wall 2>&1 | tee log1 > $ make 2>&1 | tee log2 > $ make check 2>&1 | tee log3 > > > The "make" step fails with the following error: > > gcc -g -O2 -o test-dprintf-posix2 test-dprintf-posix2.o libtests.a > ../gllib/libgnu.a libtests.a ../gllib/libgnu.a libtests.a > Undefined symbols for architecture arm64: > "_vm_region", referenced from: > _vma_iterate in libtests.a(vma-iter.o) > ld: symbol(s) not found for architecture arm64 > > > This same bit does succeed on x86_64 though - it looks like > gnulib/lib/vma-iter.c has a macos specific arch check like this: > > # if defined __ppc64__ || defined __x86_64__ > > This probably needs to be amended with "|| defined __aarch64__". > > On macOS 10.15.7 (Catalina) on x86_64, both with Xcode 11.7 and 12.2, the > following tests fail: > > FAIL: test-dprintf-posix2.sh > FAIL: test-fflush2.sh > FAIL: test-fprintf-posix3.sh > FAIL: test-fpurge > FAIL: test-ftell.sh > FAIL: test-ftell2.sh > FAIL: test-ftello.sh > FAIL: test-ftello2.sh > FAIL: test-futimens > FAIL: test-renameat > FAIL: test-renameatu > FAIL: test-strsignal > FAIL: test-utime > FAIL: test-utimens > FAIL: test-utimensat FWIW, after fixing the vma-iter ifdef, the same tests fail in the same way on arm64 as on x86_64 (except that test-dprintf-posix2.sh doesn't seem to fail there). So in any case, if the tests are made to pass on existing x86_64, they'll most probably work just the same way on arm64. // Martin