public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: Force aliases to be output when cgraph decides so
@ 2011-09-24 19:24 David Edelsohn
  2011-09-25 11:54 ` Jan Hubicka
  0 siblings, 1 reply; 5+ messages in thread
From: David Edelsohn @ 2011-09-24 19:24 UTC (permalink / raw)
  To: Jan Hubicka, GCC Patches

Jan,

This patch causes a bootstrap failure on AIX because some symbols no
longer are exported by libstdc++.  When I remove your patch, bootstrap
proceeds past this failure.

David

exec(): 0509-036 Cannot load program exec(): 0509-036 Cannot load
program /tmp/20110923/./gcc/cc1plus/tmp/20110923/./g
cc/cc1plus because of the following errors:
 because of the following errors:
        0509-130 Symbol resolution failed for   0509-130 Symbol
resolution failed for /usr/gnu/lib/libgmpxx.a(libgmpxx
.so.4)/usr/gnu/lib/libgmpxx.a(libgmpxx.so.4) because:
 because:
        0509-136   Symbol       0509-136   Symbol
_ZNSt6localeD1Ev_ZNSt6localeD1Ev (number  (number 44) is not exporte
d from
                   dependent module ) is not exported from
                   dependent module
/tmp/20110923/powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a(libstdc++.
so.6)/tmp/20110923/powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a(libstdc++.so.6).
.
        0509-136   Symbol       0509-136   Symbol
_ZNSt6localeC1ERKS__ZNSt6localeC1ERKS_ (number  (number 66) is not e
xported from
                   dependent module ) is not exported from
                   dependent module
/tmp/20110923/powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a(libstdc++.
so.6)/tmp/20110923/powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a(libstdc++.so.6).
.
        0509-136   Symbol       0509-136   Symbol
_ZNSt8ios_base4InitD1Ev_ZNSt8ios_base4InitD1Ev (number  (number 1010
) is not exported from
                   dependent module ) is not exported from
                   dependent module
/tmp/20110923/powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a(libstdc++.
so.6)/tmp/20110923/powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a(libstdc++.so.6).
.
        0509-136   Symbol       0509-136   Symbol
_ZNSt8ios_base4InitC1Ev_ZNSt8ios_base4InitC1Ev (number  (number 1111
) is not exported from
                   dependent module ) is not exported from
                   dependent module
/tmp/20110923/powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a(libstdc++.
so.6)/tmp/20110923/powerpc-ibm-aix5.3.0.0/libstdc++-v3/src/.libs/libstdc++.a(libstdc++.so.6).

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Force aliases to be output when cgraph decides so
  2011-09-24 19:24 Force aliases to be output when cgraph decides so David Edelsohn
@ 2011-09-25 11:54 ` Jan Hubicka
  2011-10-10 19:28   ` David Edelsohn
  0 siblings, 1 reply; 5+ messages in thread
From: Jan Hubicka @ 2011-09-25 11:54 UTC (permalink / raw)
  To: David Edelsohn; +Cc: Jan Hubicka, GCC Patches

> Jan,
> 
> This patch causes a bootstrap failure on AIX because some symbols no
> longer are exported by libstdc++.  When I remove your patch, bootstrap
> proceeds past this failure.

Oops, would be possible to see what kind of difference the path does on the assembly
output? (i.e. have .s file from working and non-working build?)

Thanks,
Honza

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Force aliases to be output when cgraph decides so
  2011-09-25 11:54 ` Jan Hubicka
@ 2011-10-10 19:28   ` David Edelsohn
  2011-10-10 19:59     ` Jan Hubicka
  0 siblings, 1 reply; 5+ messages in thread
From: David Edelsohn @ 2011-10-10 19:28 UTC (permalink / raw)
  To: Jan Hubicka; +Cc: GCC Patches

Honza,

I filed PR50689.  After your change, the alias is moved from near the
end of the file to just before the definition.  AIX assembler is a
single pass assembler that does not allow forward references.

- David

On Sun, Sep 25, 2011 at 6:27 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
>> Jan,
>>
>> This patch causes a bootstrap failure on AIX because some symbols no
>> longer are exported by libstdc++.  When I remove your patch, bootstrap
>> proceeds past this failure.
>
> Oops, would be possible to see what kind of difference the path does on the assembly
> output? (i.e. have .s file from working and non-working build?)
>
> Thanks,
> Honza
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Force aliases to be output when cgraph decides so
  2011-10-10 19:28   ` David Edelsohn
@ 2011-10-10 19:59     ` Jan Hubicka
  0 siblings, 0 replies; 5+ messages in thread
From: Jan Hubicka @ 2011-10-10 19:59 UTC (permalink / raw)
  To: David Edelsohn; +Cc: Jan Hubicka, GCC Patches

> Honza,
> 
> I filed PR50689.  After your change, the alias is moved from near the
> end of the file to just before the definition.  AIX assembler is a
> single pass assembler that does not allow forward references.

I see, I guess the easy bugfix is to make the aliases output afterwards.  I will send you patch for that.

Honza

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Force aliases to be output when cgraph decides so
@ 2011-09-13 15:11 Jan Hubicka
  0 siblings, 0 replies; 5+ messages in thread
From: Jan Hubicka @ 2011-09-13 15:11 UTC (permalink / raw)
  To: gcc-patches

Hi,
this patch solves second problem seen on libreoffice build.  Here cgraph decides to output
alias, but because assemble_alias still contains the old alias pair path, it ends up adding
the alias pair that is later discarded and alias not output.

This will be cleaned up once I turn weakrefs to the new alias infrastructure. Hopefully
next week.

Honza

Bootstrapped/regtested x86_64-linux, comitted.

	PR other/49533
	* cgraphunit.c (assemble_thunks_and_aliases): Force alias to be output.
Index: cgraphunit.c
===================================================================
--- cgraphunit.c	(revision 178808)
+++ cgraphunit.c	(working copy)
@@ -1772,9 +1772,15 @@ assemble_thunks_and_aliases (struct cgra
     if (ref->use == IPA_REF_ALIAS)
       {
 	struct cgraph_node *alias = ipa_ref_refering_node (ref);
+        bool saved_written = TREE_ASM_WRITTEN (alias->thunk.alias);
+
+	/* Force assemble_alias to really output the alias this time instead
+	   of buffering it in same alias pairs.  */
+	TREE_ASM_WRITTEN (alias->thunk.alias) = 1;
 	assemble_alias (alias->decl,
 			DECL_ASSEMBLER_NAME (alias->thunk.alias));
 	assemble_thunks_and_aliases (alias);
+	TREE_ASM_WRITTEN (alias->thunk.alias) = saved_written;
       }
 }
 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-10-10 19:49 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-24 19:24 Force aliases to be output when cgraph decides so David Edelsohn
2011-09-25 11:54 ` Jan Hubicka
2011-10-10 19:28   ` David Edelsohn
2011-10-10 19:59     ` Jan Hubicka
  -- strict thread matches above, loose matches on Subject: below --
2011-09-13 15:11 Jan Hubicka

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).