mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-25 11:54:01 +08:00
re PR libfortran/27740 (libgfortran should use versioned symbols)
2007-04-24 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/27740 * configure.ac: New test to determine if symbol versioning is supported. * Makefile.am: Use result of above test to add appropriate linker flags. * gfortran.map: New file. * configure: Regenerated. * Makefile.in: Regenerated. * config.h.in: Regenerated. From-SVN: r124098
This commit is contained in:
parent
142cd70f50
commit
c0e7e2bf13
@ -1,3 +1,15 @@
|
||||
2007-04-24 Janne Blomqvist <jb@gcc.gnu.org>
|
||||
|
||||
PR fortran/27740
|
||||
* configure.ac: New test to determine if symbol versioning is
|
||||
supported.
|
||||
* Makefile.am: Use result of above test to add appropriate linker
|
||||
flags.
|
||||
* gfortran.map: New file.
|
||||
* configure: Regenerated.
|
||||
* Makefile.in: Regenerated.
|
||||
* config.h.in: Regenerated.
|
||||
|
||||
2007-04-23 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
PR fortran/31618
|
||||
|
@ -6,9 +6,16 @@ ACLOCAL_AMFLAGS = -I .. -I ../config
|
||||
## May be used by toolexeclibdir.
|
||||
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
|
||||
|
||||
## Symbol versioning (copied from libssp).
|
||||
if LIBGFOR_USE_SYMVER
|
||||
version_arg = -Wl,--version-script=$(srcdir)/gfortran.map
|
||||
else
|
||||
version_arg =
|
||||
endif
|
||||
|
||||
toolexeclib_LTLIBRARIES = libgfortran.la
|
||||
libgfortran_la_LINK = $(LINK)
|
||||
libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran)
|
||||
libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran) $(version_arg)
|
||||
|
||||
myexeclib_LTLIBRARIES = libgfortranbegin.la
|
||||
myexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
|
||||
|
@ -292,6 +292,7 @@ AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
@ -305,11 +306,14 @@ EXEEXT = @EXEEXT@
|
||||
FC = @FC@
|
||||
FCFLAGS = @FCFLAGS@
|
||||
FPU_HOST_HEADER = @FPU_HOST_HEADER@
|
||||
GREP = @GREP@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBGFOR_USE_SYMVER_FALSE = @LIBGFOR_USE_SYMVER_FALSE@
|
||||
LIBGFOR_USE_SYMVER_TRUE = @LIBGFOR_USE_SYMVER_TRUE@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
@ -332,12 +336,8 @@ SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
ac_ct_AR = @ac_ct_AR@
|
||||
ac_ct_AS = @ac_ct_AS@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_FC = @ac_ct_FC@
|
||||
ac_ct_RANLIB = @ac_ct_RANLIB@
|
||||
ac_ct_STRIP = @ac_ct_STRIP@
|
||||
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
|
||||
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
|
||||
am__include = @am__include@
|
||||
@ -354,6 +354,9 @@ build_os = @build_os@
|
||||
build_subdir = @build_subdir@
|
||||
build_vendor = @build_vendor@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
enable_shared = @enable_shared@
|
||||
enable_static = @enable_static@
|
||||
exec_prefix = @exec_prefix@
|
||||
@ -364,18 +367,22 @@ host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_subdir = @host_subdir@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
multi_basedir = @multi_basedir@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
sysconfdir = @sysconfdir@
|
||||
@ -389,9 +396,11 @@ toolexecdir = @toolexecdir@
|
||||
toolexeclibdir = @toolexeclibdir@
|
||||
ACLOCAL_AMFLAGS = -I .. -I ../config
|
||||
gcc_version := $(shell cat $(top_srcdir)/../gcc/BASE-VER)
|
||||
@LIBGFOR_USE_SYMVER_FALSE@version_arg =
|
||||
@LIBGFOR_USE_SYMVER_TRUE@version_arg = -Wl,--version-script=$(srcdir)/gfortran.map
|
||||
toolexeclib_LTLIBRARIES = libgfortran.la
|
||||
libgfortran_la_LINK = $(LINK)
|
||||
libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran)
|
||||
libgfortran_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version` -lm $(extra_ldflags_libgfortran) $(version_arg)
|
||||
myexeclib_LTLIBRARIES = libgfortranbegin.la
|
||||
myexeclibdir = $(libdir)/gcc/$(target_alias)/$(gcc_version)$(MULTISUBDIR)
|
||||
libgfortranbegin_la_SOURCES = fmain.c
|
||||
|
@ -735,19 +735,19 @@
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* The size of a `char', as computed by sizeof. */
|
||||
/* The size of `char', as computed by sizeof. */
|
||||
#undef SIZEOF_CHAR
|
||||
|
||||
/* The size of a `int', as computed by sizeof. */
|
||||
/* The size of `int', as computed by sizeof. */
|
||||
#undef SIZEOF_INT
|
||||
|
||||
/* The size of a `long', as computed by sizeof. */
|
||||
/* The size of `long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG
|
||||
|
||||
/* The size of a `short', as computed by sizeof. */
|
||||
/* The size of `short', as computed by sizeof. */
|
||||
#undef SIZEOF_SHORT
|
||||
|
||||
/* The size of a `void *', as computed by sizeof. */
|
||||
/* The size of `void *', as computed by sizeof. */
|
||||
#undef SIZEOF_VOID_P
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
@ -768,5 +768,5 @@
|
||||
/* Define for large files, on AIX-style hosts. */
|
||||
#undef _LARGE_FILES
|
||||
|
||||
/* Define to `long' if <sys/types.h> does not define. */
|
||||
/* Define to `long int' if <sys/types.h> does not define. */
|
||||
#undef off_t
|
||||
|
17399
libgfortran/configure
vendored
17399
libgfortran/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -122,6 +122,20 @@ fi
|
||||
AC_SUBST(AM_FCFLAGS)
|
||||
AC_SUBST(AM_CFLAGS)
|
||||
|
||||
# Check for symbol versioning (copied from libssp).
|
||||
AC_MSG_CHECKING([whether symbol versioning is supported])
|
||||
cat > conftest.map <<EOF
|
||||
FOO_1.0 {
|
||||
global: *foo*; bar; local: *;
|
||||
};
|
||||
EOF
|
||||
save_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS -fPIC -shared -Wl,--version-script,./conftest.map"
|
||||
AC_TRY_LINK([int foo;],[],[gfortran_use_symver=yes],[gfortran_use_symver=no])
|
||||
LDFLAGS="$save_LDFLAGS"
|
||||
AC_MSG_RESULT($gfortran_use_symver)
|
||||
AM_CONDITIONAL(LIBGFOR_USE_SYMVER, [test "x$gfortran_use_symver" = xyes])
|
||||
|
||||
# Find other programs we need.
|
||||
AC_CHECK_TOOL(AS, as)
|
||||
AC_CHECK_TOOL(AR, ar)
|
||||
|
1142
libgfortran/gfortran.map
Normal file
1142
libgfortran/gfortran.map
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user