Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Sep 2021 23:58:43 GMT
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: 8b2de9110244 - stable/12 - stand: remove CLANG_NO_IAS from boot2
Message-ID:  <202109022358.182NwhRE010657@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/12 has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=8b2de9110244e6ab269123f101ed30007c041e47

commit 8b2de9110244e6ab269123f101ed30007c041e47
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2019-08-15 14:54:18 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2021-09-02 23:30:03 +0000

    stand: remove CLANG_NO_IAS from boot2
    
    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
    boot2, so CLANG_NO_IAS was not previously removed for those.
    
    In the case of boot2 the difference is that IAS produces a larger
    encoding for one instruction (the testb at the beginning of read).
    
    GNU as produces:
    
        2e    f6 06 b0 08       80
    
    while IAS includes an address size override prefix (67) and produces:
    
        2e 67 f6 05 b3 08 00 00 80
    
    This results in three fewer NOPs elsewhere in boot2 but no functional
    change, so switch to IAS for boot2.
    
    (We can separately pursue improved 16-bit IAS support with the LLVM
    developers.)
    
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit 3a6c85abcbc3fbe2e0388a8708b36b9aac4b7bb1)
---
 stand/i386/boot2/Makefile | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/stand/i386/boot2/Makefile b/stand/i386/boot2/Makefile
index 8df09a2c7c0c..3830199b2c4b 100644
--- a/stand/i386/boot2/Makefile
+++ b/stand/i386/boot2/Makefile
@@ -96,6 +96,3 @@ boot2.h: boot1.out
 	    REL1=`printf "%d" ${REL1}` > ${.TARGET}
 
 .include <bsd.prog.mk>
-
-# XXX: clang integrated-as doesn't grok .codeNN directives yet
-CFLAGS.boot1.S=		${CLANG_NO_IAS}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202109022358.182NwhRE010657>