This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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: [arm] Use EABI unwind library


On Wednesday 22 September 2004 05:39, Benjamin Kosnik wrote:
> >There are a few more tweaks needed for full conformance, but these patches
> >contain the bulk of the changes.
>
> Any chance you could detail the extent of the remaining work?

I'm aware of the following issues, none of which require libstdc++ changes and 
only the first is relevant to exception handling:

- Cleanup routines should terminate by calling __cxa_end_cleanup, not 
_Unwind_Resume.
- Static object constructors should be placed in the .init_array secion using 
the R_ARM_TARGET1 relocation.
- Static object destructors should be registered with __eabi_atexit, not 
__cxa_atexit.

We also need to teach the unwind library how to restore coprocessor registers, 
although technically I think this is QoI rather than ABI conformance.

> You've alluded to changing the arm ABI for linux systems for gcc-4.0.0
> in past emails. Is this the plan? Is it a feature? Can you please
> document this, if it is indeed the case? If you do this (and the arm
> maintainer consents) you'll have to change ligbcc so's, or otherwise
> alert users who are expecting gcc-3.4.x and gcc-4.0.0 compatibility. Any
> thoughts on this?

I'm not sure how the plans for changing the linux abi fit together. The 
current arm-linux target should still be backwards compatible.

> >The libstdc++ code ended up with a few more #ifdefs that I'd like. However
> > the only alternative I see is to duplicate the whole
> > libsupc++/eh_personality.cc, which seems worse.
>
> I have no substantive problem with the libstdc++ patches. It would be
> nice if new additions to libsupc++ were consistently formatted with
> C++STYLE guidelines for C++ code.

I wasn't aware of this, although I should have been if I'd read the 
documentation properly. I'll fix it. Thanks for pointing it out.

Paul


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