HomeFreeBSD

stand: remove CLANG_NO_IAS from cdboot

Description

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)

Details

Provenance
emasteAuthored on Aug 15 2019, 5:32 PM
dimCommitted on Sep 2 2021, 11:30 PM
Parents
R10:8b2de9110244: stand: remove CLANG_NO_IAS from boot2
Branches
Unknown
Tags
Unknown