This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: PING^N: [PATCH] Add --enable-static-pie to build static PIE [BZ #19574]
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Joseph Myers <joseph at codesourcery dot com>
- Cc: "Carlos O'Donell" <carlos at redhat dot com>, Szabolcs Nagy <szabolcs dot nagy at arm dot com>, nd <nd at arm dot com>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Mon, 18 Dec 2017 17:14:13 -0800
- Subject: Re: PING^N: [PATCH] Add --enable-static-pie to build static PIE [BZ #19574]
- Authentication-results: sourceware.org; auth=none
- References: <CAMe9rOoyPf-77=cqmEW5Vg2KHwq48g6giW38qpA=oDUsnHaxCA@mail.gmail.com> <alpine.DEB.2.20.1711011603010.26405@digraph.polyomino.org.uk> <CAMe9rOrWi1W+F6K3TRL-2ipz-K4e0aP0ywsVg0XWgdCU1FV7OQ@mail.gmail.com> <CAMe9rOrTW7-JBtfOWjQrqMtS6Kp8efsAAbouFwQOnaAzh=sNpA@mail.gmail.com> <CAMe9rOr5qR-MnP+bEY_3OPdPK1qTnn_7JLi3Xn688E9JWKr1Zw@mail.gmail.com> <5A12C781.3030700@arm.com> <CAMe9rOohYeS4BJFp=TB4Zz26V4K2n8ZXSJX9kYqgEa=eW+w1xQ@mail.gmail.com> <5A18196C.90208@arm.com> <CAMe9rOqFfabivUDke1_ZxyEtV+L9T7VwKKdsdnR9M418L2TQBg@mail.gmail.com> <CAMe9rOpNdwd52vEnAUzOkmwkJXUWZz9-=dc9xfeZ96CYVM=8gQ@mail.gmail.com> <02278c7c-ade4-c8f2-c978-e66f77a101bd@redhat.com> <CAMe9rOpehZgqn6AXyRf8e99eTO8_Vw2+GVgcEyie0cW3fwwe=g@mail.gmail.com> <28f1a8e5-e480-049c-2f8e-ee8158701f52@redhat.com> <CAMe9rOqaWBNa6S5YoMLgOVK4dizSpE+GGOeeWYRROTUUCjfKXA@mail.gmail.com> <alpine.DEB.2.20.1712181332140.8805@digraph.polyomino.org.uk>
On Mon, Dec 18, 2017 at 5:37 AM, Joseph Myers <joseph@codesourcery.com> wrote:
> On Sat, 16 Dec 2017, H.J. Lu wrote:
>
>> Thanks for your time. I checked it in with the updated commit log.
>> I also updated
>>
>> https://sourceware.org/glibc/wiki/PortStatus
>
> That's missing key information:
>
> * It needs a complete list of architectures that have not yet been
> verified to work with static PIE. Architectures would then be removed
> from that list one at a time as and when someone verifies them to work and
> commits any fixes needed (and if the list becomes empty, the whole
> section of the wiki page could be removed at that point).
Done.
> * It needs instructions on how to test whether static PIE works for an
> architecture (or architecture/ABI pair, if appropriate). Is this
> "configure --enable-static-pie and make sure test results are as good as
> without that option", or "configure --enable-static-pie and make sure
> tests X, Y and Z pass", or doing one of those but additionally using GCC 8
> or later so -static-pie is supported, or something else? This needs to be
> on the wiki page so it's completely clear how someone can test the feature
> for an architecture and have confidence in whether it's working.
Only need to add --enable-static-pie to glibc configure to enable static
PIE, which is in INSTALL. The test results should be identical with or
without --enable-static-pie.
> When new ports are submitted for glibc, you should then seek confirmation
> of whether they work with static-PIE, as if they don't and get added to
> glibc without such support, they'd need to be added to the list on the
> wiki page.
>
>> for static PIE status. Should build-many-glibcs.py be updated to also
>> build static PIE for i386, x86_64 and x32? We can't build it by default
>> since the recent linker is needed.
>
> A few additional builds for configurations where all the GCC / binutils /
> glibc support required is present would be a good idea (but maybe not if
> enough support isn't present in the default versions used by
> build-many-glibcs.py, which means GCC 7 branch and binutils 2.29 branch).
GCC 7 branch and binutils 2.29 branch support static PIE on x86. The patch
is at:
https://sourceware.org/ml/libc-alpha/2017-12/msg00614.html
--
H.J.