diff options
author | H.J. Lu <hongjiu.lu@intel.com> | 2015-01-13 20:05:41 +0000 |
---|---|---|
committer | H.J. Lu <hjl@gcc.gnu.org> | 2015-01-13 12:05:41 -0800 |
commit | ed4f78fae8b9406f32cfe8cc47bd138aeb9d5540 (patch) | |
tree | 4c3c8f1fd5272dd1935c656759d0b3d0233d7810 | |
parent | 860dadcbeac42219978ccc320ef13a5afa56138b (diff) | |
download | gcc-ed4f78fae8b9406f32cfe8cc47bd138aeb9d5540.zip gcc-ed4f78fae8b9406f32cfe8cc47bd138aeb9d5540.tar.gz gcc-ed4f78fae8b9406f32cfe8cc47bd138aeb9d5540.tar.bz2 |
Add check_effective_target_pie
* gcc.target/i386/pie.c: New test.
* lib/target-supports.exp (check_effective_target_pie): New.
From-SVN: r219553
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pie.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 10 |
3 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3263f13..24e8b25 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2015-01-13 H.J. Lu <hongjiu.lu@intel.com> + + * gcc.target/i386/pie.c: New test. + + * lib/target-supports.exp (check_effective_target_pie): New. + 2015-01-13 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/64286 diff --git a/gcc/testsuite/gcc.target/i386/pie.c b/gcc/testsuite/gcc.target/i386/pie.c new file mode 100644 index 0000000..0a9f5ee --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pie.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target pie } } */ +/* { dg-options "-O2" } */ + +int foo (void); + +int +main (void) +{ + return foo (); +} + +/* { dg-final { scan-assembler "foo@PLT" } } */ diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index f5c6db8..0ac9646 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1080,6 +1080,16 @@ proc check_effective_target_nonpic { } { }] } +# Return 1 if the current multilib generates PIE by default. + +proc check_effective_target_pie { } { + return [check_no_compiler_messages pie assembly { + #ifndef __PIE__ + #error unsupported + #endif + }] +} + # Return 1 if the target does not use a status wrapper. proc check_effective_target_unwrapped { } { |