]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
stand: remove CLANG_NO_IAS from cdboot
authorEd Maste <emaste@FreeBSD.org>
Thu, 15 Aug 2019 17:32:39 +0000 (17:32 +0000)
committerDimitry Andric <dim@FreeBSD.org>
Thu, 2 Sep 2021 23:30:04 +0000 (01:30 +0200)
commitbaeb0b2fb4d02155e992fdd9e9a586592d45e48a
treec1df7d9202c05d7d9a08ce282cbdc6efab8d3e99
parent8b2de9110244e6ab269123f101ed30007c041e47
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