[gcc/devel/omp/gcc-9] darwin, x86, backport fix for missing .p2align.

Tobias Burnus burnus@gcc.gnu.org
Thu Mar 5 14:15:00 GMT 2020


https://gcc.gnu.org/g:926c0c8fb83869c3874cd6dc101287895461de7f

commit 926c0c8fb83869c3874cd6dc101287895461de7f
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Fri Aug 2 14:44:23 2019 +0000

    darwin, x86, backport fix for missing .p2align.
    
    This fixes a number of testcases that expect use of
    .p2align, which was omitted from the darwin X86 port
    (but is available in all assemblers used with that).
    
    2019-08-02  Iain Sandoe  <iain@sandoe.co.uk>
    
    	Backport from mainline
    	2019-05-31  Iain Sandoe  <iain@sandoe.co.uk>
    
    	* config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
    
    From-SVN: r274016

Diff:
---
 gcc/ChangeLog            |  7 +++++++
 gcc/config/i386/darwin.h | 12 ++++++++++++
 2 files changed, 19 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 79d650f..8b9120e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,6 +1,13 @@
 2019-08-02  Iain Sandoe  <iain@sandoe.co.uk>
 
 	Backport from mainline
+	2019-05-31  Iain Sandoe  <iain@sandoe.co.uk>
+
+	* config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
+
+2019-08-02  Iain Sandoe  <iain@sandoe.co.uk>
+
+	Backport from mainline
 	2019-05-18  Iain Sandoe  <iain@sandoe.co.uk>
 
 	* config/darwin-c.c (darwin_register_objc_includes): Do not
diff --git a/gcc/config/i386/darwin.h b/gcc/config/i386/darwin.h
index 1128428..46fa329 100644
--- a/gcc/config/i386/darwin.h
+++ b/gcc/config/i386/darwin.h
@@ -223,6 +223,18 @@ extern int darwin_emit_branch_islands;
       }								   \
   } while (0)
 
+#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
+#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP)                    \
+  do {                                                                  \
+    if ((LOG) != 0) {                                                   \
+      if ((MAX_SKIP) == 0 || (MAX_SKIP) >= (1 << (LOG)) - 1)            \
+        fprintf ((FILE), "\t.p2align %d\n", (LOG));                     \
+      else                                                              \
+        fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));     \
+    }                                                                   \
+  } while (0)
+#endif
+
 /* Darwin x86 assemblers support the .ident directive.  */
 
 #undef TARGET_ASM_OUTPUT_IDENT



More information about the Gcc-cvs mailing list