[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