From: Stuart Henderson Subject: Re: devel/gas: update to 2.45 To: ports@openbsd.org, pascal@stumpf.co Date: Fri, 8 Aug 2025 09:46:25 +0100 On 2025/08/05 17:02, Stuart Henderson wrote: > gas itself builds ok on i386. I haven't tried building other ports > with it yet. No issues with a full ports bulk build on i386. > 'make test' fails if dejagnu is installed, > > | : i386.p; make test > | ===> Regression tests for gas-2.45 > | gmake[1]: Entering directory '/pobj/gas-2.45/binutils-2.45' > | gmake[2]: Entering directory '/pobj/gas-2.45/binutils-2.45/bfd' > | gmake check-recursive > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/bfd' > | Making check in po > | gmake[4]: Entering directory '/pobj/gas-2.45/binutils-2.45/bfd/po' > | gmake[4]: Nothing to be done for 'check'. > | gmake[4]: Leaving directory '/pobj/gas-2.45/binutils-2.45/bfd/po' > | gmake[4]: Entering directory '/pobj/gas-2.45/binutils-2.45/bfd' > | gmake[4]: Circular doc/bfd.stamp <- doc/bfd.texi dependency dropped. > | gmake[4]: Leaving directory '/pobj/gas-2.45/binutils-2.45/bfd' > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/bfd' > | gmake[2]: Leaving directory '/pobj/gas-2.45/binutils-2.45/bfd' > | gmake[2]: Entering directory '/pobj/gas-2.45/binutils-2.45/opcodes' > | Making check in . > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/opcodes' > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/opcodes' > | Making check in po > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/opcodes/po' > | gmake[3]: Nothing to be done for 'check'. > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/opcodes/po' > | gmake[2]: Leaving directory '/pobj/gas-2.45/binutils-2.45/opcodes' > | gmake[2]: Entering directory '/pobj/gas-2.45/binutils-2.45/etc' > | gmake[2]: Nothing to be done for 'check'. > | gmake[2]: Leaving directory '/pobj/gas-2.45/binutils-2.45/etc' > | gmake[2]: Entering directory '/pobj/gas-2.45/binutils-2.45/gas' > | Making check in po > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/gas/po' > | gmake[3]: Nothing to be done for 'check'. > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/gas/po' > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/gas' > | rm -f doc/asconfig.texi > | cp ./doc/all.texi doc/asconfig.texi && touch -m -r ./doc/all.texi doc/asconfig.texi > | chmod u+w doc/asconfig.texi > | gmake check-DEJAGNU > | gmake[4]: Entering directory '/pobj/gas-2.45/binutils-2.45/gas' > | if [ -d testsuite ]; then \ > | true; \ > | else \ > | mkdir testsuite; \ > | fi > | rm -f testsuite/site.exp > | cp site.exp testsuite/site.exp > | rootme=`pwd`; export rootme; \ > | srcdir=`cd .; pwd` ; export srcdir ; \ > | LC_ALL=C; export LC_ALL; \ > | EXPECT=expect ; export EXPECT ; \ > | runtest=runtest; \ > | cd testsuite; \ > | if /bin/sh -c "$runtest --version" > /dev/null 2>&1; then \ > | $runtest --tool gas --srcdir ${srcdir}/testsuite \ > | ; \ > | else echo "WARNING: could not find \`runtest'" 1>&2; :;\ > | fi > | WARNING: Couldn't find the global config file. > | WARNING: Couldn't find tool init file > | Test Run By _pbuild on Tue Aug 5 10:01:03 2025 > | Native configuration is i386-unknown-openbsd7.7 > | > | === gas tests === > | > | Schedule of variations: > | unix > | > | Running target unix > | Using /usr/local/share/dejagnu/baseboards/unix.exp as board description file for target. > | Using /usr/local/share/dejagnu/config/unix.exp as generic interface file for target. > | Using /pobj/gas-2.45/binutils-2.45/gas/testsuite/config/default.exp as tool-and-target-specific interface file. > | Running /pobj/gas-2.45/binutils-2.45/gas/testsuite/gas/aarch64/aarch64.exp ... > | Running /pobj/gas-2.45/binutils-2.45/gas/testsuite/gas/aarch64/codeview.exp ... > | Running /pobj/gas-2.45/binutils-2.45/gas/testsuite/gas/aarch64/sysreg/aarch64-sysreg.exp ... > | Running /pobj/gas-2.45/binutils-2.45/gas/testsuite/gas/all/gas.exp ... > | ERROR: (DejaGnu) proc "get_relative_path /pobj/gas-2.45/binutils-2.45/gas/testsuite/gas/all tmpdir/none.s" does not exist. > | The error code is NONE > | The info on the error is: > | invalid command name "get_relative_path" > | while executing > | "::tcl_unknown get_relative_path /pobj/gas-2.45/binutils-2.45/gas/testsuite/gas/all tmpdir/none.s" > | ("uplevel" body line 1) > | invoked from within > | "uplevel 1 ::tcl_unknown $args" > | > | === gas Summary === > | > | # of expected passes 7 > | ../as-new 2.45 > | > | gmake[4]: *** [Makefile:2064: check-DEJAGNU] Error 1 > | gmake[4]: Leaving directory '/pobj/gas-2.45/binutils-2.45/gas' > | gmake[3]: *** [Makefile:1807: check-am] Error 2 > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/gas' > | gmake[2]: *** [Makefile:1676: check-recursive] Error 1 > | gmake[2]: Leaving directory '/pobj/gas-2.45/binutils-2.45/gas' > | gmake[1]: *** [Makefile:5238: check-gas] Error 2 > | gmake[1]: Leaving directory '/pobj/gas-2.45/binutils-2.45' > | gmake: *** [Makefile:2560: do-check] Error 2 > | *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:3105 '/pobj/gas-2.45/.test_done': @cd /pobj/gas-2.45/binutils-2.45 && exec 3>&1 &...) > | *** Error 2 in /usr/ports/devel/gas (/usr/ports/infrastructure/mk/bsd.port.mk:2713 'test': @lock=gas-2.45; export _LOCKS_HELD=" gas-2.45"; ...) > > but looks good (apart from missing tests) if dejagnu is _not_ installed: > > | : i386.p; make test > | ===> Regression tests for gas-2.45 > | gmake[1]: Entering directory '/pobj/gas-2.45/binutils-2.45' > | gmake[2]: Entering directory '/pobj/gas-2.45/binutils-2.45/bfd' > | gmake check-recursive > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/bfd' > | Making check in po > | gmake[4]: Entering directory '/pobj/gas-2.45/binutils-2.45/bfd/po' > | gmake[4]: Nothing to be done for 'check'. > | gmake[4]: Leaving directory '/pobj/gas-2.45/binutils-2.45/bfd/po' > | gmake[4]: Entering directory '/pobj/gas-2.45/binutils-2.45/bfd' > | gmake[4]: Circular doc/bfd.stamp <- doc/bfd.texi dependency dropped. > | gmake[4]: Leaving directory '/pobj/gas-2.45/binutils-2.45/bfd' > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/bfd' > | gmake[2]: Leaving directory '/pobj/gas-2.45/binutils-2.45/bfd' > | gmake[2]: Entering directory '/pobj/gas-2.45/binutils-2.45/opcodes' > | Making check in . > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/opcodes' > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/opcodes' > | Making check in po > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/opcodes/po' > | gmake[3]: Nothing to be done for 'check'. > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/opcodes/po' > | gmake[2]: Leaving directory '/pobj/gas-2.45/binutils-2.45/opcodes' > | gmake[2]: Entering directory '/pobj/gas-2.45/binutils-2.45/etc' > | gmake[2]: Nothing to be done for 'check'. > | gmake[2]: Leaving directory '/pobj/gas-2.45/binutils-2.45/etc' > | gmake[2]: Entering directory '/pobj/gas-2.45/binutils-2.45/gas' > | Making check in po > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/gas/po' > | gmake[3]: Nothing to be done for 'check'. > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/gas/po' > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/gas' > | rm -f doc/asconfig.texi > | cp ./doc/all.texi doc/asconfig.texi && touch -m -r ./doc/all.texi doc/asconfig.texi > | chmod u+w doc/asconfig.texi > | gmake check-DEJAGNU > | gmake[4]: Entering directory '/pobj/gas-2.45/binutils-2.45/gas' > | /usr/bin/egrep "(development|experimental)=" ./../bfd/development.sh \ > | | awk -F= '{ print "set " $1 " " $2 }' > development.exp > | Making a new site.exp file ... > | if [ -d testsuite ]; then \ > | true; \ > | else \ > | mkdir testsuite; \ > | fi > | rm -f testsuite/site.exp > | cp site.exp testsuite/site.exp > | rootme=`pwd`; export rootme; \ > | srcdir=`cd .; pwd` ; export srcdir ; \ > | LC_ALL=C; export LC_ALL; \ > | EXPECT=expect ; export EXPECT ; \ > | runtest=runtest; \ > | cd testsuite; \ > | if /bin/sh -c "$runtest --version" > /dev/null 2>&1; then \ > | $runtest --tool gas --srcdir ${srcdir}/testsuite \ > | ; \ > | else echo "WARNING: could not find \`runtest'" 1>&2; :;\ > | fi > | WARNING: could not find `runtest' > | gmake[4]: Leaving directory '/pobj/gas-2.45/binutils-2.45/gas' > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/gas' > | gmake[2]: Leaving directory '/pobj/gas-2.45/binutils-2.45/gas' > | gmake[2]: Entering directory '/pobj/gas-2.45/binutils-2.45/libiberty' > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/libiberty/testsuite' > | cc -DHAVE_CONFIG_H -O2 -pipe -I.. -I./../../include -o test-demangle \ > | ./test-demangle.c ../libiberty.a > | ld.lld: warning: cp-demangle.c(cp-demangle.o:(cplus_demangle_type) in archive ../libiberty.a): warning: sprintf() is often misused, please use snprintf() > | ld.lld: warning: cplus-dem.c(cplus-dem.o:(ada_demangle) in archive ../libiberty.a): warning: strcpy() is almost always misused, please use strlcpy() > | ./test-demangle < ./demangle-expected > | ./test-demangle: 418 tests, 0 failures > | ./test-demangle < ./d-demangle-expected > | ./test-demangle: 365 tests, 0 failures > | ./test-demangle < ./rust-demangle-expected > | ./test-demangle: 75 tests, 0 failures > | cc -DHAVE_CONFIG_H -O2 -pipe -I.. -I./../../include -DHAVE_CONFIG_H -I.. -o test-pexecute \ > | ./test-pexecute.c ../libiberty.a > | ld.lld: warning: xstrerror.c(xstrerror.o:(xstrerror) in archive ../libiberty.a): warning: sprintf() is often misused, please use snprintf() > | ld.lld: warning: make-temp-file.c(make-temp-file.o:(choose_tmpdir) in archive ../libiberty.a): warning: strcpy() is almost always misused, please use strlcpy() > | ./test-pexecute > | cc -DHAVE_CONFIG_H -O2 -pipe -I.. -I./../../include -DHAVE_CONFIG_H -I.. -o test-expandargv \ > | ./test-expandargv.c ../libiberty.a > | ld.lld: warning: xstrerror.c(xstrerror.o:(xstrerror) in archive ../libiberty.a): warning: sprintf() is often misused, please use snprintf() > | ./test-expandargv > | PASS: test-buildargv-0. > | PASS: test-expandargv-0. > | PASS: test-buildargv-1. > | PASS: test-expandargv-1. > | PASS: test-buildargv-2. > | PASS: test-expandargv-2. > | PASS: test-buildargv-3. > | PASS: test-expandargv-3. > | PASS: test-buildargv-4. > | PASS: test-expandargv-4. > | PASS: test-buildargv-5. > | PASS: test-expandargv-5. > | PASS: test-buildargv-6. > | PASS: test-expandargv-6. > | PASS: test-buildargv-7. > | PASS: test-expandargv-7. > | PASS: test-buildargv-8. > | PASS: test-expandargv-8. > | PASS: test-buildargv-9. > | PASS: test-expandargv-9. > | PASS: test-buildargv-10. > | PASS: test-expandargv-10. > | PASS: test-buildargv-11. > | PASS: test-expandargv-11. > | PASS: test-buildargv-12. > | PASS: test-expandargv-12. > | cc -DHAVE_CONFIG_H -O2 -pipe -I.. -I./../../include -DHAVE_CONFIG_H -I.. -o test-strtol \ > | ./test-strtol.c ../libiberty.a > | ./test-strtol > | PASS: test-strtol-0. > | PASS: test-strtol-1. > | PASS: test-strtol-2. > | PASS: test-strtol-3. > | PASS: test-strtol-4. > | PASS: test-strtol-5. > | PASS: test-strtol-6. > | PASS: test-strtol-7. > | PASS: test-strtol-8. > | PASS: test-strtol-9. > | PASS: test-strtol-10. > | PASS: test-strtol-11. > | PASS: test-strtol-12. > | PASS: test-strtol-13. > | PASS: test-strtol-14. > | PASS: test-strtol-15. > | PASS: test-strtol-16. > | PASS: test-strtol-17. > | PASS: test-strtol-18. > | PASS: test-strtol-19. > | PASS: test-strtol-20. > | PASS: test-strtol-21. > | PASS: test-strtol-22. > | PASS: test-strtol-23. > | cc -DHAVE_CONFIG_H -O2 -pipe -I.. -I./../../include -DHAVE_CONFIG_H -I.. -o test-doubly-linked-list \ > | ./test-doubly-linked-list.c > | ./test-doubly-linked-list > | 10 4 3 1 9 2 > | PASS: test-linked-list::append: check forward conformity > | 2 9 1 3 4 10 > | PASS: test-linked-list::append: check backward conformity > | > | 1 2 3 4 9 10 > | PASS: test-linked-list::sort: check forward conformity > | 10 9 4 3 2 1 > | PASS: test-linked-list::sort: check backward conformity > | > | 11 1 2 3 4 9 10 > | PASS: test-linked-list::prepend: check forward conformity > | 10 9 4 3 2 1 11 > | PASS: test-linked-list::prepend: check backward conformity > | > | 11 1 2 3 4 9 8 10 > | PASS: test-linked-list::insert_before: check forward conformity > | 10 8 9 4 3 2 1 11 > | PASS: test-linked-list::insert_before: check backward conformity > | > | 11 2 3 4 9 8 10 > | PASS: test-linked-list::remove: check forward conformity > | 10 8 9 4 3 2 11 > | PASS: test-linked-list::remove: check backward conformity > | > | 10 2 3 4 9 8 11 > | PASS: test-linked-list::swap first and last: check forward conformity > | 11 8 9 4 3 2 10 > | PASS: test-linked-list::swap first and last: check backward conformity > | > | 10 3 2 4 9 8 11 > | PASS: test-linked-list::swap adjacent nodes: check forward conformity > | 11 8 9 4 2 3 10 > | PASS: test-linked-list::swap adjacent nodes: check backward conformity > | > | 10 9 2 4 3 8 11 > | PASS: test-linked-list::swap non-adjacent nodes: check forward conformity > | 11 8 3 4 2 9 10 > | PASS: test-linked-list::swap non-adjacent nodes: check backward conformity > | > | 2 3 4 8 9 10 11 > | PASS: test-linked-list::sort: check forward conformity > | 11 10 9 8 4 3 2 > | PASS: test-linked-list::sort: check backward conformity > | > | 3 4 8 9 10 11 > | PASS: test-linked-list::pop_front: check forward conformity > | 11 10 9 8 4 3 > | PASS: test-linked-list::pop_front: check backward conformity > | > | 3 4 8 9 10 > | PASS: test-linked-list::pop_back: check forward conformity > | 10 9 8 4 3 > | PASS: test-linked-list::pop_back: check backward conformity > | > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/libiberty/testsuite' > | gmake[2]: Leaving directory '/pobj/gas-2.45/binutils-2.45/libiberty' > | gmake[2]: Entering directory '/pobj/gas-2.45/binutils-2.45/libctf' > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/libctf' > | gmake check-DEJAGNU > | gmake[4]: Entering directory '/pobj/gas-2.45/binutils-2.45/libctf' > | /usr/bin/egrep "(development|experimental)=" ./../bfd/development.sh \ > | | awk -F= '{ print "set " $1 " " $2 }' > development.exp > | echo "set have_tcl_try false" >> development.exp > | Making a new site.exp file ... > | srcroot=`cd . && pwd`; export srcroot; \ > | r=`pwd`; export r; \ > | LC_ALL=C; export LC_ALL; \ > | EXPECT=expect; export EXPECT; \ > | if [ "i386-unknown-openbsd7.7" = "i386-unknown-openbsd7.7" ] ; then \ > | TEST_CROSS=no; \ > | else \ > | TEST_CROSS=yes; \ > | fi; \ > | runtest=runtest; \ > | if /bin/sh -c "$runtest --version" > /dev/null 2>&1; then \ > | $runtest --tool libctf --srcdir ${srcroot}/testsuite \ > | CC="cc" CC_FOR_TARGET="cc" TEST_CROSS="${TEST_CROSS}" \ > | CFLAGS="-O2 -pipe -I./../include -I. -I. -I./../bfd " \ > | LIBS="-L/pobj/gas-2.45/binutils-2.45/libctf/../libiberty -liberty -lz " ; \ > | else echo "WARNING: could not find \`runtest'" 1>&2; :;\ > | fi > | WARNING: could not find `runtest' > | gmake[4]: Leaving directory '/pobj/gas-2.45/binutils-2.45/libctf' > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/libctf' > | gmake[2]: Leaving directory '/pobj/gas-2.45/binutils-2.45/libctf' > | gmake[2]: Entering directory '/pobj/gas-2.45/binutils-2.45/libsframe' > | gmake > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/libsframe' > | gmake all-am > | gmake[4]: Entering directory '/pobj/gas-2.45/binutils-2.45/libsframe' > | gmake[4]: Leaving directory '/pobj/gas-2.45/binutils-2.45/libsframe' > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/libsframe' > | gmake check-DEJAGNU > | gmake[3]: Entering directory '/pobj/gas-2.45/binutils-2.45/libsframe' > | Making a new site.exp file ... > | srcroot=`cd . && pwd`; export srcroot; \ > | r=`pwd`; export r; \ > | LC_ALL=C; export LC_ALL; \ > | EXPECT=expect; export EXPECT; \ > | runtest=runtest; \ > | if /bin/sh -c "$runtest --version" > /dev/null 2>&1; then \ > | $runtest --tool libsframe --srcdir ${srcroot}/testsuite \ > | CC="cc" \ > | CROSS_COMPILE="" \ > | COMPAT_DEJAGNU="no" \ > | CFLAGS="-O2 -pipe -I./../include -I. -I." \ > | ; \ > | else echo "WARNING: could not find \`runtest'" 1>&2; :;\ > | fi > | WARNING: could not find `runtest' > | gmake[3]: Leaving directory '/pobj/gas-2.45/binutils-2.45/libsframe' > | gmake[2]: Leaving directory '/pobj/gas-2.45/binutils-2.45/libsframe' > | gmake[1]: Nothing to be done for 'check-target'. > | gmake[1]: Leaving directory '/pobj/gas-2.45/binutils-2.45' >