Created attachment 164125 [details] patch to remove /usr/bin/as For those architectures where Clang is the system compiler, the Clang driver it is used to assemble .S files in the base system. I would like to request an exp-run to determine the impact of not installing /usr/bin/as.
Buildworld doesn't complete on i386 without /usr/bin/as (problem with i386 assembly in libcrypto?)
Exp-run results on amd64: http://package18.nyi.freebsd.org/jail.html?mastername=headamd64PR205250-default 11 new failures, and around 200 new ports skipped: + {"origin"=>"emulators/qemu-devel", "pkgname"=>"qemu-devel-2.4.0", "phase"=>"build", "errortype"=>"process_failed"} + {"origin"=>"emulators/qemu-sbruno", "pkgname"=>"qemu-sbruno-2.4.50.g20151206", "phase"=>"build", "errortype"=>"process_failed"} + {"origin"=>"emulators/vmw", "pkgname"=>"vmw-060510_1", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"lang/ccl", "pkgname"=>"ccl-1.11", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"lang/fpc", "pkgname"=>"fpc-3.0.0", "phase"=>"build", "errortype"=>"process_failed"} + {"origin"=>"lang/mit-scheme", "pkgname"=>"mit-scheme-9.2_1", "phase"=>"build", "errortype"=>"process_failed"} + {"origin"=>"lang/ocaml", "pkgname"=>"ocaml-4.02.1", "phase"=>"build", "errortype"=>"missing_header"} + {"origin"=>"lang/ocaml-nox11", "pkgname"=>"ocaml-nox11-4.02.1", "phase"=>"build", "errortype"=>"missing_header"} + {"origin"=>"lang/smlnj", "pkgname"=>"smlnj-110.77", "phase"=>"build", "errortype"=>"install_error"} + {"origin"=>"lang/ypsilon", "pkgname"=>"ypsilon-0.9.6.3_3", "phase"=>"build", "errortype"=>"process_failed"} + {"origin"=>"multimedia/libxine", "pkgname"=>"libxine-1.2.6_3", "phase"=>"configure", "errortype"=>"configure_error"} Failure logs: http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2015-12-13_17h30m47s/logs/errors/qemu-devel-2.4.0.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2015-12-13_17h30m47s/logs/errors/qemu-sbruno-2.4.50.g20151206.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2015-12-13_17h30m47s/logs/errors/vmw-060510_1.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2015-12-13_17h30m47s/logs/errors/ccl-1.11.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2015-12-13_17h30m47s/logs/errors/fpc-3.0.0.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2015-12-13_17h30m47s/logs/errors/mit-scheme-9.2_1.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2015-12-13_17h30m47s/logs/errors/ocaml-4.02.1.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2015-12-13_17h30m47s/logs/errors/ocaml-nox11-4.02.1.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2015-12-13_17h30m47s/logs/errors/smlnj-110.77.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2015-12-13_17h30m47s/logs/errors/ypsilon-0.9.6.3_3.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2015-12-13_17h30m47s/logs/errors/libxine-1.2.6_3.log
Thanks for the exp-run Antoine. The mk/* infrastructure uses the Clang driver for assembling .S (uppercase) files and ${AS} for .s (lowercase) files. amd64 world has only .S files, but as you discovered i386 has .s files in secure/lib/libcrypto/i386/
My earlier comment missed any .s files in the kernel, but amd64 has also grown a single .s file since this was originally submitted: % git ls-files | grep 'amd64.*\.s$' sys/amd64/linux/linux_locore.s sys/amd64/linux/linux_support.s sys/amd64/linux/linux_vdso.lds.s sys/amd64/linux32/linux32_locore.s sys/amd64/linux32/linux32_support.s sys/amd64/linux32/linux32_vdso.lds.s sys/crypto/skein/amd64/skein_block_asm.s The first issue encountered while assembling skein_block_asm.s with Clang is tracked in https://bugs.llvm.org/show_bug.cgi?id=33404; I haven't looked into the next ones after that's addressed.
(In reply to Ed Maste from comment #4) In my trying to update to -r338319 for amd64 I discovered that it involves i386's libstand and that in turn also is using -no-integrated-as . This made my buildworld buildkernel that used WITHOUT_BINUTILS_BOOTSTRAP= and WITHOUT_BINUTILS= fail with: --- btx.o --- cc: error: unable to execute command: Executable "as" doesn't exist! cc: error: assembler command failed with exit code 1 (use -v to see invocation) For reference: examples of -no-integrated-as (and CLANG_NO_IAS/CLANG_NO_IAS34) . . . # grep -r "\-no-integrated-as" /usr/src/ | grep -v "/\.svn/" | more . . . (Ignoring llvm internals here) . . . /usr/src/sys/conf/kern.mk:CLANG_NO_IAS= -no-integrated-as /usr/src/sys/conf/kern.mk:CLANG_NO_IAS34= -no-integrated-as # grep -r "CLANG_NO_IAS" /usr/src/ | grep -v "/\.svn/" | more /usr/src/lib/libz/Makefile:#ACFLAGS.gvmat64.S= ${CLANG_NO_IAS} /usr/src/share/mk/bsd.sys.mk:# only enable it for some files with CLFAGS.$FILE+=${CLANG_NO_IAS}. /usr/src/share/mk/bsd.sys.mk:CLANG_NO_IAS= -no-integrated-as /usr/src/stand/i386/boot2/Makefile:CFLAGS.boot1.S= ${CLANG_NO_IAS} /usr/src/stand/i386/btx/btx/Makefile:CFLAGS.btx.S= ${CLANG_NO_IAS} /usr/src/stand/i386/btx/btxldr/Makefile:CFLAGS.btxldr.S= ${CLANG_NO_IAS} /usr/src/stand/i386/cdboot/Makefile:CFLAGS.cdboot.S= ${CLANG_NO_IAS} /usr/src/stand/i386/gptboot/Makefile:CFLAGS.gptldr.S= ${CLANG_NO_IAS} /usr/src/stand/i386/gptzfsboot/Makefile:CFLAGS.gptldr.S= ${CLANG_NO_IAS} /usr/src/stand/i386/libi386/Makefile:CFLAGS.amd64_tramp.S= ${CLANG_NO_IAS} /usr/src/stand/i386/libi386/Makefile:CFLAGS.multiboot_tramp.S= ${CLANG_NO_IAS} /usr/src/stand/i386/pxeldr/Makefile:CFLAGS.pxeldr.S= ${CLANG_NO_IAS} /usr/src/stand/i386/zfsboot/Makefile:CFLAGS.zfsldr.S= ${CLANG_NO_IAS} /usr/src/sys/conf/Makefile.amd64:ASM_CFLAGS.acpi_wakecode.S= ${CLANG_NO_IAS34} /usr/src/sys/conf/Makefile.amd64:ASM_CFLAGS.mpboot.S= ${CLANG_NO_IAS34} /usr/src/sys/conf/Makefile.i386:ASM_CFLAGS.acpi_wakecode.S= ${CLANG_NO_IAS34} /usr/src/sys/conf/Makefile.i386:ASM_CFLAGS.mpboot.s= ${CLANG_NO_IAS34} /usr/src/sys/conf/kern.mk:CLANG_NO_IAS= -no-integrated-as /usr/src/sys/conf/kern.mk:CLANG_NO_IAS34= -no-integrated-as /usr/src/sys/modules/bios/smapi/Makefile:CFLAGS.smapi_bios.S= ${CLANG_NO_IAS34}
A commit references this bug: Author: emaste Date: Tue Nov 20 16:54:43 UTC 2018 New revision: 340681 URL: https://svnweb.freebsd.org/changeset/base/340681 Log: stand: remove CLANG_NO_IAS from btx and gptboot Many components under stand/ had CLANG_NO_IAS added when Clang's Integrated Assembler (IAS) did not handle .codeNN directives. Clang gained support quite some time ago, and we can now build stand/ with IAS. Note that in some cases there are small differences in the generated output, so CLANG_NO_IAS should be removed only after testing (or after finding no differences in the output). PR: 205250, 233094 Sponsored by: The FreeBSD Foundation Changes: head/stand/i386/btx/btx/Makefile head/stand/i386/btx/btxldr/Makefile head/stand/i386/gptboot/Makefile
A commit references this bug: Author: emaste Date: Mon Nov 26 19:14:34 UTC 2018 New revision: 340990 URL: https://svnweb.freebsd.org/changeset/base/340990 Log: btx: rename .s files to .S to use Clang IAS As part of the migration away from obsolete binutils we want to retire GNU as. Most assembly files used on amd64 have a .S extension and are assembled with Clang's integrated assembler; rename two files in stand/i386/btx/lib to .S to use IAS as well. The generated .text is identical (the entire .o files are not, as Clang adds debug info). PR: 205250, 233094 Discussed with: imp Sponsored by: The FreeBSD Foundation Changes: head/stand/i386/btx/lib/Makefile head/stand/i386/btx/lib/btxsys.S head/stand/i386/btx/lib/btxsys.s head/stand/i386/btx/lib/btxv86.S head/stand/i386/btx/lib/btxv86.s
A commit references this bug: Author: emaste Date: Mon Nov 26 19:29:18 UTC 2018 New revision: 340991 URL: https://svnweb.freebsd.org/changeset/base/340991 Log: stand/i386/libi386: rename .s file to .S to use Clang IAS As part of the migration away from obsolete binutils we want to retire GNU as. Most assembly files used on amd64 have a .S extension and are assembled with Clang's Integrated Assembler (IAS); rename pxetram.s to .S to use IAS as well. The generated .text is identical (the entire .o file is not, as Clang adds debug info.) PR: 205250, 233094 Sponsored by: The FreeBSD Foundation Changes: head/stand/i386/libi386/Makefile head/stand/i386/libi386/pxetramp.S head/stand/i386/libi386/pxetramp.s
Created attachment 211326 [details] Remove as from i386 (only) for now
Portmgr, could you try the exp-run on i386 again using the new patch (i386-no-as.diff, Remove as from i386 (only) for now) Today as is only built for amd64 and i386; we still need to sort out skein-block-asm.s for amd64 but I would like to make incremental progress on binutils retirement.
New failures on i386: + {"origin"=>"comms/libfec", "phase"=>"build", "errortype"=>"process_failed"} + {"origin"=>"comms/syncterm", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"devel/plan9port", "phase"=>"stage", "errortype"=>"???"} + {"origin"=>"emulators/vmw", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"games/dxx-rebirth", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"graphics/vulkan-loader", "phase"=>"configure", "errortype"=>"???"} + {"origin"=>"lang/hla", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"lang/mit-scheme", "phase"=>"build", "errortype"=>"process_failed"} + {"origin"=>"lang/ocaml", "phase"=>"build", "errortype"=>"missing_header"} + {"origin"=>"lang/ocaml-nox11", "phase"=>"build", "errortype"=>"missing_header"} + {"origin"=>"math/ldouble", "phase"=>"build", "errortype"=>"???"} + {"origin"=>"multimedia/mencoder", "phase"=>"configure", "errortype"=>"configure_error"} + {"origin"=>"multimedia/mplayer", "phase"=>"configure", "errortype"=>"configure_error"} Around 200 ports were skipped due to those new failures (lang/ocaml, graphics/vulkan-loader, multimedia/mplayer)
New failure logs on i386: http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/libfec-3.0.1_4.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/syncterm-1.0.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/plan9port-20190619.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/vmw-060510_1.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/dxx-rebirth-20191227.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/vulkan-loader-1.1.108.0_1.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/hla-1.103.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/mit-scheme-9.2_4.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/ocaml-4.05.0_1.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/ocaml-nox11-4.05.0_1.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/ldouble-0.1_2.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/mencoder-1.4.0.20191227.log http://package18.nyi.freebsd.org/data/headi386PR205250-default/2020-02-16_21h27m33s/logs/errors/mplayer-1.4.0.20191227.log
Created attachment 214281 [details] turn off binutils by default Updated patch - leave BINUTILS_BOOTSTRAP on for amd64 skein_block_asm.s, turn off so there is no installed /usr/bin/as.
ports patches: https://reviews.freebsd.org/D24739
A commit references this bug: Author: jbeich Date: Sun May 10 16:43:59 UTC 2020 New revision: 534854 URL: https://svnweb.freebsd.org/changeset/ports/534854 Log: graphics/vulkan-loader: unbreak without /usr/bin/as on amd64/i386 CMake Error at loader/CMakeLists.txt:151 (enable_language): No CMAKE_ASM-ATT_COMPILER could be found. Tell CMake where to find the compiler by setting either the environment variable "ASM-ATT" or the CMake cache entry CMAKE_ASM-ATT_COMPILER to the full path to the compiler, or to the compiler name if it is in the PATH. PR: 205250 Reported by: antoine (via exp-run) Changes: head/graphics/vulkan-loader/Makefile
I've confirmed that the remaining failures on i386 are fixed by the addition of BUILD_DEPENDS=as:devel/binutils or at a minimum that the port builds with binutils installed. I've emailed the authors of the affected ports in case they prefer a different fix (e.g., using the compiler's integrated assembler).
A commit references this bug: Author: emaste Date: Fri May 22 13:50:21 UTC 2020 New revision: 536201 URL: https://svnweb.freebsd.org/changeset/ports/536201 Log: lang/hla: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 Approved by: portmgr (blanket) Changes: head/lang/hla/Makefile
A commit references this bug: Author: emaste Date: Fri May 22 13:55:50 UTC 2020 New revision: 536203 URL: https://svnweb.freebsd.org/changeset/ports/536203 Log: math/ldouble: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 Approved by: portmgr (blanket) Changes: head/math/ldouble/Makefile
On i386 the following have now been addressed, mostly by their maintainers: emulators/vmw games/dxx-rebirth graphics/vulkan-loader lang/hla math/ldouble multimedia/mencoder multimedia/mplayer I've tested adding binutils to address the following: comms/libfec comms/syncterm devel/plan9port lang/ocaml lang/ocaml-nox11 lang/mit-scheme I've emailed the maintainers of the 2nd list and will commit the BUILD_DEPENDS additions at the end of the month for any that haven't yet been handled, then default to WITHOUT_BINUTILS on i386 as previously discussed: https://lists.freebsd.org/pipermail/freebsd-current/2020-May/076090.html The amd64 exp-run is from 2015 so I will hold off on making the change there until the exp-run is done.
A commit references this bug: Author: emaste Date: Fri May 29 00:11:49 UTC 2020 New revision: 536824 URL: https://svnweb.freebsd.org/changeset/ports/536824 Log: comms/libfec: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 Approved by: portmgr (blanket) Changes: head/comms/libfec/Makefile
A commit references this bug: Author: emaste Date: Fri May 29 00:15:17 UTC 2020 New revision: 536825 URL: https://svnweb.freebsd.org/changeset/ports/536825 Log: comms/syncterm: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 Approved by: portmgr (blanket) Changes: head/comms/syncterm/Makefile
A commit references this bug: Author: emaste Date: Fri May 29 00:17:08 UTC 2020 New revision: 536826 URL: https://svnweb.freebsd.org/changeset/ports/536826 Log: devel/plan9port: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 Approved by: portmgr (blanket) Sponsored by: The FreeBSD Foundation Changes: head/devel/plan9port/Makefile
A commit references this bug: Author: emaste Date: Fri May 29 00:20:19 UTC 2020 New revision: 536827 URL: https://svnweb.freebsd.org/changeset/ports/536827 Log: lang/ocaml: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 Approved by: portmgr (blanket) Sponsored by: The FreeBSD Foundation Changes: head/lang/ocaml/Makefile
A commit references this bug: Author: emaste Date: Fri May 29 00:22:24 UTC 2020 New revision: 536828 URL: https://svnweb.freebsd.org/changeset/ports/536828 Log: lang/mit-scheme: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 Approved by: portmgr (blanket) Sponsored by: The FreeBSD Foundation Changes: head/lang/mit-scheme/Makefile
New failure logs on i386: http://pb2.nyi.freebsd.org/data/headi386PR205250-default/2020-05-28_07h09m27s/logs/errors/libfec-3.0.1_4.log http://pb2.nyi.freebsd.org/data/headi386PR205250-default/2020-05-28_07h09m27s/logs/errors/syncterm-1.0.log http://pb2.nyi.freebsd.org/data/headi386PR205250-default/2020-05-28_07h09m27s/logs/errors/plan9port-20200330.log http://pb2.nyi.freebsd.org/data/headi386PR205250-default/2020-05-28_07h09m27s/logs/errors/mit-scheme-9.2_4.log http://pb2.nyi.freebsd.org/data/headi386PR205250-default/2020-05-28_07h09m27s/logs/errors/ocaml-4.05.0_1.log http://pb2.nyi.freebsd.org/data/headi386PR205250-default/2020-05-28_07h09m27s/logs/errors/ocaml-nox11-4.05.0_1.log
A commit references this bug: Author: antoine Date: Fri May 29 11:27:55 UTC 2020 New revision: 536967 URL: https://svnweb.freebsd.org/changeset/ports/536967 Log: ocaml depends on as(1) at runtime PR: 205250 Changes: head/lang/ocaml/Makefile
A commit references this bug: Author: emaste Date: Fri May 29 17:36:55 UTC 2020 New revision: 361628 URL: https://svnweb.freebsd.org/changeset/base/361628 Log: Disable BINUTILS by default on i386 The retirement of obsolete binutils 2.17.50 has been in progress for quite some time. All tools other than GNU as were removed prior to this commit, and it was built only on two archs: i386, installed as /usr/bin/as amd64, installed as /usr/bin/as and as a bootstrap tool The i386 exp-run has completed and failures have been addressed in the individual ports, so disable it there. PR: 233611, 205250 [exp-run] Sponsored by: The FreeBSD Foundation Changes: head/share/mk/src.opts.mk
New failure logs on amd64: http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2020-05-30_06h39m54s/logs/errors/ardour5-5.12.0_13.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2020-05-30_06h39m54s/logs/errors/memcached-1.6.5.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2020-05-30_06h39m54s/logs/errors/myrddin-0.3.1.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2020-05-30_06h39m54s/logs/errors/zerotier-1.4.6.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2020-05-30_06h39m54s/logs/errors/akmos-0.7.2_3.log http://package18.nyi.freebsd.org/data/headamd64PR205250-default/2020-05-30_06h39m54s/logs/errors/nflib-1.0.0.23_1.log
A commit references this bug: Author: emaste Date: Sat May 30 15:52:48 UTC 2020 New revision: 537087 URL: https://svnweb.freebsd.org/changeset/ports/537087 Log: audio/ardour5: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. This likely also addresses the reason this port is marked BROKEN_aarch64; that can be addressed in a subsequent sweep. PR: 205250 Approved by: portmgr (blanket) Sponsored by: The FreeBSD Foundation Changes: head/audio/ardour5/Makefile
A commit references this bug: Author: emaste Date: Sat May 30 15:56:11 UTC 2020 New revision: 537088 URL: https://svnweb.freebsd.org/changeset/ports/537088 Log: security/akmos: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 [exp-run] Approved by: portmgr (blanket) Sponsored by: The FreeBSD Foundation Changes: head/security/akmos/Makefile
A commit references this bug: Author: emaste Date: Sat May 30 15:57:53 UTC 2020 New revision: 537089 URL: https://svnweb.freebsd.org/changeset/ports/537089 Log: security/nflib: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 [exp-run] Approved by: portmgr (blanket) Sponsored by: The FreeBSD Foundation Changes: head/security/nflib/Makefile
A commit references this bug: Author: emaste Date: Sat May 30 15:59:57 UTC 2020 New revision: 537090 URL: https://svnweb.freebsd.org/changeset/ports/537090 Log: net/zerotier: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 [exp-run] Approved by: portmgr (blanket) Sponsored by: The FreeBSD Foundation Changes: head/net/zerotier/Makefile
A commit references this bug: Author: emaste Date: Sat May 30 16:01:53 UTC 2020 New revision: 537091 URL: https://svnweb.freebsd.org/changeset/ports/537091 Log: lang/myrddin: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 [exp-run] Approved by: portmgr (blanket) Sponsored by: The FreeBSD Foundation Changes: head/lang/myrddin/Makefile
A commit references this bug: Author: emaste Date: Sat May 30 16:06:20 UTC 2020 New revision: 537092 URL: https://svnweb.freebsd.org/changeset/ports/537092 Log: databases/memcached: add BUILD_DEPENDS as:devel/binutils /usr/bin/as will soon be removed from the FreeBSD base system, for FreeBSD 13.0. Depend on as (not ${LOCALBASE}/bin/as) so that this will introduce no change for existing 11.x and 12.x, which will continue to use the base system GNU as 2.17.50. PR: 205250 [exp-run] Approved by: portmgr (blanket) Sponsored by: The FreeBSD Foundation Changes: head/databases/memcached/Makefile
A commit references this bug: Author: emaste Date: Sat May 30 16:12:01 UTC 2020 New revision: 361648 URL: https://svnweb.freebsd.org/changeset/base/361648 Log: Disable BINUTILS by default on amd64 The retirement of obsolete binutils 2.17.50 has been in progress for quite some time. All tools other than GNU as were removed prior to this commit, and it was built only on amd64 - installed as /usr/bin/as, and used as a bootstrap tool. The amd64 exp-run has completed and failures have now been addressed in the individual ports, so disable it by default. PR: 233611, 205250 [exp-run] Sponsored by: The FreeBSD Foundation Changes: head/share/mk/src.opts.mk
Failures have been addressed; thank you for the exp-runs Antoine.
(In reply to Ed Maste from comment #36) I just got: --- .obj/pixman-arm-neon-asm.o --- cc: error: unable to execute command: Executable "as" doesn't exist! cc: error: assembler command failed with exit code 1 (use -v to see invocation) *** [.obj/pixman-arm-neon-asm.o] Error code 1 make[1]: stopped in /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/qtbase-everywhere-src-5.14.2/src/gui --- .obj/qdrawhelper_neon_asm.o --- cc: error: unable to execute command: Executable "as" doesn't exist! cc: error: assembler command failed with exit code 1 (use -v to see invocation) *** [.obj/qdrawhelper_neon_asm.o] Error code 1 via using poudriere-devel on an aarch64 machine building ports targetting armv7 for /usr/ports/ vintage: # svnlite info /usr/ports/ Path: /usr/ports Working Copy Root Path: /usr/ports URL: svn://svn.freebsd.org/ports/head Relative URL: ^/head Repository Root: svn://svn.freebsd.org/ports Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5 Revision: 537522 Node Kind: directory Schedule: normal Last Changed Author: riggs Last Changed Rev: 537522 Last Changed Date: 2020-06-01 22:57:35 -0700 (Mon, 01 Jun 2020) This was for my WITHOUT_BINUTILS= FreeBSD head -r360311 aarch64 context. Still, as far as I can tell, there is no reason for my WITHOUT_BINUTILS= context to be an inapproprate context for testing such builds. FYI: # uname -apKU FreeBSD FBSDCA57 13.0-CURRENT FreeBSD 13.0-CURRENT #2 r360311M: Sat Apr 25 10:41:54 PDT 2020 markmi@FBSDFHUGE:/usr/obj/cortexA57_clang/arm64.aarch64/usr/src/arm64.aarch64/sys/GENERIC-NODBG arm64 aarch64 1300092 1300092
(In reply to Mark Millard from comment #37) We haven't installed GNU as 2.17.50 on non-x86 archs for quite some time; is this a new regression or have you not tried building until recently?
(In reply to Ed Maste from comment #38) I only discovered that on my aarch64 context I could chroot to an armv7 installworld result back in mid 2020-Apr or so, leading to poudriere experiments. (amd64 via qemu does not work well for poudriere builds of armv7 ports: various processes in the build hang up.) For aarch64 targeting armv7, various other things were also not building for other reasons but more are building now. Looking at the logs, the other time I tried this (2020-Apr-22), qt5-gui had the same failure. At the time, I focused on the 4 compilers that I could not build and ignored getting any GUI code to build. So I did not look at the details then. Sorry for the late report. For the compilers, it was more of a objdump driven issue but all worked fine this time. Note, on aarch64 targeting aarch64, the builds went fine, including for qt5-gui. It is just targeting armv7 that got the problem. I've not tried on any of the much slower native armv7 contexts that I have access to. I may be able to do so later.
(In reply to Mark Millard from comment #39) I checked the logs on the native armv7 machine that I rarely do builds on: back on 2019-Dec-28 I did a build that also showed the problem. It was probably a WITHOUT_BINUTILS= world experiment: --- .obj/pixman-arm-neon-asm.o --- cc: error: unable to execute command: Executable "as" doesn't exist! cc: error: assembler command failed with exit code 1 (use -v to see invocation) *** [.obj/pixman-arm-neon-asm.o] Error code 1 make[1]: stopped in /wrkdirs/usr/ports/x11-toolkits/qt5-gui/work/qtbase-everywhere-src-5.13.2/src/gui --- .obj/qdrawhelper_neon_asm.o --- cc: error: unable to execute command: Executable "as" doesn't exist! cc: error: assembler command failed with exit code 1 (use -v to see invocation) *** [.obj/qdrawhelper_neon_asm.o] Error code 1 (There were also compiler build failures as well.)
(In reply to Mark Millard from comment #40) Side note avoiding incorrect compiler-build related implications of my prior wording . . . I should have been more careful with my compiler wording: I made local updates and also interacted with a maintainer for some issues. Looking, I'd forgotten that there were still things like the following local to my environment: -.if ${TARGETARCH} == "armv6" || ${TARGETARCH} == "aarch64" +.if ${TARGETARCH} == "armv6" || ${TARGETARCH} == "armv7" || ${TARGETARCH} == "aarch64" . if ${COMPILER_TYPE} == clang MAKE_ARGS+=CXXFLAGS=-fbracket-depth=512 . endif Also (presumes my lack of needing elfv1): +.if ${TARGETARCH} == powerpc64 +CONFIGURE_ARGS+= --with-abi=elfv2 +.endif and: -BROKEN_aarch64= configure: error: cannot compute suffix of object files: cannot compile +#BROKEN_aarch64= configure: error: cannot compute suffix of object files: cannot compile My comments about all the compilers building okay are really just relative to objdump and/or as binutils issues relative to svn contents: some still have other types of issues without updates.
(In reply to Ed Maste from comment #38) FYI: I tried # svnlite diff /usr/ports/x11-toolkits/qt5-gui/ | more Index: /usr/ports/x11-toolkits/qt5-gui/Makefile =================================================================== --- /usr/ports/x11-toolkits/qt5-gui/Makefile (revision 537522) +++ /usr/ports/x11-toolkits/qt5-gui/Makefile (working copy) @@ -11,7 +11,8 @@ BUILD_DEPENDS= at-spi2-core>=0:accessibility/at-spi2-core \ ${LOCALBASE}/include/linux/input.h:devel/evdev-proto \ ${LOCALBASE}/include/vulkan/vulkan.h:devel/vulkan-headers \ - ${LOCALBASE}/include/xf86drm.h:graphics/libdrm + ${LOCALBASE}/include/xf86drm.h:graphics/libdrm \ + as:devel/binutils LIB_DEPENDS= libdbus-1.so:devel/dbus \ libevdev.so:devel/libevdev \ libfontconfig.so:x11-fonts/fontconfig \ and it built for armv7 just fine (and the overall build finished). May be armv7 needs its own exp run to see if there are other examples. (I build less than 500 ports based on the few that I directly select to build, with a subset of less than 200 actually needing rebuild for this particular /usr/ports/ update.)
A commit in branch stable/12 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=76a6b4ad3519c752f531f488f4cbbb1eea811db4 commit 76a6b4ad3519c752f531f488f4cbbb1eea811db4 Author: Ed Maste <emaste@FreeBSD.org> AuthorDate: 2018-11-20 16:54:42 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2021-09-02 23:30:00 +0000 stand: remove CLANG_NO_IAS from btx and gptboot Many components under stand/ had CLANG_NO_IAS added when Clang's Integrated Assembler (IAS) did not handle .codeNN directives. Clang gained support quite some time ago, and we can now build stand/ with IAS. Note that in some cases there are small differences in the generated output, so CLANG_NO_IAS should be removed only after testing (or after finding no differences in the output). PR: 205250, 233094 Sponsored by: The FreeBSD Foundation (cherry picked from commit 02c4bf4391ec7296f5a002c139576ae8797853d1) stand/i386/btx/btx/Makefile | 3 --- stand/i386/btx/btxldr/Makefile | 3 --- stand/i386/gptboot/Makefile | 3 --- 3 files changed, 9 deletions(-)