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 Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
include Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
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 Enable building libsanitizer with Intel CET 2017-11-17 22:34:50 +01:00
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 Update build system: include new files and run autoheader, autoconf, automake 2018-10-31 11:15:57 +00:00
configure [libsanitizer] Fix PR bootstrap/91455 2019-08-15 14:13:10 +00:00
configure.ac Remove obsolete Solaris 10 support 2019-05-14 17:17:23 +00:00
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 Update merge script and HOWTO_MERGE documentation. 2018-10-31 11:09:26 +00:00
libsanitizer.spec.in
libtool-version
LICENSE.TXT
LOCAL_PATCHES libsanitizer, record a local patch. 2019-08-16 19:49:07 +00:00
Makefile.am Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
Makefile.in [libsanitizer] Fix PR bootstrap/91455 2019-08-15 14:13:10 +00:00
MERGE Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
merge.sh Libsanitizer merge from trunk r368656. 2019-08-14 08:47:11 +00:00
README.gcc re PR sanitizer/89010 (Update URLs in libsanitizer/README.gcc) 2019-01-23 14:18:50 +01:00

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.