public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: target/9681: powerpc64 -frepo fails to instantiate some templates
@ 2003-02-26 4:56 Jim Wilson
0 siblings, 0 replies; 4+ messages in thread
From: Jim Wilson @ 2003-02-26 4:56 UTC (permalink / raw)
To: amodra; +Cc: gcc-prs
The following reply was made to PR target/9681; it has been noted by GNATS.
From: Jim Wilson <wilson@tuliptree.org>
To: Alan Modra <amodra@bigpond.net.au>, gcc-patches@gcc.gnu.org
Cc: gcc-gnats@gcc.gnu.org, janis187@us.ibm.com
Subject: Re: target/9681: powerpc64 -frepo fails to instantiate some templates
Date: Tue, 25 Feb 2003 23:50:12 -0500
Alan Modra wrote:
> * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
> OK for mainline and 3.3?
OK.
I see that there is already one other place in the same function that
unconditionally strips off a leading '.', so doing so here also should
not be a problem.
Jim
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: target/9681: powerpc64 -frepo fails to instantiate some templates
@ 2003-02-25 11:06 Alan Modra
0 siblings, 0 replies; 4+ messages in thread
From: Alan Modra @ 2003-02-25 11:06 UTC (permalink / raw)
To: amodra; +Cc: gcc-prs
The following reply was made to PR target/9681; it has been noted by GNATS.
From: Alan Modra <amodra@bigpond.net.au>
To: gcc-patches@gcc.gnu.org
Cc: gcc-gnats@gcc.gnu.org, janis187@us.ibm.com
Subject: Re: target/9681: powerpc64 -frepo fails to instantiate some templates
Date: Tue, 25 Feb 2003 21:31:20 +1030
This hack cures the powerpc64-linux -frepo failures. It should be
safe enough to always drop a leading '.' rather than making this
target-dependent, I think, but if this makes people nervous I'll
introduce another #ifdef.
* tlink.c (scan_linker_output): Drop leading '.' from symbol names.
OK for mainline and 3.3?
diff -urpN -xCVS -x'*~' gcc-ppc64-33.orig/gcc/tlink.c gcc-ppc64-33/gcc/tlink.c
--- gcc-ppc64-33.orig/gcc/tlink.c 2003-01-12 08:18:20.000000000 +1030
+++ gcc-ppc64-33/gcc/tlink.c 2003-02-25 21:05:20.000000000 +1030
@@ -634,7 +634,13 @@ scan_linker_output (fname)
/* Don't let the strstr's below see the demangled name; we
might get spurious matches. */
if (p)
- p[-1] = '\0';
+ {
+ p[-1] = '\0';
+
+ /* powerpc64-linux references .foo when calling function foo. */
+ if (*p == '.')
+ p++;
+ }
/* We need to check for certain error keywords here, or we would
mistakenly use GNU ld's "In function `foo':" message. */
--
Alan Modra
IBM OzLabs - Linux Technology Centre
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: target/9681: [powerpc64] -frepo fails to instantiate some templates
@ 2003-02-19 16:15 dje
0 siblings, 0 replies; 4+ messages in thread
From: dje @ 2003-02-19 16:15 UTC (permalink / raw)
To: amodra, gcc-bugs, gcc-prs, janis187, nobody
Synopsis: [powerpc64] -frepo fails to instantiate some templates
Responsible-Changed-From-To: unassigned->amodra
Responsible-Changed-By: dje
Responsible-Changed-When: Wed Feb 19 16:15:40 2003
Responsible-Changed-Why:
compiler/linker interaction
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9681
^ permalink raw reply [flat|nested] 4+ messages in thread
* target/9681: powerpc64 -frepo fails to instantiate some templates
@ 2003-02-12 23:46 janis187
0 siblings, 0 replies; 4+ messages in thread
From: janis187 @ 2003-02-12 23:46 UTC (permalink / raw)
To: gcc-gnats
>Number: 9681
>Category: target
>Synopsis: powerpc64 -frepo fails to instantiate some templates
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Feb 12 23:46:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator: Janis Johnson
>Release: 3.3 20030210 (prerelease)
>Organization:
>Environment:
powerpc64-linux; SuSE SLES8
>Description:
Five tests in g++.old-deja/g++.pt (instantiate[46].C and
repo[124].C) fail because some templates are not
instantiated with -frepo. This affects powerpc64-linux,
both cross compilers and native 64-bit compilers, for
mainline, 3.3-branch, and 3.2-branch.
Here's what happens with test repo1.C:
% g++ -c -frepo repo1.C
% g++ -frepo repo1.o
repo1.o: In function `.main':
repo1.o(.text+0x18): undefined reference to `.void g<int>(int)'
collect2: ld returned 1 exit status
That test:
template <class T> struct A {
virtual ~A () { }
};
template <class T> void g (T t) { }
template class A<int>;
int main ()
{
g (42);
}
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-02-26 4:56 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-26 4:56 target/9681: powerpc64 -frepo fails to instantiate some templates Jim Wilson
-- strict thread matches above, loose matches on Subject: below --
2003-02-25 11:06 Alan Modra
2003-02-19 16:15 target/9681: [powerpc64] " dje
2003-02-12 23:46 target/9681: powerpc64 " janis187
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).