diff options
author | Ed Maste <emaste@FreeBSD.org> | 2019-08-15 17:32:39 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2019-08-15 17:32:39 +0000 |
commit | 1596e9a43cbfef904232a3321136e2ae480565f9 (patch) | |
tree | af19c3cdeb9748fb8b9436ffa42982c9edfb2ef5 /stand | |
parent | 0b894a06bd77c71588d9b2aa5dfaa625a5b87838 (diff) | |
download | src-1596e9a43cbfef904232a3321136e2ae480565f9.tar.gz src-1596e9a43cbfef904232a3321136e2ae480565f9.zip |
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
Notes
Notes:
svn path=/head/; revision=351092
Diffstat (limited to 'stand')
-rw-r--r-- | stand/i386/cdboot/Makefile | 3 |
1 files changed, 0 insertions, 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} |