git: baeb0b2fb4d0 - stable/12 - stand: remove CLANG_NO_IAS from cdboot
Dimitry Andric
dim at FreeBSD.org
Thu Sep 2 23:58:45 UTC 2021
The branch stable/12 has been updated by dim:
URL: https://cgit.FreeBSD.org/src/commit/?id=baeb0b2fb4d02155e992fdd9e9a586592d45e48a
commit baeb0b2fb4d02155e992fdd9e9a586592d45e48a
Author: Ed Maste <emaste at FreeBSD.org>
AuthorDate: 2019-08-15 17:32:39 +0000
Commit: Dimitry Andric <dim at FreeBSD.org>
CommitDate: 2021-09-02 23:30:04 +0000
stand: remove CLANG_NO_IAS from cdboot
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. In most cases IAS- and GNU as-assembled boot components were
identical, and CLANG_NO_IAS was already removed from other components.
Clang IAS produces different output for some components, including
cdboot, so CLANG_NO_IAS was not previously removed for those.
In the case of cdboot the difference is that IAS adds a size override
prefix (67h) to many instructions to specify a 32-bit address, even
though the two high bytes are zero. This wastes three bytes per
instance, but as cdboot is not size-constrained it doesn't matter.
Padding is also different in one case; Clang used two one-byte nops
while GNU as used a single two-byte xchg %eax, %eax. In any case, there
is no functional change.
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 1596e9a43cbfef904232a3321136e2ae480565f9)
---
stand/i386/cdboot/Makefile | 3 ---
1 file changed, 3 deletions(-)
diff --git a/stand/i386/cdboot/Makefile b/stand/i386/cdboot/Makefile
index 093ec49ec77a..0598d5d80dce 100644
--- a/stand/i386/cdboot/Makefile
+++ b/stand/i386/cdboot/Makefile
@@ -14,6 +14,3 @@ ORG= 0x7c00
LDFLAGS+=${LDFLAGS_BIN}
.include <bsd.prog.mk>
-
-# XXX: clang integrated-as doesn't grok .codeNN directives yet
-CFLAGS.cdboot.S= ${CLANG_NO_IAS}
More information about the dev-commits-src-branches
mailing list