aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2024-02-26 07:30:05 +0100
committerJakub Jelinek <jakub@redhat.com>2024-02-26 07:30:05 +0100
commit6987f16742bd4fc6bb8118b9efde52fb9169b327 (patch)
treeeb2d2c3f5c32f473afb5a5102a8b538e5f71594f
parent4972f97a265c574d51e20373ddefd66576051e5c (diff)
downloadgcc-6987f16742bd4fc6bb8118b9efde52fb9169b327.zip
gcc-6987f16742bd4fc6bb8118b9efde52fb9169b327.tar.gz
gcc-6987f16742bd4fc6bb8118b9efde52fb9169b327.tar.bz2
i386: Fix up x86_function_profiler -masm=intel support [PR114094]
In my r14-8214 changes I apparently forgot one \n at the end of an instruction. The corresponding AT&T line looks like: "1:\tcall\t*%s@GOTPCREL(%%rip)\n" but the Intel variant was "1:\tcall\t[QWORD PTR %s@GOTPCREL[rip]]" Fixed thusly. 2024-02-26 Jakub Jelinek <jakub@redhat.com> PR target/114094 * config/i386/i386.cc (x86_function_profiler): Add missing new-line to printed instruction. * gcc.target/i386/pr114094.c: New test.
-rw-r--r--gcc/config/i386/i386.cc2
-rw-r--r--gcc/testsuite/gcc.target/i386/pr114094.c10
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index 4fdab34..86381b0 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -22909,7 +22909,7 @@ x86_function_profiler (FILE *file, int labelno ATTRIBUTE_UNUSED)
if (!ix86_direct_extern_access)
{
if (ASSEMBLER_DIALECT == ASM_INTEL)
- fprintf (file, "1:\tcall\t[QWORD PTR %s@GOTPCREL[rip]]",
+ fprintf (file, "1:\tcall\t[QWORD PTR %s@GOTPCREL[rip]]\n",
mcount_name);
else
fprintf (file, "1:\tcall\t*%s@GOTPCREL(%%rip)\n",
diff --git a/gcc/testsuite/gcc.target/i386/pr114094.c b/gcc/testsuite/gcc.target/i386/pr114094.c
new file mode 100644
index 0000000..64fe509
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr114094.c
@@ -0,0 +1,10 @@
+/* PR target/114094 */
+/* { dg-do assemble { target *-*-linux* } } */
+/* { dg-require-effective-target masm_intel } */
+/* { dg-require-effective-target pie } */
+/* { dg-options "-fpie -fprofile -mno-direct-extern-access -masm=intel" } */
+
+void
+foo (void)
+{
+}