This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: -flto / -flto-partition=none question on ia64-hp-hpux11.23
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: sje at cup dot hp dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 1 Mar 2011 11:10:43 +0100
- Subject: Re: -flto / -flto-partition=none question on ia64-hp-hpux11.23
- References: <201102252322.p1PNM2W08338@lucas.cup.hp.com> <AANLkTikhtvStR_Lhs4+2CbGh6UdPYiktgWAWaX7x-EV5@mail.gmail.com> <1298917338.2267.235.camel@hpsje.cup.hp.com> <AANLkTik3n1oAQdSg6ytvLpC4uJ0n_dvzrLxgu8p-wnzL@mail.gmail.com> <1298935631.2267.282.camel@hpsje.cup.hp.com>
On Tue, Mar 1, 2011 at 12:27 AM, Steve Ellcey <sje@cup.hp.com> wrote:
> On Mon, 2011-02-28 at 23:56 +0100, Richard Guenther wrote:
>
>> The gcc_personality is provided by libgcc_s I think, it's what you
>> get when compiling C code with -fexceptions and install
>> cleanup handlers.
>>
>> It seems that LTO comes to the conclusion that the C++ specific
>> personality is not necessary but the generic one suffices. ?But
>> that should still be provided by the original link libraries.
>>
>> Richard.
>
> The libgcc_s on the ia64-hp-hpux* platform, at least when built using
> the system unwind library, does not have a gcc personality function and
> so far it has not needed one. ?It seems odd that LTO would choose to use
> a C personality function on a fully C++ program. ?Is there someway I can
> override that and force LTO to use the C++ personality function on C++
> programs?
There is currently no way to force this for a particular target.
> It looks like this is coming from lto_eh_personality in lto.c through
> the use of lhd_gcc_personality.
It comes from the fact that we delay choosing a personality function
for functions that are happy with any personality. There is
the function_needs_eh_personality () function that decides this.
If you force that to never return eh_personality_any but
eh_personality_lang this optimization would not happen.
Note that the missing personality function in libgcc_s is a bug though
as rth notes.
Richard.
>
> Steve Ellcey
> sje@cup.hp.com
>
>