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: RFC: The unwind specification draft for GNU/Linux/ia64


On Thu, Jul 08, 2004 at 04:50:51PM -0700, Richard Henderson wrote:
> On Thu, Jul 08, 2004 at 01:59:34PM -0700, H. J. Lu wrote:
> > The current unwind specification for GNU/Linux/ia64 does't specify how
> > to provide the binary compatibilty when the 3rd part unwind library
> > is used.
> 
> I'm certain I don't want to get into this, but ...
> 
> > 1. An implementation of GNU/Linux compiler shall provide the personality
> > routine, __gnu_linux_[language]_personality_v0.
> > h. For C, it will be __gnu_linux_c_personality_v0.
> > i. For C++, it will be __gnu_linux_cxx_personality_v0.
> 
> Why are you specifying this at all?  The LSDA is entirely private
> to the generating compiler and the personality routine it chose
> to install.  I object to this.

At first, I thought it would be nice to mix .o files compiled by
gcc and icc with either gcc or icc as driver to create executables.
It turns out that it wouldn't be easy for the reasons you have
mentioned. I hoped that maybe we could do it in the future. But
it looks very unlikely. I will drop it from the proposal.

> 
> > 1. __libunwind_Unwind_Backtrace: Alias of _Unwind_Backtrace
> [...]
> 
> What are your plans for libgcc_s.so?

For platforms using the Linux unwind ABI:

1. Move unwind functions from libgcc_s.so to libunwind.so.
2. Turn the old versioned functions in libgcc_s.so into stubs calling
the real ones in libunwind.so for backward binary compatibility and
don't export them.
3. Make libgcc_s.so depend on libunwind.so.
4. Pass --no-add-needed -lunwind --add-needed to ld.

Maybe we can do it for all platforms. But it may require symbol
versioning support in ld.so.


H.J.


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