[testsuite] PATCH: Add check_effective_target_pie
H.J. Lu
hjl.tools@gmail.com
Wed Feb 11 14:04:00 GMT 2015
On Tue, Feb 10, 2015 at 3:11 PM, Rainer Orth
<ro@cebitec.uni-bielefeld.de> wrote:
> Jeff Law <law@redhat.com> writes:
>
>>> Subject: [PATCH 1/5] Add check_effective_target_pie
>>>
>>> Hi,
>>>
>>> This patch adds check_effective_target_pie to check if the current
>>> multilib generates PIE by default.
>>>
>>> Thanks.
>>>
>>> H.J.
>>> ---
>>> 2015-01-11 H.J. Lu <hongjiu.lu@intel.com>
>>>
>>> * gcc.target/i386/pie.c: New test.
>>>
>>> * lib/target-supports.exp (check_effective_target_pie): New.
>> OK.
>
> The new proc is bogus, unfortunately: there's already an existing
> check_effective_target_pie that checks if a target can support PIE. The
> new one just overrides the previous one. On targets supporting PIE
> (like Darwin), but not defaulting to it, the PIE tests suddenly turn out
> UNSUPPORTED.
>
> You should rename the new one to
> e.g. check_effective_target_pie_default, update the single user, and
> document it in sourcebuild.texi.
I checked in this as an obvious fix.
Thanks.
--
H.J.
---
Index: ChangeLog
===================================================================
--- ChangeLog (revision 220617)
+++ ChangeLog (working copy)
@@ -1,3 +1,7 @@
+2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/sourcebuild.texi (pie_enabled): Document.
+
2015-02-11 Martin Liska <mliska@suse.cz>
PR ipa/64813
Index: testsuite/lib/target-supports.exp
===================================================================
--- testsuite/lib/target-supports.exp (revision 220617)
+++ testsuite/lib/target-supports.exp (working copy)
@@ -1100,8 +1100,8 @@
# Return 1 if the current multilib generates PIE by default.
-proc check_effective_target_pie { } {
- return [check_no_compiler_messages pie assembly {
+proc check_effective_target_pie_enabled { } {
+ return [check_no_compiler_messages pie_enabled assembly {
#ifndef __PIE__
#error unsupported
#endif
Index: testsuite/gcc.dg/tree-ssa/ssa-store-ccp-3.c
===================================================================
--- testsuite/gcc.dg/tree-ssa/ssa-store-ccp-3.c (revision 220617)
+++ testsuite/gcc.dg/tree-ssa/ssa-store-ccp-3.c (working copy)
@@ -13,6 +13,6 @@
/* There should be no reference for nonpic targets to
conststaticvariable as we should have inlined the 0. */
-/* { dg-final { scan-tree-dump-times "conststaticvariable" 0
"optimized" { target { pie || nonpic } } } } */
-/* { dg-final { scan-tree-dump-times "conststaticvariable" 1
"optimized" { target { { ! pie } && { ! nonpic } } } } } */
+/* { dg-final { scan-tree-dump-times "conststaticvariable" 0
"optimized" { target { pie_enabled || nonpic } } } } */
+/* { dg-final { scan-tree-dump-times "conststaticvariable" 1
"optimized" { target { { ! pie_enabled } && { ! nonpic } } } } } */
/* { dg-final { cleanup-tree-dump "optimized" } } */
Index: testsuite/ChangeLog
===================================================================
--- testsuite/ChangeLog (revision 220617)
+++ testsuite/ChangeLog (working copy)
@@ -1,3 +1,11 @@
+2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ * lib/target-supports.exp (check_effective_target_pie): Renamed
+ to ...
+ (check_effective_target_pie_enabled): This.
+ * gcc.dg/tree-ssa/ssa-store-ccp-3.c: Replace pie with pie_enabled.
+ * gcc.target/i386/pie.c: Likewise.
+
2015-02-11 Andrew Pinski <apinski@cavium.com>
PR target/64893
Index: testsuite/gcc.target/i386/pie.c
===================================================================
--- testsuite/gcc.target/i386/pie.c (revision 220617)
+++ testsuite/gcc.target/i386/pie.c (working copy)
@@ -1,4 +1,4 @@
-/* { dg-do compile { target pie } } */
+/* { dg-do compile { target pie_enabled } } */
/* { dg-options "-O2" } */
int foo (void);
Index: doc/sourcebuild.texi
===================================================================
--- doc/sourcebuild.texi (revision 220617)
+++ doc/sourcebuild.texi (working copy)
@@ -1884,6 +1884,9 @@
@item nonpic
Target does not generate PIC by default.
+@item pie_enabled
+Target generates PIE by default.
+
@item pcc_bitfield_type_matters
Target defines @code{PCC_BITFIELD_TYPE_MATTERS}.
More information about the Gcc-patches
mailing list