This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: -flto / -flto-partition=none question on ia64-hp-hpux11.23


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]