diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2012-11-21 12:31:01 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2012-11-21 12:34:32 -0800 |
commit | 6bfea97493900d456245ca9f29765e1f0ee9d649 (patch) | |
tree | 29187abc833cddbe02fe07b6eb96232300f9ab49 /aclocal.m4 | |
parent | ad35f2dd750ed3e3f483409ef50b38ea19745002 (diff) | |
download | glibc-6bfea97493900d456245ca9f29765e1f0ee9d649.tar.gz glibc-6bfea97493900d456245ca9f29765e1f0ee9d649.tar.xz glibc-6bfea97493900d456245ca9f29765e1f0ee9d649.zip |
Properly check linker -z XXX support
Diffstat (limited to 'aclocal.m4')
-rw-r--r-- | aclocal.m4 | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/aclocal.m4 b/aclocal.m4 index b173e9e339..956ea8616c 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -213,3 +213,31 @@ AC_DEFUN([ACX_BUGURL],[ AC_SUBST(REPORT_BUGS_TO) AC_SUBST(REPORT_BUGS_TEXI) ]) + +dnl Check linker option support. +dnl LIBC_LINKER_FEATURE([ld_option], [cc_option], [action-if-true], [action-if-false]) +AC_DEFUN([LIBC_LINKER_FEATURE], +[AC_MSG_CHECKING([for linker that supports $1]) +libc_linker_feature=no +if test x"$gnu_ld" = x"yes"; then + libc_linker_check=`$LD -v --help 2>/dev/null | grep "\$1"` + if test -n "$libc_linker_check"; then + cat > conftest.c <<EOF +int _start (void) { return 42; } +EOF + if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS + $2 -nostdlib -nostartfiles + -fPIC -shared -o conftest.so conftest.c + 1>&AS_MESSAGE_LOG_FD]) + then + libc_linker_feature=yes + fi + rm -f conftest* + fi +fi +if test $libc_linker_feature = yes; then + $3 +else + $4 +fi +AC_MSG_RESULT($libc_linker_feature)]) |