aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2020-06-26 13:59:31 -0700
committerH.J. Lu <hjl.tools@gmail.com>2020-07-18 08:51:54 -0700
commit7aa22a8f1a5cd7f79d6bdd8b56ef7ab89a43bce3 (patch)
tree8f13566ba883fa85e2314477a5b2f76d198fa268 /gcc
parent0b7e26d8f91482fe932a323d8d05d87a40be65dc (diff)
downloadgcc-7aa22a8f1a5cd7f79d6bdd8b56ef7ab89a43bce3.zip
gcc-7aa22a8f1a5cd7f79d6bdd8b56ef7ab89a43bce3.tar.gz
gcc-7aa22a8f1a5cd7f79d6bdd8b56ef7ab89a43bce3.tar.bz2
x86-64: Define ASM_OUTPUT_ALIGNED_DECL_LOCAL
Define ASM_OUTPUT_ALIGNED_DECL_LOCAL for large local common symbol. gcc/ PR target/95620 * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New. libgomp/ PR target/95620 * testsuite/libgomp.c/pr95620.c: New test.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/x86-64.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/config/i386/x86-64.h b/gcc/config/i386/x86-64.h
index 88db428..0c5b8af 100644
--- a/gcc/config/i386/x86-64.h
+++ b/gcc/config/i386/x86-64.h
@@ -59,6 +59,17 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#define ASM_OUTPUT_ALIGNED_DECL_COMMON(FILE, DECL, NAME, SIZE, ALIGN) \
x86_elf_aligned_decl_common (FILE, DECL, NAME, SIZE, ALIGN);
+#undef ASM_OUTPUT_ALIGNED_DECL_LOCAL
+#define ASM_OUTPUT_ALIGNED_DECL_LOCAL(FILE, DECL, NAME, SIZE, ALIGN) \
+ do \
+ { \
+ fprintf ((FILE), "%s", LOCAL_ASM_OP); \
+ assemble_name ((FILE), (NAME)); \
+ fprintf ((FILE), "\n"); \
+ ASM_OUTPUT_ALIGNED_DECL_COMMON (FILE, DECL, NAME, SIZE, ALIGN); \
+ } \
+ while (0)
+
/* This is used to align code labels according to Intel recommendations. */
#define SUBALIGN_LOG 3