Re: [PATCH] i386: Update naked-1.c for PIC
On Tue, Aug 1, 2017 at 12:48 AM, H.J. Luwrote: > For ia32 targets, -fPIC may generate > > call __x86.get_pc_thunk.ax > ... > __x86.get_pc_thunk.ax: > movl(%esp), %eax > ret > > We should check "ret" only for non-PIC or non-ia32 targets. I have added -fno-pic to dg-options. Tested on x86_64-linux-gnu {,-m32} and committed. Uros. Index: gcc.target/i386/naked-1.c === --- gcc.target/i386/naked-1.c (revision 250745) +++ gcc.target/i386/naked-1.c (working copy) @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O0" } */ +/* { dg-options "-O0 -fno-pic" } */ /* Verify that __attribute__((naked)) produces a naked function that does not use ret to return but traps at the end. */
[PATCH] i386: Update naked-1.c for PIC
For ia32 targets, -fPIC may generate call __x86.get_pc_thunk.ax ... __x86.get_pc_thunk.ax: movl(%esp), %eax ret We should check "ret" only for non-PIC or non-ia32 targets. OK for trunk? H.J. --- * gcc.target/i386/naked-1.c: Check "ret" only for non-PIC or non-ia32 targets. --- gcc/testsuite/gcc.target/i386/naked-1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/testsuite/gcc.target/i386/naked-1.c b/gcc/testsuite/gcc.target/i386/naked-1.c index 440dbe9ee7a..dda354371ba 100644 --- a/gcc/testsuite/gcc.target/i386/naked-1.c +++ b/gcc/testsuite/gcc.target/i386/naked-1.c @@ -11,4 +11,4 @@ foo (void) } /* { dg-final { scan-assembler "# naked" } } */ /* { dg-final { scan-assembler "ud2" } } */ -/* { dg-final { scan-assembler-not "ret" } } */ +/* { dg-final { scan-assembler-not "ret" { target { nonpic || { ! ia32 } } } } } */ -- 2.13.3