Commit 2130a2af by H.J. Lu Committed by H.J. Lu

x86/cet: Properly output labels in property note section

Replace ASM_OUTPUT_LABEL with fprintf so that internal labels in property
note section are unchanged by -fleading-underscore.

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.

From-SVN: r259498
parent 5f9ca0b8
2018-04-19 H.J. Lu <hongjiu.lu@intel.com>
PR target/85404
* config/i386/cet.c (file_end_indicate_exec_stack_and_cet):
Replace ASM_OUTPUT_LABEL with fprintf.
2018-04-19 H.J. Lu <hongjiu.lu@intel.com>
PR target/85417
* config/i386/cet.c (file_end_indicate_exec_stack_and_cet):
Check flag_cf_protection instead of TARGET_IBT and TARGET_SHSTK.
......
......@@ -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");
}
}
2018-04-19 H.J. Lu <hongjiu.lu@intel.com>
PR target/85404
* gcc.target/i386/pr85404.c: New test.
2018-04-19 H.J. Lu <hongjiu.lu@intel.com>
PR target/85417
* c-c++-common/attr-nocf-check-1.c: Compile with
-fcf-protection=none.
......
/* { dg-do assemble } */
/* { dg-options "-fleading-underscore -mcet -fcf-protection" } */
void func(void) __asm("_func");
void _func(int x) {}
void func(void) {}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment