This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH] x86/cet: Properly output labels in property note section
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: gcc-patches at gcc dot gnu dot org, Uros Bizjak <ubizjak at gmail dot com>, Igor Tsimbalist <igor dot v dot tsimbalist at intel dot com>
- Date: Sun, 15 Apr 2018 04:06:17 -0700
- Subject: [PATCH] x86/cet: Properly output labels in property note section
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
Replace ASM_OUTPUT_LABEL with fprintf so that internal labels in property
note section are unchanged -fleading-underscore.
OK for trunk?
H.J.
---
gcc/
PR target/85404
* config/i386/cet.c (file_end_indicate_exec_stack_and_cet):
Replace ASM_OUTPUT_LABEL with fprintf.
gcc/testsuite/
PR target/85404
* gcc.target/i386/pr85404.c: New test.
---
gcc/config/i386/cet.c | 10 +++++-----
gcc/testsuite/gcc.target/i386/pr85404.c | 6 ++++++
2 files changed, 11 insertions(+), 5 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/i386/pr85404.c
diff --git a/gcc/config/i386/cet.c b/gcc/config/i386/cet.c
index 4a1e013fdde..d5bbe8b7fe8 100644
--- a/gcc/config/i386/cet.c
+++ b/gcc/config/i386/cet.c
@@ -57,20 +57,20 @@ file_end_indicate_exec_stack_and_cet (void)
fprintf (asm_out_file, ASM_LONG " 4f - 1f\n");
/* note type: NT_GNU_PROPERTY_TYPE_0. */
fprintf (asm_out_file, ASM_LONG " 5\n");
- ASM_OUTPUT_LABEL (asm_out_file, "0");
+ fprintf (asm_out_file, "0:\n");
/* vendor name: "GNU". */
fprintf (asm_out_file, STRING_ASM_OP " \"GNU\"\n");
- ASM_OUTPUT_LABEL (asm_out_file, "1");
+ fprintf (asm_out_file, "1:\n");
ASM_OUTPUT_ALIGN (asm_out_file, p2align);
/* pr_type: GNU_PROPERTY_X86_FEATURE_1_AND. */
fprintf (asm_out_file, ASM_LONG " 0xc0000002\n");
/* pr_datasz. */\
fprintf (asm_out_file, ASM_LONG " 3f - 2f\n");
- ASM_OUTPUT_LABEL (asm_out_file, "2");
+ fprintf (asm_out_file, "2:\n");
/* GNU_PROPERTY_X86_FEATURE_1_XXX. */
fprintf (asm_out_file, ASM_LONG " 0x%x\n", feature_1);
- ASM_OUTPUT_LABEL (asm_out_file, "3");
+ fprintf (asm_out_file, "3:\n");
ASM_OUTPUT_ALIGN (asm_out_file, p2align);
- ASM_OUTPUT_LABEL (asm_out_file, "4");
+ fprintf (asm_out_file, "4:\n");
}
}
diff --git a/gcc/testsuite/gcc.target/i386/pr85404.c b/gcc/testsuite/gcc.target/i386/pr85404.c
new file mode 100644
index 00000000000..bbf456ec024
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr85404.c
@@ -0,0 +1,6 @@
+/* { dg-do assemble } */
+/* { dg-options "-fleading-underscore -mcet -fcf-protection" } */
+
+void func(void) __asm("_func");
+void _func(int x) {}
+void func(void) {}
--
2.14.3