summaryrefslogtreecommitdiffstats
path: root/config/ld-symbolic.m4
blob: 16d64f9ad383c8e08d4490bc897eb5ea2b01ce3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
dnl Copyright (C) 2007 Free Software Foundation, Inc.
dnl This file is free software, distributed under the terms of the GNU
dnl General Public License.  As a special exception to the GNU General
dnl Public License, this file may be distributed as part of a program
dnl that contains a configuration script generated by Autoconf, under
dnl the same distribution terms as the rest of that program.

dnl Set SYMBOLIC_LDFLAGS to -Bsymbolic-functions for GNU linker if it
dnl is supported.
AC_DEFUN([ACX_PROG_LD_GNU_SYMBOLIC],
[AC_CACHE_CHECK([if the GNU linker ($LD) supports -Bsymbolic-functions],
acl_cv_prog_gnu_ld_symbolic, [
acl_cv_prog_gnu_ld_symbolic=no
AC_REQUIRE([AC_LIB_PROG_LD_GNU])
if test x"$with_gnu_ld" = x"yes"; then
  if $LD --help 2>&1 </dev/null | grep Bsymbolic-functions 1>&5; then
    acl_cv_prog_gnu_ld_symbolic=yes
  fi
fi])
if test x"$acl_cv_prog_gnu_ld_symbolic" = x"yes"; then
  SYMBOLIC_LDFLAGS="-Wl,-Bsymbolic-functions"
else
  SYMBOLIC_LDFLAGS=''
fi
])

dnl Set DYNAMIC_LIST_CPP_NEW_LDFLAGS to --dynamic-list-cpp-new for GNU
dnl linker if it is supported.
AC_DEFUN([ACX_PROG_LD_GNU_DYNAMIC_LIST_CPP_NEW],
[AC_CACHE_CHECK([if the GNU linker ($LD) supports --dynamic-list-cpp-new],
acl_cv_prog_gnu_ld_dynamic_list_cpp_new, [
acl_cv_prog_gnu_ld_dynamic_list_cpp_new=no
AC_REQUIRE([ACX_PROG_LD_GNU_SYMBOLIC])
if test x"$with_gnu_ld" = x"yes" -a \
	x"$acl_cv_prog_gnu_ld_symbolic" = x"yes"; then
  if $LD --help 2>&1 </dev/null | grep dynamic-list-cpp-new 1>&5; then
    acl_cv_prog_gnu_ld_dynamic_list_cpp_new=yes
  fi
fi])
if test x"$acl_cv_prog_gnu_ld_dynamic_list_cpp_new" = x"yes"; then
   DYNAMIC_LIST_CPP_NEW_LDFLAGS="$SYMBOLIC_LDFLAGS -Wl,--dynamic-list-cpp-new"
else
   DYNAMIC_LIST_CPP_NEW_LDFLAGS=''
fi
])
OpenPOWER on IntegriCloud