This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: PPC64 LE bootstrap hack 2/2 - Make static linker rewrite GLIBC_2.18 deps as GLIBC_2.17.
- From: "Carlos O'Donell" <carlos at redhat dot com>
- To: Andreas Schwab <schwab at linux-m68k dot org>, Adam Conrad <adconrad at 0c3 dot net>
- Cc: Michael Matz <matz at suse dot de>, Andreas Jaeger <aj at suse dot com>, Steven Munroe <sjmunroe at us dot ibm dot com>, Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>, Brent Baude <baude at us dot ibm dot com>, Siddhesh Poyarekar <siddhesh at redhat dot com>, Jeff Law <law at redhat dot com>, GNU C Library <libc-alpha at sourceware dot org>, Matt Newsome <mnewsome at redhat dot com>
- Date: Wed, 05 Feb 2014 21:55:16 -0500
- Subject: Re: PPC64 LE bootstrap hack 2/2 - Make static linker rewrite GLIBC_2.18 deps as GLIBC_2.17.
- Authentication-results: sourceware.org; auth=none
- References: <52EB617D dot 1000609 at redhat dot com> <52F2973F dot 1060409 at redhat dot com> <20140205201154 dot GX15976 at 0c3 dot net> <8738jxb651 dot fsf at igel dot home> <52F2F67E dot 8000601 at redhat dot com>
On 02/05/2014 09:42 PM, Carlos O'Donell wrote:
> If you really want to be more precise with this hack, you could,
> in the code just above this, look for the 6 symbols specifically,
> and then and only then rewrite the dependency if it isn't one of
> them.
That won't work. In fact it's much more work than I thought.
You need to *add* an entry for GLIBC_2.17 into the internal vernaux
structures (you can't add it to the bfd src mapping because there
isn't space) used by bfd and then rewrite all the GLIBC_2.18 symbols
except the 6 new ones to reference GLIBC_2.17 e.g. at the time the
versyms are swapped in you must rewrite them to use your new GLIBC_2.17
vernaux entry.
Cheers,
Carlos.