diff options
author | Jakub Jelinek <jakub@redhat.com> | 2024-02-26 07:30:05 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2024-02-26 07:30:05 +0100 |
commit | 6987f16742bd4fc6bb8118b9efde52fb9169b327 (patch) | |
tree | eb2d2c3f5c32f473afb5a5102a8b538e5f71594f | |
parent | 4972f97a265c574d51e20373ddefd66576051e5c (diff) | |
download | gcc-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.cc | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr114094.c | 10 |
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) +{ +} |