From: Stuart Henderson Subject: Re: devel/gas: update to 2.45 To: ports@openbsd.org, pascal@stumpf.co Date: Tue, 5 Aug 2025 17:02:13 +0100 gas itself builds ok on i386. I haven't tried building other ports with it yet. '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'