Message ID | A614194ED15B4844BC4C9FB7F21FCD9270474D5A@hhmail02.hh.imgtec.org |
---|---|
State | New |
Headers | show |
Hi Toma, >> Thanks for fixing this! Do you have plan to backport the fix to gcc-6 branch? > > I am happy to backport it. > I've rebased the patch on top of the gcc-6 branch and attached it below. > > Rainer, is this OK for gcc-6? sure, thanks. Rainer > gcc/ChangeLog: > > Backported from mainline > 2017-03-09 Toma Tabacu <toma.tabacu@imgtec.com> > > * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): > Document rdynamic. > > gcc/testsuite/ChangeLog: > > Backported from mainline > 2017-03-09 Toma Tabacu <toma.tabacu@imgtec.com> > > * g++.dg/lto/pr69589_0.C: Add dg-require-effective-target for > rdynamic. > * lib/target-supports.exp (check_effective_target_rdynamic): > New proc.
Thanks, Rainer. Committed as r248916. Thanks for suggesting a backport, Renlin. Regards, Toma
Index: gcc/doc/sourcebuild.texi =================================================================== --- gcc/doc/sourcebuild.texi (revision 248876) +++ gcc/doc/sourcebuild.texi (working copy) @@ -1950,6 +1950,9 @@ @item pie Target supports @option{-pie}, @option{-fpie} and @option{-fPIE}. +@item rdynamic +Target supports @option{-rdynamic}. + @item section_anchors Target supports section anchors. Index: gcc/testsuite/lib/target-supports.exp =================================================================== --- gcc/testsuite/lib/target-supports.exp (revision 248876) +++ gcc/testsuite/lib/target-supports.exp (working copy) @@ -1424,6 +1424,14 @@ } "-static"] } +# Return 1 if we can use the -rdynamic option, 0 otherwise. + +proc check_effective_target_rdynamic { } { + return [check_no_compiler_messages rdynamic executable { + int main() { return 0; } + } "-rdynamic"] +} + # Return 1 if cilk-plus is supported by the target, 0 otherwise. proc check_effective_target_cilkplus { } { Index: gcc/testsuite/g++.dg/lto/pr69589_0.C =================================================================== --- gcc/testsuite/g++.dg/lto/pr69589_0.C (revision 248876) +++ gcc/testsuite/g++.dg/lto/pr69589_0.C (working copy) @@ -1,6 +1,7 @@ // { dg-lto-do link } // { dg-lto-options "-O2 -rdynamic" } // { dg-extra-ld-options "-r -nostdlib" } +// { dg-require-effective-target rdynamic } #pragma GCC visibility push(hidden) struct A { int &operator[] (long); }; template <typename> struct B;