This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH] Replece LDFLAGS-* = $(no-pie-ldflag) with tst-*-no-pie = yes [BZ #22630]
On Tue, Dec 19, 2017 at 9:07 AM, Joseph Myers <joseph@codesourcery.com> wrote:
> On Mon, 18 Dec 2017, H.J. Lu wrote:
>
>> $(no-pie-ldflag) is no longer effective since no-pie-ldflag is defined
>> to -no-pie only if GCC defaults to PIE. When --enable-static-pie is
>> used to configure glibc build and GCC doesn't default to PIE. no-pie-ldflag
>> is undefined and these tests:
>>
>> elf/Makefile:LDFLAGS-tst-dlopen-aout = $(no-pie-ldflag)
>> elf/Makefile:LDFLAGS-tst-prelink = $(no-pie-ldflag)
>> elf/Makefile:LDFLAGS-tst-main1 = $(no-pie-ldflag)
>> gmon/Makefile:LDFLAGS-tst-gmon := $(no-pie-ldflag)
>>
>> may fail to link. This patch replaces "-pie" with
>
> Why is --enable-static-pie causing non-static test cases to be built as
> PIE? I see nothing in the NEWS or INSTALL entries to indicate such an
> effect. That looks like the underlying problem here.
>
To build static PIE, all .o files need to compiled with -fPIE. Given all
input .o files are compiled with -fPIE when creating an executable, should
we generate PIE or nor no-PIE?
--
H.J.