gcc/libsanitizer
Christophe Lyon 45d53c679a [ARM/FDPIC v6 03/24] [ARM] FDPIC: Force FDPIC related options unless -mno-fdpic is provided
In FDPIC mode, we set -fPIE unless the user provides -fno-PIE, -fpie,
-fPIC or -fpic: indeed FDPIC code is PIC, but we want to generate code
for executables rather than shared libraries by default.

We also make sure to use the --fdpic assembler option, and select the
appropriate linker emulation.

At link time, we also default to -pie, unless we are generating a
shared library or a relocatable file (-r). Note that static link is
not supported as it requires specifying the dynamic linker because the
executable still has to relocate itself at startup.

We also force 'now' binding since lazy binding is not supported.

We should also apply the same behavior for -Wl,-Ur as for -r, but I
couldn't find how to describe that in the specs fragment.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
	Mickaël Guêné <mickael.guene@st.com>

	gcc/
	* config.gcc: Handle arm*-*-uclinuxfdpiceabi.
	* config/arm/bpabi.h (TARGET_FDPIC_ASM_SPEC): New.
	(SUBTARGET_EXTRA_ASM_SPEC): Use TARGET_FDPIC_ASM_SPEC.
	* config/arm/linux-eabi.h (FDPIC_CC1_SPEC): New.
	(CC1_SPEC): Use FDPIC_CC1_SPEC.
	(MUSL_DYNAMIC_LINKER): Add -fdpic suffix when needed.
	* config/arm/uclinuxfdpiceabi.h: New file.

	libsanitizer/
	* configure.tgt (arm*-*-*fdpiceabi): Sanitizers are
	unsupported in this configuration.



Co-Authored-By: Mickaël Guêné <mickael.guene@st.com>

From-SVN: r275565
2019-09-10 09:39:47 +02:00
..
asan libsanitize, asan - reapply r272406 2019-08-16 19:46:09 +00:00
builtins
include
interception [libsanitizer] Fix PR bootstrap/91455 2019-08-15 14:13:10 +00:00
libbacktrace [libsanitizer] Fix PR bootstrap/91455 2019-08-15 14:13:10 +00:00
lsan [libsanitizer] Fix PR bootstrap/91455 2019-08-15 14:13:10 +00:00
sanitizer_common [libsanitizer] Fix PR bootstrap/91455 2019-08-15 14:13:10 +00:00
tsan Reapply missing patch for libsanitizer. 2019-08-15 15:31:46 +00:00
ubsan [libsanitizer] Fix PR bootstrap/91455 2019-08-15 14:13:10 +00:00
acinclude.m4
aclocal.m4 [libsanitizer] Fix PR bootstrap/91455 2019-08-15 14:13:10 +00:00
ChangeLog [ARM/FDPIC v6 03/24] [ARM] FDPIC: Force FDPIC related options unless -mno-fdpic is provided 2019-09-10 09:39:47 +02:00
config.h.in
configure [libsanitizer] Fix PR bootstrap/91455 2019-08-15 14:13:10 +00:00
configure.ac
configure.tgt [ARM/FDPIC v6 03/24] [ARM] FDPIC: Force FDPIC related options unless -mno-fdpic is provided 2019-09-10 09:39:47 +02:00
HOWTO_MERGE
libsanitizer.spec.in
libtool-version
LICENSE.TXT
LOCAL_PATCHES libsanitizer, record a local patch. 2019-08-16 19:49:07 +00:00
Makefile.am
Makefile.in [libsanitizer] Fix PR bootstrap/91455 2019-08-15 14:13:10 +00:00
MERGE
merge.sh
README.gcc

AddressSanitizer and ThreadSanitizer (https://github.com/google/sanitizers) are
projects initially developed by Google Inc.

Both tools consist of a compiler module and a run-time library.
The sources of the run-time library for these projects are hosted at
https://llvm.org/svn/llvm-project/compiler-rt in the following directories:
  include/sanitizer
  lib/sanitizer_common
  lib/interception
  lib/asan
  lib/tsan
  lib/lsan
  lib/ubsan

Trivial and urgent fixes (portability, build fixes, etc.) may go directly to the
GCC tree.  All non-trivial changes, functionality improvements, etc. should go
through the upstream tree first and then be merged back to the GCC tree.
The merges from upstream should be done with the aid of the merge.sh script;
it will also update the file MERGE to contain the upstream revision
we merged with.