aboutsummaryrefslogtreecommitdiff
path: root/zlib/configure.ac
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2023-08-07 13:07:12 +0200
committerAlan Modra <amodra@gmail.com>2023-08-12 09:58:23 +0930
commit60b42421e900f9bb186c306a657f41b88e422bcd (patch)
tree129840da06f088a9758bcb3b903fb476bdd5323c /zlib/configure.ac
parent947edb094ece682e6642c497a871749e8c12d5a5 (diff)
downloadbinutils-60b42421e900f9bb186c306a657f41b88e422bcd.zip
binutils-60b42421e900f9bb186c306a657f41b88e422bcd.tar.gz
binutils-60b42421e900f9bb186c306a657f41b88e422bcd.tar.bz2
configure: Implement --enable-host-pie
This patch implements the --enable-host-pie configure option which makes the compiler executables PIE. This can be used to enhance protection against ROP attacks, and can be viewed as part of a wider trend to harden binaries. Co-Authored by: Iain Sandoe <iain@sandoe.co.uk> * configure.ac (--enable-host-pie): New check. Set PICFLAG after this check. intl/ * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG after this check. libdecnumber/ * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG after this check. zlib/ * configure.ac (--enable-host-shared): Don't set PICFLAG here. (--enable-host-pie): New check. Set PICFLAG after this check.
Diffstat (limited to 'zlib/configure.ac')
-rw-r--r--zlib/configure.ac21
1 files changed, 18 insertions, 3 deletions
diff --git a/zlib/configure.ac b/zlib/configure.ac
index ec73c21..b50b9c7 100644
--- a/zlib/configure.ac
+++ b/zlib/configure.ac
@@ -121,11 +121,26 @@ else
multilib_arg=
fi
+# Enable --enable-host-shared.
AC_ARG_ENABLE(host-shared,
[AS_HELP_STRING([--enable-host-shared],
- [build host code as shared libraries])],
-[PICFLAG=-fPIC], [PICFLAG=])
-AC_SUBST(PICFLAG)
+ [build host code as shared libraries])])
+AC_SUBST(enable_host_shared)
+
+# Enable --enable-host-pie.
+AC_ARG_ENABLE(host-pie,
+[AS_HELP_STRING([--enable-host-pie],
+ [build host code as PIE])])
+AC_SUBST(enable_host_pie)
+
+if test x$enable_host_shared = xyes; then
+ PICFLAG=-fPIC
+elif test x$enable_host_pie = xyes; then
+ PICFLAG=-fPIE
+else
+ PICFLAG=
+fi
+AC_SUBST(PICFLAG)
AC_CONFIG_FILES([Makefile])
AC_OUTPUT