summary refs log tree commit diff
diff options
context:
space:
mode:
authorNoah Goldstein <goldstein.w.n@gmail.com>2021-09-21 18:31:49 -0500
committerNoah Goldstein <goldstein.w.n@gmail.com>2021-10-08 11:30:52 -0500
commitfc5bd179ef3a953dff8d1655bd530d0e230ffe71 (patch)
tree8f474d47869c53c13f42e2eaf01a1d6d89137e5c
parentfa80ce6023c76dab34133d43f8c8f831a949fbf3 (diff)
downloadglibc-fc5bd179ef3a953dff8d1655bd530d0e230ffe71.tar.gz
glibc-fc5bd179ef3a953dff8d1655bd530d0e230ffe71.tar.xz
glibc-fc5bd179ef3a953dff8d1655bd530d0e230ffe71.zip
x86: Modify ENTRY in sysdep.h so that p2align can be specified
No bug.

This change adds a new macro ENTRY_P2ALIGN which takes a second
argument, log2 of the desired function alignment.

The old ENTRY(name) macro is just ENTRY_P2ALIGN(name, 4) so this
doesn't affect any existing functionality.

Signed-off-by: Noah Goldstein <goldstein.w.n@gmail.com>
-rw-r--r--sysdeps/x86/sysdep.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/sysdeps/x86/sysdep.h b/sysdeps/x86/sysdep.h
index cac1d762fb..937180c1bd 100644
--- a/sysdeps/x86/sysdep.h
+++ b/sysdeps/x86/sysdep.h
@@ -78,15 +78,18 @@ enum cf_protection_level
 #define ASM_SIZE_DIRECTIVE(name) .size name,.-name;
 
 /* Define an entry point visible from C.  */
-#define	ENTRY(name)							      \
+#define	ENTRY_P2ALIGN(name, alignment)					      \
   .globl C_SYMBOL_NAME(name);						      \
   .type C_SYMBOL_NAME(name),@function;					      \
-  .align ALIGNARG(4);							      \
+  .align ALIGNARG(alignment);						      \
   C_LABEL(name)								      \
   cfi_startproc;							      \
   _CET_ENDBR;								      \
   CALL_MCOUNT
 
+/* Common entry 16 byte aligns.  */
+#define ENTRY(name) ENTRY_P2ALIGN (name, 4)
+
 #undef	END
 #define END(name)							      \
   cfi_endproc;								      \