[lto] Merge from trunk @151721

Richard Henderson rth@redhat.com
Mon Sep 21 15:08:00 GMT 2009


On 09/21/2009 09:24 AM, Diego Novillo wrote:
> rth, the only wonky change I had to add was in the call to
> build_common_builtin_nodes.  This flag is supposed to be true if
> the target is arm-eabi and we're a C++/Java front end.  In lto1 we can
> tell whether the target is arm-eabi, but we have no way of
> knowing what kind of language the object file is from.  I'm now
> calling the function with targetm.arm_eabi_unwinder, but that is
> almost certainly wrong.  What should be done here?

We started discussing this here:

   http://gcc.gnu.org/ml/gcc-patches/2009-09/msg00408.html

Basically, we'd want to record this C++/Java flag in the
EH region structure during pass_lower_eh.  This would get
streamed out, etc.

When we get to pass_lower_resx, we look at the flag for
the region we're leaving and choose the correct routine
to call, either _Unwind_Resume or __cxa_end_cleanup.

As for build_common_builtin_nodes, we'd build *both* decls
and remove the flag.


r~



More information about the Gcc-patches mailing list