This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH roland/Versions.def] Get rid of Versions.def source file
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Roland McGrath <roland at hack dot frob dot com>
- Cc: "GNU C. Library" <libc-alpha at sourceware dot org>, Carlos O'Donell <carlos at redhat dot com>
- Date: Fri, 21 Mar 2014 18:09:32 +0000
- Subject: Re: [PATCH roland/Versions.def] Get rid of Versions.def source file
- Authentication-results: sourceware.org; auth=none
- References: <20140228214559 dot BD8BF744B6 at topped-with-meat dot com>
On Fri, 28 Feb 2014, Roland McGrath wrote:
> This would have caught the particular motivating instance, but it won't
> necessarily catch all such cases. That is, if, say glibc-2.42 made some
> symbols obsolete for link-time with:
> #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_42)
> but no GLIBC_2.42 version set were added to any Versions file--i.e. a
> release where we obsolete a symbol but do not add any new symbols--then the
> same scenario that broke us recently would happen again. What would catch
> that is -Werror=undef, which we will get to separately. The fix then would
> be to just add:
> libc {
> GLIBC_2.42 {
> }
> }
> to some Versions file, rather than adding it to Versions.def.
Which Versions file should be used when? We have
In file included from ../sysdeps/generic/unwind-dw2-fde-glibc.c:25:0:
../include/shlib-compat.h:45:10: warning: "ABI_libc_GLIBC_2_2_5" is not
defined [-Wundef]
(and likewise unwind-dw2-fde.c) with associated ABI test failures
@@ -1,6 +0,0 @@
-GCC_3.0
- GCC_3.0 A
- _Unwind_Find_FDE F
- __deregister_frame_info_bases F
- __register_frame_info_bases F
- __register_frame_info_table_bases F
@@ -100,0 +95 @@ GLIBC_2.0
+ _Unwind_Find_FDE F
@@ -126,0 +122 @@ GLIBC_2.0
+ __deregister_frame_info_bases F
@@ -194,0 +191 @@ GLIBC_2.0
+ __register_frame_info_bases F
@@ -195,0 +193 @@ GLIBC_2.0
+ __register_frame_info_table_bases F
on MIPS (the warning is seen for i686 builds, but no ABI failures there).
So we need to add GLIBC_2.2.5 for libc to some Versions file -
elf/Versions as that's where the GCC_3.0 versions for these symbols are?
--
Joseph S. Myers
joseph@codesourcery.com