Message ID | CAMe9rOp60JA72qpZjiTAgo+P9v1XX-ohda4526WP1Gq_h8mQ8A@mail.gmail.com |
---|---|
State | New |
Headers | show |
It's clear from the content of the test that it cannot test what it's intended to test unless the file it passes to dlopen it an ET_EXEC. So if you want to build the test itself as PIE, then you need to change it to open some file other than itself.
On Fri, Mar 6, 2015 at 3:00 PM, Roland McGrath <roland@hack.frob.com> wrote: > It's clear from the content of the test that it cannot test what it's > intended to test unless the file it passes to dlopen it an ET_EXEC. So if > you want to build the test itself as PIE, then you need to change it to > open some file other than itself. Thanks. I will handle it properly.
On Fri, Mar 6, 2015 at 3:05 PM, H.J. Lu <hjl.tools@gmail.com> wrote: > On Fri, Mar 6, 2015 at 3:00 PM, Roland McGrath <roland@hack.frob.com> wrote: >> It's clear from the content of the test that it cannot test what it's >> intended to test unless the file it passes to dlopen it an ET_EXEC. So if >> you want to build the test itself as PIE, then you need to change it to >> open some file other than itself. > > Thanks. I will handle it properly. I think adding CFLAGS-tst-dlopen-aout.c += -fno-pie or some such may be the right fix. You want to have ET_EXEC, and it's easiest to guarantee ET_EXEC if you build it yourself, and the test itself will make a good ET_EXEC to test with -- no reason to build an extra ET_EXEC.
On 06 Mar 2015 15:21, Paul Pluzhnikov wrote: > On Fri, Mar 6, 2015 at 3:05 PM, H.J. Lu <hjl.tools@gmail.com> wrote: > > On Fri, Mar 6, 2015 at 3:00 PM, Roland McGrath <roland@hack.frob.com> wrote: > >> It's clear from the content of the test that it cannot test what it's > >> intended to test unless the file it passes to dlopen it an ET_EXEC. So if > >> you want to build the test itself as PIE, then you need to change it to > >> open some file other than itself. > > > > Thanks. I will handle it properly. > > I think adding > > CFLAGS-tst-dlopen-aout.c += -fno-pie > > or some such may be the right fix. it should be fine to compile as PIE as long as the final link isn't: LDFLAGS-tst-dlopen-aout.c = -no-pie -mike
diff --git a/elf/Makefile b/elf/Makefile index e852b5f..7edfcb7 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -150,6 +150,8 @@ tests += loadtest restest1 preloadtest loadfail multiload origtest resolvfail \ # reldep9 ifeq ($(build-hardcoded-path-in-tests),yes) tests += tst-dlopen-aout +tests-pie += tst-dlopen-aout +CFLAGS-tst-dlopen-aout.c += $(pie-ccflag) endif test-srcs = tst-pathopt