public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* 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

* 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

* 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-19 16:15 target/9681: [powerpc64] -frepo fails to instantiate some templates dje
  -- strict thread matches above, loose matches on Subject: below --
2003-02-26  4:56 target/9681: powerpc64 " Jim Wilson
2003-02-25 11:06 Alan Modra
2003-02-12 23:46 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).