On 05/25/2015 06:42 AM, Dominique Dhumieres wrote:
Wouldn't it be better to remove the target selector and instead add:
/* { dg-require-effective-target pie } */
...
This allows the tests to be run on Darwin and fail because the code generated
does not
match the scan-assembler:
FAIL: gcc.target/i386/iinline-attr-2.c scan-assembler p2align
FAIL: gcc.target/i386/pr32219-1.c scan-assembler movl[ \\t]xxx\\\\(%rip\\\\),
%eax
FAIL: gcc.target/i386/pr32219-3.c scan-assembler movl[ \\t]xxx\\\\(%rip\\\\),
%eax
FAIL: gcc.target/i386/pr32219-3.c scan-assembler-not xxx@GOTPCREL
FAIL: gcc.target/i386/pr32219-5.c scan-assembler movl[ \\t]xxx\\\\(%rip\\\\),
%eax
FAIL: gcc.target/i386/pr32219-6.c scan-assembler xxx@GOTPCREL
FAIL: gcc.target/i386/pr32219-7.c scan-assembler movl[ \\t]xxx\\\\(%rip\\\\),
%eax
FAIL: gcc.target/i386/pr32219-7.c scan-assembler-not xxx@GOTPCREL
FAIL: gcc.target/i386/pr39013-1.c scan-assembler bar@PLT
FAIL: gcc.target/i386/pr39013-1.c scan-assembler foo@PLT
FAIL: gcc.target/i386/pr39013-2.c scan-assembler bar@PLT
FAIL: gcc.target/i386/pr39013-2.c scan-assembler foo@PLT
I suspect that this will also be the case for gcc.target/i386/pr64317.c.
Can you dig a little bit deeper -- is it the case that we just need a
more general pattern to match whatever assembler is necessary for Darwin?
Or is it the case that Darwin doesn't have some particular capability in
its assembler/linker that these tests depend on (and thus we need
another check-effective-target-whatever)
I'm happy to iterate with Andreas to get this addressed for Darwin, but
neither Andreas nor myself really know much about that platform.
jeff