[Bug build/22614] gcc: error: unrecognized command line option ‘-no-pie’
cvs-commit at gcc dot gnu.org
sourceware-bugzilla@sourceware.org
Sat Dec 16 02:28:00 GMT 2017
https://sourceware.org/bugzilla/show_bug.cgi?id=22614
--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, hjl/pie/static has been created
at c393eee146d198c12eb913ce87d5301751b00940 (commit)
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c393eee146d198c12eb913ce87d5301751b00940
commit c393eee146d198c12eb913ce87d5301751b00940
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Dec 15 18:18:25 2017 -0800
Pass -no-pie to GCC only if GCC defaults to PIE [BZ #22614]
After --enable-static-pie is added to configure, libc_cv_pie_default is
set to yes when either --enable-static-pie is used to configure glibc
or GCC defaults to PIE. We should set no-pie-ldflag to -no-pie, which
is supported on GCC 6 and later, only if GCC defaults to PIE, not when
--enable-static-pie is used to configure glibc.
Tested on x32 with --enable-static-pie using GCC 5 and without
--enable-static-pie using GCC 7.
[BZ #22614]
* Makeconfig (no-pie-ldflag): Set to -no-pie only if
$(cc-pie-default) == yes.
* config.make.in (cc-pie-default): New.
* configure.ac (libc_cv_pie_default): Renamed to ...
(libc_cv_cc_pie_default): This.
(libc_cv_pie_default): Set to $libc_cv_cc_pie_default.
* configure: Regenerated.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=2516b61f06bbac449fb14605b73dc36050872fe4
commit 2516b61f06bbac449fb14605b73dc36050872fe4
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Wed Sep 27 16:47:29 2017 -0700
Add --enable-static-pie to build-many-glibcs.py
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=967b89cfc59d976aad2ccae36d241cbb65a5a53d
commit 967b89cfc59d976aad2ccae36d241cbb65a5a53d
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Sep 28 16:13:54 2017 -0700
sparc: Check PIC instead of SHARED in start.S
Since start.o may be compiled as PIC, we should check PIC instead of
SHARED.
* sysdeps/sparc/sparc32/start.S (_start): Check PIC instead of
SHARED.
* sysdeps/sparc/sparc64/start.S (_start): Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=c332c8d087b340376e73d9cfb96b34a3499e88e2
commit c332c8d087b340376e73d9cfb96b34a3499e88e2
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Sep 28 16:13:22 2017 -0700
microblaze: Check PIC instead of SHARED in start.S
Since start.o may be compiled as PIC, we should check PIC instead of
SHARED.
* sysdeps/microblaze/start.S (_start): Check PIC instead of SHARED.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=9fe5ea04c3a7f0f50908de1dac5ec12cf67cd865
commit 9fe5ea04c3a7f0f50908de1dac5ec12cf67cd865
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Sep 28 14:55:18 2017 -0700
sh: Update elf_machine_load_address for static PIE
When --enable-static-pie is used to configure glibc, we need to use
_dl_relocate_static_pie to compute load address in static PIE.
* sysdeps/sh/dl-machine.h (elf_machine_load_address): Use
_dl_relocate_static_pie instead of _dl_start to compute load
address in static PIE.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f6a00f95e09abaf4daf109662d9a6fd443106e30
commit f6a00f95e09abaf4daf109662d9a6fd443106e30
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Thu Sep 28 14:53:06 2017 -0700
s390: Update elf_machine_load_address for static PIE
When --enable-static-pie is used to configure glibc, we need to use
_dl_relocate_static_pie to compute load address in static PIE.
* sysdeps/s390/s390-32/dl-machine.h (elf_machine_dynamic): Use
_dl_relocate_static_pie instead of _dl_start to compute load
address in static PIE.
* sysdeps/s390/s390-64/dl-machine.h (elf_machine_dynamic):
Likewise.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=13be4b4c4ecb244d2bc3a10cecaf26bf8dabb3e9
commit 13be4b4c4ecb244d2bc3a10cecaf26bf8dabb3e9
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Fri Nov 24 07:13:10 2017 -0800
aarch64: fix start code for static pie
with upcoming static pie patches there are three flavors of the crt startup
code:
1) crt1.o used for non-pie static linking (executable has no relocs),
2) Scrt1.o used for dynamic linking (dynamic linker relocates),
3) rcrt1.o used for static pie linking (self relocation is needed)
when crt1.o and rcrt1.o is built in the --enable-static-pie case -DPIC is
passed,
when Scrt1.o is built then -DPIC -DSHARED is passed.
(crt1.o gets a dummy _dl_relocate_static_pie that interposes the one in
libc so no self-relocation is done in that case in __libc_start_main)
the Scrt1.o code is position independent but it relies on GOT entries that
need to be relocated which happens later and the static linker cannot relax
the GOT loads, so rcrt1.o needs separate implementation.
This implementation works with .text <= 4G files, which is fine, currently
the toolchain does not support larger position independent executables.
tests pass with ld/22269 and ld/22263 binutils bugs fixed.
this patch is on top of master but assumes the static pie patches.
* sysdeps/aarch64/start.S (_start): Handle PIC && !SHARED case.
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=f7204295e49f2d115f3227bcfbbfdcf4b7c1387e
commit f7204295e49f2d115f3227bcfbbfdcf4b7c1387e
Author: H.J. Lu <hjl.tools@gmail.com>
Date: Fri Dec 1 09:49:25 2017 -0800
nios2: Don't use MIN in dl-machine.h
MIN is used, but param.h may not be included, so expand its single use
inline.
* sysdeps/nios2/dl-machine.h (elf_machine_rela): Expand MIN.
-----------------------------------------------------------------------
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list