mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-04 23:32:00 +00:00
-retain-symbols-file is not what it seems. Update the makefiles
and configury to use --version-script. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105271 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c6e1f67b17
commit
da612d6226
@ -344,5 +344,5 @@ NO_MISSING_FIELD_INITIALIZERS = @NO_MISSING_FIELD_INITIALIZERS@
|
|||||||
NO_VARIADIC_MACROS = @NO_VARIADIC_MACROS@
|
NO_VARIADIC_MACROS = @NO_VARIADIC_MACROS@
|
||||||
|
|
||||||
# Flags supported by the linker.
|
# Flags supported by the linker.
|
||||||
# bfd ld / gold -retain-symbols-file file
|
# bfd ld / gold --version-script=file
|
||||||
HAVE_LINK_RETAIN_SYMBOLS_FILE = @HAVE_LINK_RETAIN_SYMBOLS_FILE@
|
HAVE_LINK_VERSION_SCRIPT = @HAVE_LINK_VERSION_SCRIPT@
|
||||||
|
@ -990,8 +990,21 @@ $(NativeExportsFile): $(EXPORTED_SYMBOL_FILE) $(ObjDir)/.dir
|
|||||||
clean-local::
|
clean-local::
|
||||||
-$(Verb) $(RM) -f $(NativeExportsFile)
|
-$(Verb) $(RM) -f $(NativeExportsFile)
|
||||||
else
|
else
|
||||||
|
ifeq ($(HAVE_LINK_VERSION_SCRIPT),1)
|
||||||
|
# Gold and BFD ld require a version script rather than a plain list.
|
||||||
|
NativeExportsFile := $(ObjDir)/$(notdir $(EXPORTED_SYMBOL_FILE)).map
|
||||||
|
$(NativeExportsFile): $(EXPORTED_SYMBOL_FILE) $(ObjDir)/.dir
|
||||||
|
$(Verb) echo "{" > $@
|
||||||
|
$(Verb) grep -q "\<" $< && echo " global:" >> $@ || :
|
||||||
|
$(Verb) sed -e 's/\>/;/' -e 's/^\</ /' < $< >> $@
|
||||||
|
$(Verb) echo " local: *;" >> $@
|
||||||
|
$(Verb) echo "};" >> $@
|
||||||
|
clean-local::
|
||||||
|
-$(Verb) $(RM) -f $(NativeExportsFile)
|
||||||
|
else
|
||||||
NativeExportsFile := $(EXPORTED_SYMBOL_FILE)
|
NativeExportsFile := $(EXPORTED_SYMBOL_FILE)
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
# Now add the linker command-line options to use the native export file.
|
# Now add the linker command-line options to use the native export file.
|
||||||
|
|
||||||
@ -1000,8 +1013,8 @@ LLVMLibsOptions += -Wl,-exported_symbols_list,$(NativeExportsFile)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# gold, bfd ld, etc.
|
# gold, bfd ld, etc.
|
||||||
ifeq ($(HAVE_LINK_RETAIN_SYMBOLS_FILE),1)
|
ifeq ($(HAVE_LINK_VERSION_SCRIPT),1)
|
||||||
LLVMLibsOptions += -Wl,-retain-symbols-file,$(NativeExportsFile)
|
LLVMLibsOptions += -Wl,--version-script,$(NativeExportsFile)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@ -1039,8 +1039,8 @@ AC_LINK_USE_R
|
|||||||
dnl Determine whether the linker supports the -export-dynamic option.
|
dnl Determine whether the linker supports the -export-dynamic option.
|
||||||
AC_LINK_EXPORT_DYNAMIC
|
AC_LINK_EXPORT_DYNAMIC
|
||||||
|
|
||||||
dnl Determine whether the linker supports the -retain-symbols-file option.
|
dnl Determine whether the linker supports the --version-script option.
|
||||||
AC_LINK_RETAIN_SYMBOLS_FILE
|
AC_LINK_VERSION_SCRIPT
|
||||||
|
|
||||||
dnl Check for libtool and the library that has dlopen function (which must come
|
dnl Check for libtool and the library that has dlopen function (which must come
|
||||||
dnl before the AC_PROG_LIBTOOL check in order to enable dlopening libraries with
|
dnl before the AC_PROG_LIBTOOL check in order to enable dlopening libraries with
|
||||||
|
@ -40,14 +40,14 @@ if test "$llvm_cv_link_use_export_dynamic" = yes ; then
|
|||||||
])
|
])
|
||||||
|
|
||||||
#
|
#
|
||||||
# Determine if the system can handle the -retain-symbols-file option being
|
# Determine if the system can handle the --version-script option being
|
||||||
# passed to the linker.
|
# passed to the linker.
|
||||||
#
|
#
|
||||||
# This macro is specific to LLVM.
|
# This macro is specific to LLVM.
|
||||||
#
|
#
|
||||||
AC_DEFUN([AC_LINK_RETAIN_SYMBOLS_FILE],
|
AC_DEFUN([AC_LINK_VERSION_SCRIPT],
|
||||||
[AC_CACHE_CHECK([for compiler -Wl,-retain-symbols-file option],
|
[AC_CACHE_CHECK([for compiler -Wl,--version-script option],
|
||||||
[llvm_cv_link_use_retain_symbols_file],
|
[llvm_cv_link_use_version_script],
|
||||||
[ AC_LANG_PUSH([C])
|
[ AC_LANG_PUSH([C])
|
||||||
oldcflags="$CFLAGS"
|
oldcflags="$CFLAGS"
|
||||||
|
|
||||||
@ -67,18 +67,21 @@ AC_DEFUN([AC_LINK_RETAIN_SYMBOLS_FILE],
|
|||||||
(umask 077 && mkdir "$tmp")
|
(umask 077 && mkdir "$tmp")
|
||||||
} || exit $?
|
} || exit $?
|
||||||
|
|
||||||
echo "main" > "$tmp/exports"
|
echo "{" > "$tmp/export.map"
|
||||||
|
echo " global: main;" >> "$tmp/export.map"
|
||||||
|
echo " local: *;" >> "$tmp/export.map"
|
||||||
|
echo "};" >> "$tmp/export.map"
|
||||||
|
|
||||||
CFLAGS="$CFLAGS -Wl,-retain-symbols-file=$tmp/exports"
|
CFLAGS="$CFLAGS -Wl,--version-script=$tmp/export.map"
|
||||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],
|
||||||
[llvm_cv_link_use_retain_symbols_file=yes],[llvm_cv_link_use_retain_symbols_file=no])
|
[llvm_cv_link_use_version_script=yes],[llvm_cv_link_version_script=no])
|
||||||
rm "$tmp/exports"
|
rm "$tmp/export.map"
|
||||||
rmdir "$tmp"
|
rmdir "$tmp"
|
||||||
CFLAGS="$oldcflags"
|
CFLAGS="$oldcflags"
|
||||||
AC_LANG_POP([C])
|
AC_LANG_POP([C])
|
||||||
])
|
])
|
||||||
if test "$llvm_cv_link_use_retain_symbols_file" = yes ; then
|
if test "$llvm_cv_link_use_version_script" = yes ; then
|
||||||
AC_SUBST(HAVE_LINK_RETAIN_SYMBOLS_FILE,1)
|
AC_SUBST(HAVE_LINK_VERSION_SCRIPT,1)
|
||||||
fi
|
fi
|
||||||
])
|
])
|
||||||
|
|
||||||
|
33
configure
vendored
33
configure
vendored
@ -752,7 +752,7 @@ OCAMLOPT
|
|||||||
OCAMLDEP
|
OCAMLDEP
|
||||||
OCAMLDOC
|
OCAMLDOC
|
||||||
GAS
|
GAS
|
||||||
HAVE_LINK_RETAIN_SYMBOLS_FILE
|
HAVE_LINK_VERSION_SCRIPT
|
||||||
INSTALL_LTDL_TRUE
|
INSTALL_LTDL_TRUE
|
||||||
INSTALL_LTDL_FALSE
|
INSTALL_LTDL_FALSE
|
||||||
CONVENIENCE_LTDL_TRUE
|
CONVENIENCE_LTDL_TRUE
|
||||||
@ -8905,9 +8905,9 @@ _ACEOF
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
{ echo "$as_me:$LINENO: checking for compiler -Wl,-retain-symbols-file option" >&5
|
{ echo "$as_me:$LINENO: checking for compiler -Wl,--version-script option" >&5
|
||||||
echo $ECHO_N "checking for compiler -Wl,-retain-symbols-file option... $ECHO_C" >&6; }
|
echo $ECHO_N "checking for compiler -Wl,--version-script option... $ECHO_C" >&6; }
|
||||||
if test "${llvm_cv_link_use_retain_symbols_file+set}" = set; then
|
if test "${llvm_cv_link_use_version_script+set}" = set; then
|
||||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
else
|
else
|
||||||
ac_ext=c
|
ac_ext=c
|
||||||
@ -8934,9 +8934,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
|||||||
(umask 077 && mkdir "$tmp")
|
(umask 077 && mkdir "$tmp")
|
||||||
} || exit $?
|
} || exit $?
|
||||||
|
|
||||||
echo "main" > "$tmp/exports"
|
echo "{" > "$tmp/export.map"
|
||||||
|
echo " global: main;" >> "$tmp/export.map"
|
||||||
|
echo " local: *;" >> "$tmp/export.map"
|
||||||
|
echo "};" >> "$tmp/export.map"
|
||||||
|
|
||||||
CFLAGS="$CFLAGS -Wl,-retain-symbols-file=$tmp/exports"
|
CFLAGS="$CFLAGS -Wl,--version-script=$tmp/export.map"
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
/* confdefs.h. */
|
/* confdefs.h. */
|
||||||
_ACEOF
|
_ACEOF
|
||||||
@ -8986,17 +8989,17 @@ eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
|||||||
ac_status=$?
|
ac_status=$?
|
||||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
(exit $ac_status); }; }; then
|
(exit $ac_status); }; }; then
|
||||||
llvm_cv_link_use_retain_symbols_file=yes
|
llvm_cv_link_use_version_script=yes
|
||||||
else
|
else
|
||||||
echo "$as_me: failed program was:" >&5
|
echo "$as_me: failed program was:" >&5
|
||||||
sed 's/^/| /' conftest.$ac_ext >&5
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
llvm_cv_link_use_retain_symbols_file=no
|
llvm_cv_link_version_script=no
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -f core conftest.err conftest.$ac_objext \
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
conftest$ac_exeext conftest.$ac_ext
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
rm "$tmp/exports"
|
rm "$tmp/export.map"
|
||||||
rmdir "$tmp"
|
rmdir "$tmp"
|
||||||
CFLAGS="$oldcflags"
|
CFLAGS="$oldcflags"
|
||||||
ac_ext=c
|
ac_ext=c
|
||||||
@ -9007,10 +9010,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
|||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
{ echo "$as_me:$LINENO: result: $llvm_cv_link_use_retain_symbols_file" >&5
|
{ echo "$as_me:$LINENO: result: $llvm_cv_link_use_version_script" >&5
|
||||||
echo "${ECHO_T}$llvm_cv_link_use_retain_symbols_file" >&6; }
|
echo "${ECHO_T}$llvm_cv_link_use_version_script" >&6; }
|
||||||
if test "$llvm_cv_link_use_retain_symbols_file" = yes ; then
|
if test "$llvm_cv_link_use_version_script" = yes ; then
|
||||||
HAVE_LINK_RETAIN_SYMBOLS_FILE=1
|
HAVE_LINK_VERSION_SCRIPT=1
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -11384,7 +11387,7 @@ else
|
|||||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||||
lt_status=$lt_dlunknown
|
lt_status=$lt_dlunknown
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 11387 "configure"
|
#line 11390 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
#if HAVE_DLFCN_H
|
#if HAVE_DLFCN_H
|
||||||
@ -21297,7 +21300,7 @@ OCAMLOPT!$OCAMLOPT$ac_delim
|
|||||||
OCAMLDEP!$OCAMLDEP$ac_delim
|
OCAMLDEP!$OCAMLDEP$ac_delim
|
||||||
OCAMLDOC!$OCAMLDOC$ac_delim
|
OCAMLDOC!$OCAMLDOC$ac_delim
|
||||||
GAS!$GAS$ac_delim
|
GAS!$GAS$ac_delim
|
||||||
HAVE_LINK_RETAIN_SYMBOLS_FILE!$HAVE_LINK_RETAIN_SYMBOLS_FILE$ac_delim
|
HAVE_LINK_VERSION_SCRIPT!$HAVE_LINK_VERSION_SCRIPT$ac_delim
|
||||||
INSTALL_LTDL_TRUE!$INSTALL_LTDL_TRUE$ac_delim
|
INSTALL_LTDL_TRUE!$INSTALL_LTDL_TRUE$ac_delim
|
||||||
INSTALL_LTDL_FALSE!$INSTALL_LTDL_FALSE$ac_delim
|
INSTALL_LTDL_FALSE!$INSTALL_LTDL_FALSE$ac_delim
|
||||||
CONVENIENCE_LTDL_TRUE!$CONVENIENCE_LTDL_TRUE$ac_delim
|
CONVENIENCE_LTDL_TRUE!$CONVENIENCE_LTDL_TRUE$ac_delim
|
||||||
|
Loading…
x
Reference in New Issue
Block a user