This is the mail archive of the mailing list for the glibc project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Replece LDFLAGS-* = $(no-pie-ldflag) with tst-*-no-pie = yes [BZ #22630]

On Tue, 19 Dec 2017, H.J. Lu wrote:

> On Tue, Dec 19, 2017 at 9:07 AM, Joseph Myers <> 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?

I'd expect a normal executable, in the case of dynamic executables, since 
nothing about --enable-static-pie says it changes how non-static 
executables are built.

Joseph S. Myers

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]