* [testsuite] Fix comdat_group check with Solaris as
@ 2018-01-31 23:07 Rainer Orth
0 siblings, 0 replies; only message in thread
From: Rainer Orth @ 2018-01-31 23:07 UTC (permalink / raw)
To: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 2351 bytes --]
While refining the COMDAT group on Solaris 10 patch
https://gcc.gnu.org/ml/gcc-patches/2018-01/msg02257.html
I noticed that the comdat_group effective-target keyword didn't work
when using Solaris as. No wonder, actually, given the different
syntaxes used:
* with sparc as
.group _Z3foov,".text._Z3foov%_Z3foov",#comdat
* with x86 as:
.group _Z3foov,.text._Z3foov%_Z3foov,#comdat
* with gas (sparc and x86):
.section .text._Z3foov,"axG",@progbits,_Z3foov,comdat
The following patch fixes this.
Bootstrapped without regressions on i386-pc-solaris2.11 and
sparc-sun-solaris2.11 (as and gas each). The only existing uses change
as expected:
* With as:
g++.dg/tm/pr47573.C UNSUPPORTED -> PASS
g++.dg/ipa/pr64612.C scans now PASS
* With gas: no change
At the same time, I've adjusted g++.dg/debug/dwarf2/nested-4.C as
follows: before, the scan-assembler-times "debug_types" 2 test was
xfailed on *-*-solaris2.1[1-9]* && !gas.
The reason is as follows:
* With Solaris as, COMDAT group syntax is differs, so we have
.section .debug_types%wt.4e05dcd4da926741,"",@progbits
.group wt.4e05dcd4da926741,.debug_types%wt.4e05dcd4da926741,#comdat
.section .debug_types%wt.b606c86c38313abe,"",@progbits
.group wt.b606c86c38313abe,.debug_types%wt.b606c86c38313abe,#comdat
.section .debug_types%wt.b606c86c38313abe,"",@progbits
.section .debug_types%wt.4e05dcd4da926741,"",@progbits
* With gas or as, but no comdat, we have
.section .debug_types,"",@progbits
.section .debug_types,"",@progbits
* With gas and comdat, we have
.section .debug_types,"G",@progbits,wt.4e05dcd4da926741,comdat
.section .debug_types,"G",@progbits,wt.b606c86c38313abe,comdat
So we need to xfail in the as/comdat case, as this patch does.
Installed on mainline.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2018-01-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
gcc/testsuite:
* lib/target-supports.exp (check_effective_target_comdat_group):
Allow for Solaris as comdat syntax.
* g++.dg/debug/dwarf2/nested-4.C: Xfail scan-assembler-times on
Solaris with comdat_group support and as.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: testsuite-comdat_group-solaris-as.patch --]
[-- Type: text/x-patch, Size: 1368 bytes --]
# HG changeset patch
# Parent 1125e724541b493d75e4a215f8426cb530d7f623
Fix comdat_group check with Solaris as
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -8985,7 +8985,7 @@ proc check_effective_target_tls_get_addr
# Return 1 if the target uses comdat groups.
proc check_effective_target_comdat_group {} {
- return [check_no_messages_and_pattern comdat_group "\.section\[^\n\r]*,comdat" assembly {
+ return [check_no_messages_and_pattern comdat_group "\.section\[^\n\r]*,comdat|\.group\[^\n\r]*,#comdat" assembly {
// C++
inline int foo () { return 1; }
int (*fn) () = foo;
diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/nested-4.C b/gcc/testsuite/g++.dg/debug/dwarf2/nested-4.C
--- a/gcc/testsuite/g++.dg/debug/dwarf2/nested-4.C
+++ b/gcc/testsuite/g++.dg/debug/dwarf2/nested-4.C
@@ -1,6 +1,6 @@
// PR debug/53235
// { dg-options "-gdwarf-4 -fdebug-types-section" }
-// { dg-final { scan-assembler-times "debug_types" 2 { xfail { powerpc-ibm-aix* || { *-*-darwin* || { *-*-solaris2.1[1-9]* && { ! gas } } } } } } }
+// { dg-final { scan-assembler-times "debug_types" 2 { xfail { powerpc-ibm-aix* || { *-*-darwin* || { *-*-solaris2.* && { comdat_group && { ! gas } } } } } } } }
namespace E {
class O {};
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2018-01-31 22:20 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-31 23:07 [testsuite] Fix comdat_group check with Solaris as Rainer Orth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).