diff options
author | bhuztez <[email protected]> | 2017-12-31 14:07:49 +0800 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2018-01-29 16:39:21 +0100 |
commit | 38a99af36f044459db40b76be2cc72c638eb6d98 (patch) | |
tree | e8c656436ed0d934aab93daa5c3bc8ef33a05cd4 /erts/configure.in | |
parent | b73e87f5de895860337c0d30473edd1e59667baa (diff) | |
download | otp-38a99af36f044459db40b76be2cc72c638eb6d98.tar.gz otp-38a99af36f044459db40b76be2cc72c638eb6d98.tar.bz2 otp-38a99af36f044459db40b76be2cc72c638eb6d98.zip |
make HiPE work on x86_64 when PIE is enabled
Currently HiPE amd64 assumes the runtime system code is loaded into
the low 2G of the address space. However, this is not the case when
PIE is enabled, it is loaded into a random location. So trampolines
are required to call BIFs, and also we have first to load the address
of sse2_fnegate_mask to a regisiter before xorpd in fchs.
Diffstat (limited to 'erts/configure.in')
-rw-r--r-- | erts/configure.in | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/erts/configure.in b/erts/configure.in index f15bb56435..dd6c52b079 100644 --- a/erts/configure.in +++ b/erts/configure.in @@ -2749,23 +2749,6 @@ if test "$cross_compiling" != "yes" && test X${enable_hipe} != Xno; then fi fi -dnl Check to disable -fPIE and friends for HiPE on amd64 -if test X${enable_hipe} = Xyes && test X$ARCH = Xamd64; then - AC_TRY_COMPILE(, [#if defined(__pie__) || defined(__PIE__) - #error -fPIE is enabled by default - #endif], - [AC_MSG_NOTICE([No -fPIE enabled by default])], - [AC_MSG_WARN([Security feature -fPIE will be disabled for HiPE]) - STATIC_CFLAGS="-fno-PIE $STATIC_CFLAGS" - saved_LDFLAGS=$LDFLAGS - LDFLAGS="-no-pie $LDFLAGS" - AC_TRY_LINK(,, [], - [LDFLAGS="-fno-PIE $saved_LDFLAGS" - AC_TRY_LINK(,, [], - [AC_MSG_WARN([Linked does not accept option -no-pie nor -fno-PIE]) - LDFLAGS=$saved_LDFLAGS])])]) -fi - if test X${enable_hipe} = Xyes; then case $OPSYS in linux) |