diff options
-rw-r--r-- | configure.ac | 3 | ||||
-rw-r--r-- | m4/.gitignore | 1 | ||||
-rw-r--r-- | m4/ld-z-now.m4 | 16 |
3 files changed, 19 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 36f2cbe1..40c1c557 100644 --- a/configure.ac +++ b/configure.ac @@ -75,6 +75,7 @@ AM_PROG_CC_C_O PAM_LD_AS_NEEDED PAM_LD_NO_UNDEFINED PAM_LD_O1 +PAM_LD_Z_NOW dnl Largefile support AC_SYS_LARGEFILE @@ -209,7 +210,7 @@ AS_IF([test "$enable_pie" = yes], PIE_LDFLAGS=]) EXE_CFLAGS="$PIE_CFLAGS" -EXE_LDFLAGS="$PIE_LDFLAGS" +EXE_LDFLAGS="$PIE_LDFLAGS $ZNOW_LDFLAGS" AC_SUBST(EXE_CFLAGS) AC_SUBST(EXE_LDFLAGS) 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=]) +]) |