diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2020-08-07 18:00:00 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2020-08-07 18:00:00 +0000 |
commit | d5cb4409ab6b04a6ed7c00245e2c9a430f352b16 (patch) | |
tree | 8a702b9b589b6b1f0f9a984b1e972cb28cfe6ca1 /m4 | |
parent | 82906480da407a48391ff4406b96a62261128c97 (diff) | |
download | pam-d5cb4409ab6b04a6ed7c00245e2c9a430f352b16.tar.gz pam-d5cb4409ab6b04a6ed7c00245e2c9a430f352b16.tar.bz2 pam-d5cb4409ab6b04a6ed7c00245e2c9a430f352b16.zip |
Build all installed executables with -Wl,-z,now if available
This makes them built with full RELRO if -Wl,-z,relro is specified.
* m4/ld-z-now.m4: New file.
* m4/.gitignore: Add it to exclude list.
* configure.ac: Call PAM_LD_Z_NOW.
(EXE_LDFLAGS): Append $ZNOW_LDFLAGS.
Diffstat (limited to 'm4')
-rw-r--r-- | m4/.gitignore | 1 | ||||
-rw-r--r-- | m4/ld-z-now.m4 | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/m4/.gitignore b/m4/.gitignore index 6937d745..c78f8072 100644 --- a/m4/.gitignore +++ b/m4/.gitignore @@ -3,6 +3,7 @@ !jh_path_xml_catalog.m4 !ld-as-needed.m4 !ld-no-undefined.m4 +!ld-z-now.m4 !ld-O1.m4 !libprelude.m4 !warnings.m4 diff --git a/m4/ld-z-now.m4 b/m4/ld-z-now.m4 new file mode 100644 index 00000000..1bc82594 --- /dev/null +++ b/m4/ld-z-now.m4 @@ -0,0 +1,16 @@ +#!/usr/bin/m4 +dnl Check whether ld supports "-z now" + +AC_DEFUN([PAM_LD_Z_NOW], [dnl + AC_CACHE_CHECK([whether ld supports "-z now"], + [pam_cv_ld_z_now], + [saved_LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -Wl,-z,now" + AC_LINK_IFELSE([AC_LANG_PROGRAM(,)], + [pam_cv_ld_z_now=yes], + [pam_cv_ld_z_now=no]) + LDFLAGS="$saved_LDFLAGS"]) + AS_IF([test $pam_cv_ld_z_now = yes], + [ZNOW_LDFLAGS="-Wl,-z,now"], + [ZNOW_LDFLAGS=]) +]) |