* 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
* 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
* 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-09-24 19:24 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-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
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-13 15:11 Force aliases to be output when cgraph decides so Jan Hubicka
2011-09-24 19:24 David Edelsohn
2011-09-25 11:54 ` Jan Hubicka
2011-10-10 19:28 ` David Edelsohn
2011-10-10 19:59 ` 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).