This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH 2/2] Add a testcase for copy reloc against protected data
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 31 Mar 2015 05:26:51 -0700
- Subject: Re: [PATCH 2/2] Add a testcase for copy reloc against protected data
- Authentication-results: sourceware.org; auth=none
- References: <20150306002424 dot GA17971 at intel dot com> <alpine dot DEB dot 2 dot 10 dot 1503061903280 dot 24477 at digraph dot polyomino dot org dot uk> <CAMe9rOpROBqX81gnjQuYn3dVBquSvPsMA9oWE5F+8csknWf66g at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1503062221230 dot 9654 at digraph dot polyomino dot org dot uk> <CAMe9rOrA04xcDvirALYTpqrKqF8RQ69vMNKu-xTYVaF1oFNj_g at mail dot gmail dot com> <alpine dot DEB dot 2 dot 10 dot 1503062305290 dot 9654 at digraph dot polyomino dot org dot uk> <CAMe9rOoiKL7xOC0vdBgBR_djA7E3pSS5R73Ge_+gfYVJao5G1g at mail dot gmail dot com>
On Fri, Mar 6, 2015 at 3:24 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Fri, Mar 6, 2015 at 3:07 PM, Joseph Myers <joseph@codesourcery.com> wrote:
>> On Fri, 6 Mar 2015, H.J. Lu wrote:
>>
>>> On Fri, Mar 6, 2015 at 2:23 PM, Joseph Myers <joseph@codesourcery.com> wrote:
>>> > On Fri, 6 Mar 2015, H.J. Lu wrote:
>>> >
>>> >> > Suppose I configure / build with new binutils but a GCC version without
>>> >> > your patches. What will the results be? That the tests don't build /
>>> >> > run? That they build / run but fail (best avoided if possible)? In
>>> >> > either case, you need clear documentation for architecture maintainers on
>>> >> > what GCC versions (*not* requiring any uncommitted GCC patches) must be
>>> >> > used to identify whether architecture-specific changes are needed and to
>>> >> > test such changes.
>>> >> >
>>> >>
>>> >> I will submit a separate patch to address GCC issue.
>>> >
>>> > I don't think these tests should go in glibc until:
>>>
>>> Which tests were you talking about? My copy relocation
>>> tests work with any GCC versions, with and without the fix
>>> for
>>>
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65248
>>
>> Thanks for the explanation. In
>> <https://sourceware.org/ml/libc-alpha/2015-03/msg00170.html> you
>> originally sent patches for all three of GCC, binutils, glibc, so giving
>> the impression there might be dependencies between these patches. If the
>> tests work with any GCC version (i.e. fail if the architecture hasn't been
>> fixed, pass if it has been fixed) then GCC changes shouldn't need to block
>> them.
>>
>
> To get copy reloc against protected data symbol working, you
> need to fix glibc, binutils and GCC. My glibc tests work around
> the GCC bug so that you don't need the fixed GCC to build/test
> glibc.
I checked in my testcase patch. I didn't close
https://sourceware.org/bugzilla/show_bug.cgi?id=17711
since only x86 is fixed. To fix it on a target with copy reloc, you need to
properly handle ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA like
x86. You also need to fix linker if tests fail.
--
H.J.