This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: ipa-visibility TLC 2/n
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: David Edelsohn <dje dot gcc at gmail dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Richard Henderson <rth at redhat dot com>, ramrad01 at arm dot com, Richard Sandiford <rdsandiford at googlemail dot com>
- Date: Sun, 8 Jun 2014 18:44:20 +0200
- Subject: Re: ipa-visibility TLC 2/n
- Authentication-results: sourceware.org; auth=none
- References: <CAGWvnykpdrmfigAjx+gXghA7iWx0mo4_7V1YaAhWMh9OQdx14A at mail dot gmail dot com> <20140528223103 dot GB15880 at kam dot mff dot cuni dot cz> <CAGWvnynmW2d7S=fDWOE0g7CKfcO=y+p0v4=0jwhTAuOx+pVbYQ at mail dot gmail dot com> <20140528231723 dot GA31990 at kam dot mff dot cuni dot cz> <87bnuh9fdo dot fsf at talisman dot default> <20140529171214 dot GB32218 at kam dot mff dot cuni dot cz> <877g53ag1p dot fsf at talisman dot default> <CAGWvnyn1b_gDjoE9rfie0Q66Jmv7pYYMq+9NtNn5=cdJ8NPzrw at mail dot gmail dot com>
> Honza,
>
> I finally was able to bootstrap GCC on AIX yesterday. The bootstrap
> works, but the testsuite results are in extremely bad shape: 250
> failures in G++ testsuite and 470 failures in libstdc++ testsuite.
David, this is first of the AIX fixes.
It makes aliases to be output after thunks so they are not silently miscompiled
by the assembler. I checked and the other ordering issue was actually
Solaris linker not liking thunks before functions (that is a pity, because
thunk just before function desn't need the tail jump: something I still want
to get right, but incrementally).
Bootstrapped/regtested on AIX, comitted.
Honza
* cgraphunit.c (assemble_thunks_and_aliases): Expand thunks before
outputting aliases.
Index: cgraphunit.c
===================================================================
--- cgraphunit.c (revision 211106)
+++ cgraphunit.c (working copy)
@@ -1718,8 +1718,8 @@
struct cgraph_node *thunk = e->caller;
e = e->next_caller;
+ expand_thunk (thunk, true);
assemble_thunks_and_aliases (thunk);
- expand_thunk (thunk, true);
}
else
e = e->next_caller;