Summary: | [meta] base system migration from obsolete GNU as 2.17.50 | ||
---|---|---|---|
Product: | Base System | Reporter: | Ed Maste <emaste> |
Component: | bin | Assignee: | freebsd-bugs (Nobody) <bugs> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | CC: | cem, mpysw |
Priority: | --- | ||
Version: | CURRENT | ||
Hardware: | Any | ||
OS: | Any | ||
Bug Depends on: | 205250 | ||
Bug Blocks: | 233094 |
Description
Ed Maste
![]() ![]() It turns out Clang IAS accepts -Wa,-defsym,FOO=BAR but not -Wa,--defsym,FOO=BAR -- see LLVM PR 39825 https://llvm.org/pr39825 These two reviews address all of the assembly files used by amd64 except for skein_block_asm.s: https://reviews.freebsd.org/D18344 https://reviews.freebsd.org/D18369 A commit references this bug: Author: emaste Date: Mon Dec 3 19:16:35 UTC 2018 New revision: 341437 URL: https://svnweb.freebsd.org/changeset/base/341437 Log: stand/i386: rename .s 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 (via rules in share/mk/bsd.suffixes.mk) are assembled with Clang's Integrated Assembler (IAS). Rename files in stand/i386 to .S to use the integrated assembler. Clang's IAS supports the defsym option (via -Wa,) but only with one dash, not two. As both -defsym and --defsym are accepted by GNU as, use the former. PR: 233611 Reviewed by: tsoome Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D18369 Changes: head/stand/i386/kgzldr/Makefile head/stand/i386/kgzldr/crt.S head/stand/i386/kgzldr/crt.s head/stand/i386/kgzldr/sio.S head/stand/i386/kgzldr/sio.s head/stand/i386/kgzldr/start.S head/stand/i386/kgzldr/start.s head/stand/i386/mbr/Makefile head/stand/i386/mbr/mbr.S head/stand/i386/mbr/mbr.s head/stand/i386/pmbr/Makefile head/stand/i386/pmbr/pmbr.S head/stand/i386/pmbr/pmbr.s skein_block_asm.s modified to assemble with LLVM IAS in review D18758 https://reviews.freebsd.org/D18758 A commit references this bug: Author: emaste Date: Thu Aug 1 19:01:28 UTC 2019 New revision: 350518 URL: https://svnweb.freebsd.org/changeset/base/350518 Log: as: add deprecation notice to the man page In the future FreeBSD will ship without GNU binutils 2.17.50. Add a note advising users who require GNU as to install the binutils port or package. Note that on armv7, arm64, amd64, i386 we currently ship only two binutils tools (as and objdump). A deprecation notice was added to objdump's man page some time ago. PR: 233611 Discussed with: jhb MFC after: 1 week Relnotes: Yes Sponsored by: The FreeBSD Foundation Changes: head/contrib/binutils/gas/doc/as.texinfo head/gnu/usr.bin/binutils/as/as.1 A commit references this bug: Author: emaste Date: Sun Aug 4 20:40:48 UTC 2019 New revision: 350574 URL: https://svnweb.freebsd.org/changeset/base/350574 Log: MFC r350518: as: add deprecation notice to the man page In the future FreeBSD will ship without GNU binutils 2.17.50. Add a note advising users who require GNU as to install the binutils port or package. Note that on armv7, arm64, amd64, i386 we currently ship only two binutils tools (as and objdump). A deprecation notice was added to objdump's man page some time ago. PR: 233611 Sponsored by: The FreeBSD Foundation Changes: _U stable/12/ stable/12/contrib/binutils/gas/doc/as.texinfo stable/12/gnu/usr.bin/binutils/as/as.1 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 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 as is now used only on amd64, as a bootstrap tool for skein_block_asm.s. A commit references this bug: Author: emaste Date: Sat Jun 6 02:27:29 UTC 2020 New revision: 361857 URL: https://svnweb.freebsd.org/changeset/base/361857 Log: src.opts.mk: disable BINUTILS_BOOTSTRAP universally As of r361853 skein_block_asm.S is assembled using Clang's integrated assembler. PR: 233611 Sponsored by: The FreeBSD Foundation Changes: head/share/mk/src.opts.mk |