svn commit: r351073 - head/stand/i386/boot2

Ed Maste emaste at FreeBSD.org
Thu Aug 15 14:54:19 UTC 2019


Author: emaste
Date: Thu Aug 15 14:54:18 2019
New Revision: 351073
URL: https://svnweb.freebsd.org/changeset/base/351073

Log:
  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

Modified:
  head/stand/i386/boot2/Makefile

Modified: head/stand/i386/boot2/Makefile
==============================================================================
--- head/stand/i386/boot2/Makefile	Thu Aug 15 14:11:11 2019	(r351072)
+++ head/stand/i386/boot2/Makefile	Thu Aug 15 14:54:18 2019	(r351073)
@@ -91,6 +91,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}


More information about the svn-src-all mailing list