This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Don't use INTDEF/INTUSE in unwind-dw2-fde.c (bug 14132)
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Carlos O'Donell <carlos at redhat dot com>
- Cc: <libc-alpha at sourceware dot org>
- Date: Tue, 28 Oct 2014 17:11:37 +0000
- Subject: Re: Don't use INTDEF/INTUSE in unwind-dw2-fde.c (bug 14132)
- Authentication-results: sourceware.org; auth=none
- References: <Pine dot LNX dot 4 dot 64 dot 1410222356390 dot 5108 at digraph dot polyomino dot org dot uk> <544FB8B0 dot 8080101 at redhat dot com>
On Tue, 28 Oct 2014, Carlos O'Donell wrote:
> > 2014-10-22 Joseph Myers <joseph@codesourcery.com>
> >
> > [BZ #14132]
> > * sysdeps/generic/unwind-dw2-fde.c
>
> <off topic>
> Is this file shared with libgcc and should it be listed here?
>
> https://sourceware.org/glibc/wiki/SharedSourceFiles
It's not shared in the sense of being useful to have a single version that
works in both places. This file is in glibc purely for binary
compatibility with binaries built with old glibc and GCC versions (from
before symbol versioning, when glibc accidentally re-exported various
symbols from libgcc) - so there is no use in it supporting newer unwind
info features generated by newer GCC (unwinding from thread cancellation
uses the copy of the unwinder in shared libgcc, not this compat copy).
But those unwinder files did originate from libgcc, yes.
It might be possible to eliminate those copies by making libc on affected
architectures dlopen shared libgcc at startup and use the functions from
there in the same way as done for thread cancellation, but that might not
be desirable given most binaries wouldn't need it (really you'd want it to
be dlopened only for binaries referencing those symbols; lazy opening is
problematic for error reporting).
All the symbols conditioned on EXPORT_UNWIND_FIND_FDE in elf/Versions
really ought to be compat symbols, although they aren't at present (see
the note on the wiki todo list about reviewing exported symbols starting
with '_' in general).
> .. and while I'm thinking about it, should the soft-fp code be
> listed in our `SharedSourceFiles` wiki page?
Yes, it's shared, with the glibc version getting copied verbatim to
libgcc. I still need to implement one feature for the glibc version
(FP_TO_INT_ROUND) before it has all the features needed to replace the old
fork of the code in the Linux kernel (replacing the kernel version will
also be a lot of work, given the various interface changes since it
diverged over 10 years ago).
--
Joseph S. Myers
joseph@codesourcery.com