| From 23ae79fe84a3fa5d995b8c6b9be70587e37a6cd8 Mon Sep 17 00:00:00 2001 |
| From: Reini Urban <rurban@cpan.org> |
| Date: Mon, 26 Mar 2018 18:31:30 +0200 |
| Subject: [PATCH] add pic_flag to RETPOLINE cflags and ldflags |
| |
| This fixes the linke probe, and fixes #55. |
| Also: libtool is stripping pic_flags from the shared link cmd. |
| |
| Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> |
| [Retrieved from: |
| https://github.com/rurban/safeclib/commit/23ae79fe84a3fa5d995b8c6b9be70587e37a6cd8] |
| --- |
| configure.ac | 2 +- |
| m4/ax_compiler_flags_cflags.m4 | 4 ++-- |
| m4/ax_compiler_flags_ldflags.m4 | 2 +- |
| 3 files changed, 4 insertions(+), 4 deletions(-) |
| |
| diff --git a/configure.ac b/configure.ac |
| index 33ed7326..10325dc6 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -4,7 +4,7 @@ |
| # 2017 Reini Urban <rurban@cpan.org> |
| # |
| # Copyright (c) 2012, 2013 Cisco Systems |
| -# Copyright (c) 2017 Reini Urban |
| +# Copyright (c) 2017, 2018 Reini Urban |
| # All rights reserved. |
| # |
| # Permission is hereby granted, free of charge, to any person |
| diff --git a/m4/ax_compiler_flags_cflags.m4 b/m4/ax_compiler_flags_cflags.m4 |
| index 31e3ba8c..1dec00b2 100644 |
| --- a/m4/ax_compiler_flags_cflags.m4 |
| +++ b/m4/ax_compiler_flags_cflags.m4 |
| @@ -66,12 +66,12 @@ AC_DEFUN([AX_COMPILER_FLAGS_CFLAGS],[ |
| ]) |
| |
| # retpoline: clang-7. Note: requires lld-7 linker support |
| - AX_APPEND_COMPILE_FLAGS(["-mretpoline -DRETPOLINE"], |
| + AX_APPEND_COMPILE_FLAGS(["-mretpoline -DRETPOLINE $lt_prog_compiler_pic"], |
| [RETPOLINE_CFLAGS],[$ax_compiler_flags_test]) |
| # or the equivalent gcc-7.3 variant |
| if test -z "$RETPOLINE_CFLAGS"; then |
| AX_APPEND_COMPILE_FLAGS( |
| - ["-mindirect-branch=thunk-extern -mfunction-return=thunk-extern -mindirect-branch-register -DRETPOLINE"], |
| + ["-mindirect-branch=thunk-extern -mfunction-return=thunk-extern -mindirect-branch-register $lt_prog_compiler_pic -DRETPOLINE"], |
| [RETPOLINE_CFLAGS],[$ax_compiler_flags_test]) |
| fi |
| |
| diff --git a/m4/ax_compiler_flags_ldflags.m4 b/m4/ax_compiler_flags_ldflags.m4 |
| index d0287852..193f412e 100644 |
| --- a/m4/ax_compiler_flags_ldflags.m4 |
| +++ b/m4/ax_compiler_flags_ldflags.m4 |
| @@ -66,7 +66,7 @@ AC_DEFUN([AX_COMPILER_FLAGS_LDFLAGS],[ |
| dnl /usr/bin/ld: warning: -z retpolineplt ignored. |
| case $RETPOLINE_CFLAGS in |
| *-mretpoline*|*-mindirect-branch=thunk-extern*) |
| - AX_APPEND_LINK_FLAGS([-Wl,-z,retpolineplt], |
| + AX_APPEND_LINK_FLAGS(["$RETPOLINE_CFLAGS -Wl,-z,retpolineplt"], |
| [RETPOLINE_LDFLAGS],[$ax_compiler_flags_test]) |
| if test -n "$RETPOLINE_LDFLAGS"; then |
| AM_CFLAGS="$AM_CFLAGS $RETPOLINE_CFLAGS" |