From 040b1c5a5c6ac7129b0087ac9563090b03b649a8 Mon Sep 17 00:00:00 2001 From: Geoffrey Keating Date: Wed, 28 Sep 2005 23:50:06 +0000 Subject: [PATCH] Index: ChangeLog 2005-09-28 Geoffrey Keating * Makefile.tpl (BASE_TARGET_EXPORTS): Add LIPO, STRIP. (LIPO_FOR_TARGET): New. (CONFIGURED_LIPO_FOR_TARGET): New. (USUAL_LIPO_FOR_TARGET): New. (STRIP_FOR_TARGET): New. (CONFIGURED_STRIP_FOR_TARGET): New. (USUAL_STRIP_FOR_TARGET): New. * Makefile.def (flags_to_pass): Add LIPO_FOR_TARGET and STRIP_FOR_TARGET. * configure.in: Set LIPO_FOR_TARGET, STRIP_FOR_TARGET, CONFIGURED_LIPO_FOR_TARGET, CONFIGURED_STRIP_FOR_TARGET. * Makefile.in: Regenerate. * configure.in: Regenerate. Index: gcc/ChangeLog 2005-09-28 Geoffrey Keating * Makefile.in: Export LIPO_FOR_TARGET, STRIP_FOR_TARGET. (stage1-start): Delete old libgcc and libunwind before moving anything into the stage directory. (stage2-start): Likewise. (stage3-start): Likewise. (stage4-start): Likewise. (stageprofile-start): Likewise. (stagefeedback-start): Likewise. * config.gcc (*-*-darwin*): Automatically use CPU-specific darwin.h header in tm_file and CPU-specific t-darwin in tmake_file. (i[34567]86-*-darwin*): Don't change tm_file. (powerpc-*-darwin*): Don't change tm_file or tmake_file. * config/darwin.h (REAL_LIBGCC_SPEC): Rewrite to use proper libgcc shared library stub for target OS version. * config/t-slibgcc-darwin (SHLIB_SOLINK): Delete. (SHLIB_LINK): Don't make SHLIB_SOLINK. (SHLIB_INSTALL): Don't install SHLIB_SOLINK. (libgcc_s.%.dylib): New. (LIBGCC): Define. (install-darwin-libgcc-stubs): New. (INSTALL_LIBGCC): New append. * config/i386/darwin-libgcc.10.4.ver: New. * config/i386/darwin-libgcc.10.5.ver: New. * config/i386/t-darwin: New. * config/rs6000/darwin-libgcc.10.4.ver: New. * config/rs6000/darwin-libgcc.10.5.ver: New. * config/rs6000/darwin.h (REAL_LIBGCC_SPEC): Delete. * config/rs6000/t-darwin (SHLIB_VERPFX): Define. From-SVN: r104747 --- ChangeLog | 16 +++ Makefile.def | 2 + Makefile.in | 34 +++++ Makefile.tpl | 32 +++++ configure | 176 +++++++++++++++++++++-- configure.in | 10 ++ gcc/ChangeLog | 31 ++++ gcc/Makefile.in | 40 +++--- gcc/config.gcc | 8 +- gcc/config/darwin.h | 17 ++- gcc/config/i386/darwin-libgcc.10.4.ver | 81 +++++++++++ gcc/config/i386/darwin-libgcc.10.5.ver | 81 +++++++++++ gcc/config/i386/t-darwin | 1 + gcc/config/rs6000/darwin-libgcc.10.4.ver | 76 ++++++++++ gcc/config/rs6000/darwin-libgcc.10.5.ver | 85 +++++++++++ gcc/config/rs6000/darwin.h | 8 -- gcc/config/rs6000/t-darwin | 2 + 17 files changed, 654 insertions(+), 46 deletions(-) create mode 100644 gcc/config/i386/darwin-libgcc.10.4.ver create mode 100644 gcc/config/i386/darwin-libgcc.10.5.ver create mode 100644 gcc/config/i386/t-darwin create mode 100644 gcc/config/rs6000/darwin-libgcc.10.4.ver create mode 100644 gcc/config/rs6000/darwin-libgcc.10.5.ver diff --git a/ChangeLog b/ChangeLog index 31e780c1dd0..65f3e080892 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2005-09-28 Geoffrey Keating + + * Makefile.tpl (BASE_TARGET_EXPORTS): Add LIPO, STRIP. + (LIPO_FOR_TARGET): New. + (CONFIGURED_LIPO_FOR_TARGET): New. + (USUAL_LIPO_FOR_TARGET): New. + (STRIP_FOR_TARGET): New. + (CONFIGURED_STRIP_FOR_TARGET): New. + (USUAL_STRIP_FOR_TARGET): New. + * Makefile.def (flags_to_pass): Add LIPO_FOR_TARGET and + STRIP_FOR_TARGET. + * configure.in: Set LIPO_FOR_TARGET, STRIP_FOR_TARGET, + CONFIGURED_LIPO_FOR_TARGET, CONFIGURED_STRIP_FOR_TARGET. + * Makefile.in: Regenerate. + * configure: Regenerate. + 2005-09-19 David Edelsohn * configure.in (powerpc-*-aix*): Add target-libssp to noconfigdirs. diff --git a/Makefile.def b/Makefile.def index 2eed19d45a5..9ad197e66b9 100644 --- a/Makefile.def +++ b/Makefile.def @@ -223,11 +223,13 @@ flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; }; flags_to_pass = { flag= GCJ_FOR_TARGET ; }; flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; }; flags_to_pass = { flag= LD_FOR_TARGET ; }; +flags_to_pass = { flag= LIPO_FOR_TARGET ; }; flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= LIBCFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; }; flags_to_pass = { flag= NM_FOR_TARGET ; }; flags_to_pass = { flag= RANLIB_FOR_TARGET ; }; +flags_to_pass = { flag= STRIP_FOR_TARGET ; }; flags_to_pass = { flag= WINDRES_FOR_TARGET ; }; // Inter-module dependencies diff --git a/Makefile.in b/Makefile.in index 3c1e0a1a2f4..d5f7170841e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -192,8 +192,10 @@ BASE_TARGET_EXPORTS = \ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ LD="$(LD_FOR_TARGET)"; export LD; \ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \ NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); @@ -478,6 +480,19 @@ USUAL_LD_FOR_TARGET = ` \ LDFLAGS_FOR_TARGET = +LIPO_FOR_TARGET=@LIPO_FOR_TARGET@ +CONFIGURED_LIPO_FOR_TARGET=@CONFIGURED_LIPO_FOR_TARGET@ +USUAL_LIPO_FOR_TARGET = ` \ + if [ '$(host)' = '$(target)' ] ; then \ + if [ x'$(LIPO)' != x ]; then \ + echo $(LIPO); \ + else \ + echo lipo; \ + fi; \ + else \ + echo $(CONFIGURED_LIPO_FOR_TARGET) ; \ + fi` + NM_FOR_TARGET=@NM_FOR_TARGET@ CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@ USUAL_NM_FOR_TARGET = ` \ @@ -510,6 +525,23 @@ USUAL_RANLIB_FOR_TARGET = ` \ fi; \ fi` +STRIP_FOR_TARGET=@STRIP_FOR_TARGET@ +CONFIGURED_STRIP_FOR_TARGET=@CONFIGURED_STRIP_FOR_TARGET@ +USUAL_STRIP_FOR_TARGET = ` \ + if [ -f $$r/$(HOST_SUBDIR)/binutils/strip ] ; then \ + echo $$r/$(HOST_SUBDIR)/binutils/strip ; \ + else \ + if [ '$(host)' = '$(target)' ] ; then \ + if [ x'$(STRIP)' != x ]; then \ + echo $(STRIP); \ + else \ + echo strip; \ + fi; \ + else \ + echo $(CONFIGURED_STRIP_FOR_TARGET) ; \ + fi; \ + fi` + WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@ CONFIGURED_WINDRES_FOR_TARGET=@CONFIGURED_WINDRES_FOR_TARGET@ USUAL_WINDRES_FOR_TARGET = ` \ @@ -636,11 +668,13 @@ BASE_FLAGS_TO_PASS = \ "GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \ "GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \ "LD_FOR_TARGET=$(LD_FOR_TARGET)" \ + "LIPO_FOR_TARGET=$(LIPO_FOR_TARGET)" \ "LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \ "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \ "LIBCXXFLAGS_FOR_TARGET=$(LIBCXXFLAGS_FOR_TARGET)" \ "NM_FOR_TARGET=$(NM_FOR_TARGET)" \ "RANLIB_FOR_TARGET=$(RANLIB_FOR_TARGET)" \ + "STRIP_FOR_TARGET=$(STRIP_FOR_TARGET)" \ "WINDRES_FOR_TARGET=$(WINDRES_FOR_TARGET)" \ "CONFIG_SHELL=$(SHELL)" \ "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" diff --git a/Makefile.tpl b/Makefile.tpl index f8a120c96c3..2413c0fa300 100644 --- a/Makefile.tpl +++ b/Makefile.tpl @@ -195,8 +195,10 @@ BASE_TARGET_EXPORTS = \ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \ LD="$(LD_FOR_TARGET)"; export LD; \ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \ + LIPO="$(LIPO_FOR_TARGET)"; export LIPO; \ NM="$(NM_FOR_TARGET)"; export NM; \ RANLIB="$(RANLIB_FOR_TARGET)"; export RANLIB; \ + STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \ WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \ $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); @@ -481,6 +483,19 @@ USUAL_LD_FOR_TARGET = ` \ LDFLAGS_FOR_TARGET = +LIPO_FOR_TARGET=@LIPO_FOR_TARGET@ +CONFIGURED_LIPO_FOR_TARGET=@CONFIGURED_LIPO_FOR_TARGET@ +USUAL_LIPO_FOR_TARGET = ` \ + if [ '$(host)' = '$(target)' ] ; then \ + if [ x'$(LIPO)' != x ]; then \ + echo $(LIPO); \ + else \ + echo lipo; \ + fi; \ + else \ + echo $(CONFIGURED_LIPO_FOR_TARGET) ; \ + fi` + NM_FOR_TARGET=@NM_FOR_TARGET@ CONFIGURED_NM_FOR_TARGET=@CONFIGURED_NM_FOR_TARGET@ USUAL_NM_FOR_TARGET = ` \ @@ -513,6 +528,23 @@ USUAL_RANLIB_FOR_TARGET = ` \ fi; \ fi` +STRIP_FOR_TARGET=@STRIP_FOR_TARGET@ +CONFIGURED_STRIP_FOR_TARGET=@CONFIGURED_STRIP_FOR_TARGET@ +USUAL_STRIP_FOR_TARGET = ` \ + if [ -f $$r/$(HOST_SUBDIR)/binutils/strip ] ; then \ + echo $$r/$(HOST_SUBDIR)/binutils/strip ; \ + else \ + if [ '$(host)' = '$(target)' ] ; then \ + if [ x'$(STRIP)' != x ]; then \ + echo $(STRIP); \ + else \ + echo strip; \ + fi; \ + else \ + echo $(CONFIGURED_STRIP_FOR_TARGET) ; \ + fi; \ + fi` + WINDRES_FOR_TARGET=@WINDRES_FOR_TARGET@ CONFIGURED_WINDRES_FOR_TARGET=@CONFIGURED_WINDRES_FOR_TARGET@ USUAL_WINDRES_FOR_TARGET = ` \ diff --git a/configure b/configure index 0ce877ddec9..28ef316efc5 100755 --- a/configure +++ b/configure @@ -4858,12 +4858,87 @@ if test -z "$ac_cv_prog_LD_FOR_TARGET" ; then fi fi - for ncn_progname in nm; do + for ncn_progname in lipo; do if test -n "$ncn_target_tool_prefix"; then # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:4867: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LIPO_FOR_TARGET'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$LIPO_FOR_TARGET"; then + ac_cv_prog_LIPO_FOR_TARGET="$LIPO_FOR_TARGET" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_LIPO_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +LIPO_FOR_TARGET="$ac_cv_prog_LIPO_FOR_TARGET" +if test -n "$LIPO_FOR_TARGET"; then + echo "$ac_t""$LIPO_FOR_TARGET" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + fi + if test -z "$ac_cv_prog_LIPO_FOR_TARGET" && test $build = $target ; then + # Extract the first word of "${ncn_progname}", so it can be a program name with args. +set dummy ${ncn_progname}; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:4898: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_LIPO_FOR_TARGET'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$LIPO_FOR_TARGET"; then + ac_cv_prog_LIPO_FOR_TARGET="$LIPO_FOR_TARGET" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_LIPO_FOR_TARGET="${ncn_progname}" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +LIPO_FOR_TARGET="$ac_cv_prog_LIPO_FOR_TARGET" +if test -n "$LIPO_FOR_TARGET"; then + echo "$ac_t""$LIPO_FOR_TARGET" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + fi + test -n "$ac_cv_prog_LIPO_FOR_TARGET" && break +done + +if test -z "$ac_cv_prog_LIPO_FOR_TARGET" ; then + set dummy lipo + if test $build = $target ; then + LIPO_FOR_TARGET="$2" + else + LIPO_FOR_TARGET="${ncn_target_tool_prefix}$2" + fi +fi + + for ncn_progname in nm; do + if test -n "$ncn_target_tool_prefix"; then + # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args. +set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:4942: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4894,7 +4969,7 @@ fi # Extract the first word of "${ncn_progname}", so it can be a program name with args. set dummy ${ncn_progname}; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4898: checking for $ac_word" >&5 +echo "configure:4973: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_NM_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4938,7 +5013,7 @@ fi # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4942: checking for $ac_word" >&5 +echo "configure:5017: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4969,7 +5044,7 @@ fi # Extract the first word of "${ncn_progname}", so it can be a program name with args. set dummy ${ncn_progname}; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4973: checking for $ac_word" >&5 +echo "configure:5048: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5003,12 +5078,87 @@ if test -z "$ac_cv_prog_RANLIB_FOR_TARGET" ; then RANLIB_FOR_TARGET=":" fi + for ncn_progname in strip; do + if test -n "$ncn_target_tool_prefix"; then + # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args. +set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:5087: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_STRIP_FOR_TARGET'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$STRIP_FOR_TARGET"; then + ac_cv_prog_STRIP_FOR_TARGET="$STRIP_FOR_TARGET" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_STRIP_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +STRIP_FOR_TARGET="$ac_cv_prog_STRIP_FOR_TARGET" +if test -n "$STRIP_FOR_TARGET"; then + echo "$ac_t""$STRIP_FOR_TARGET" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + fi + if test -z "$ac_cv_prog_STRIP_FOR_TARGET" && test $build = $target ; then + # Extract the first word of "${ncn_progname}", so it can be a program name with args. +set dummy ${ncn_progname}; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:5118: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_STRIP_FOR_TARGET'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$STRIP_FOR_TARGET"; then + ac_cv_prog_STRIP_FOR_TARGET="$STRIP_FOR_TARGET" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_STRIP_FOR_TARGET="${ncn_progname}" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +STRIP_FOR_TARGET="$ac_cv_prog_STRIP_FOR_TARGET" +if test -n "$STRIP_FOR_TARGET"; then + echo "$ac_t""$STRIP_FOR_TARGET" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + fi + test -n "$ac_cv_prog_STRIP_FOR_TARGET" && break +done + +if test -z "$ac_cv_prog_STRIP_FOR_TARGET" ; then + set dummy strip + if test $build = $target ; then + STRIP_FOR_TARGET="$2" + else + STRIP_FOR_TARGET="${ncn_target_tool_prefix}$2" + fi +fi + for ncn_progname in windres; do if test -n "$ncn_target_tool_prefix"; then # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args. set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5012: checking for $ac_word" >&5 +echo "configure:5162: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5039,7 +5189,7 @@ fi # Extract the first word of "${ncn_progname}", so it can be a program name with args. set dummy ${ncn_progname}; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5043: checking for $ac_word" >&5 +echo "configure:5193: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_WINDRES_FOR_TARGET'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5088,8 +5238,10 @@ CONFIGURED_GCC_FOR_TARGET="$GCC_FOR_TARGET" CONFIGURED_GCJ_FOR_TARGET="$GCJ_FOR_TARGET" CONFIGURED_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET" CONFIGURED_LD_FOR_TARGET="$LD_FOR_TARGET" +CONFIGURED_LIPO_FOR_TARGET="$LIPO_FOR_TARGET" CONFIGURED_NM_FOR_TARGET="$NM_FOR_TARGET" CONFIGURED_RANLIB_FOR_TARGET="$RANLIB_FOR_TARGET" +CONFIGURED_STRIP_FOR_TARGET="$STRIP_FOR_TARGET" CONFIGURED_WINDRES_FOR_TARGET="$WINDRES_FOR_TARGET" @@ -5112,8 +5264,10 @@ if test "x${build}" = "x${host}" ; then GCJ_FOR_TARGET="\$(USUAL_GCJ_FOR_TARGET)" GFORTRAN_FOR_TARGET="\$(USUAL_GFORTRAN_FOR_TARGET)" LD_FOR_TARGET="\$(USUAL_LD_FOR_TARGET)" + LIPO_FOR_TARGET="\$(USUAL_LIPO_FOR_TARGET)" NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)" RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)" + STRIP_FOR_TARGET="\$(USUAL_STRIP_FOR_TARGET)" WINDRES_FOR_TARGET="\$(USUAL_WINDRES_FOR_TARGET)" else # Just use the ones we found. @@ -5127,8 +5281,10 @@ else GCJ_FOR_TARGET="\$(CONFIGURED_GCJ_FOR_TARGET)" GFORTRAN_FOR_TARGET="\$(CONFIGURED_GFORTRAN_FOR_TARGET)" LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)" + LIPO_FOR_TARGET="\$(CONFIGURED_LIPO_FOR_TARGET)" NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)" RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)" + STRIP_FOR_TARGET="\$(CONFIGURED_STRIP_FOR_TARGET)" WINDRES_FOR_TARGET="\$(CONFIGURED_WINDRES_FOR_TARGET)" fi @@ -5140,7 +5296,7 @@ RANLIB_FOR_TARGET=${RANLIB_FOR_TARGET}${extra_ranlibflags_for_target} NM_FOR_TARGET=${NM_FOR_TARGET}${extra_nmflags_for_target} echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:5144: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:5300: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" @@ -5187,7 +5343,7 @@ esac # gcc for stageN-gcc and stagePREV-gcc for stage(N-1). In case this is not # possible, however, we can resort to mv. echo $ac_n "checking if symbolic links between directories work""... $ac_c" 1>&6 -echo "configure:5191: checking if symbolic links between directories work" >&5 +echo "configure:5347: checking if symbolic links between directories work" >&5 if eval "test \"`echo '$''{'gcc_cv_prog_ln_s_dir'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5463,8 +5619,10 @@ s%@GCC_FOR_TARGET@%$GCC_FOR_TARGET%g s%@GCJ_FOR_TARGET@%$GCJ_FOR_TARGET%g s%@GFORTRAN_FOR_TARGET@%$GFORTRAN_FOR_TARGET%g s%@LD_FOR_TARGET@%$LD_FOR_TARGET%g +s%@LIPO_FOR_TARGET@%$LIPO_FOR_TARGET%g s%@NM_FOR_TARGET@%$NM_FOR_TARGET%g s%@RANLIB_FOR_TARGET@%$RANLIB_FOR_TARGET%g +s%@STRIP_FOR_TARGET@%$STRIP_FOR_TARGET%g s%@WINDRES_FOR_TARGET@%$WINDRES_FOR_TARGET%g s%@CONFIGURED_AR_FOR_TARGET@%$CONFIGURED_AR_FOR_TARGET%g s%@CONFIGURED_AS_FOR_TARGET@%$CONFIGURED_AS_FOR_TARGET%g @@ -5475,8 +5633,10 @@ s%@CONFIGURED_GCC_FOR_TARGET@%$CONFIGURED_GCC_FOR_TARGET%g s%@CONFIGURED_GCJ_FOR_TARGET@%$CONFIGURED_GCJ_FOR_TARGET%g s%@CONFIGURED_GFORTRAN_FOR_TARGET@%$CONFIGURED_GFORTRAN_FOR_TARGET%g s%@CONFIGURED_LD_FOR_TARGET@%$CONFIGURED_LD_FOR_TARGET%g +s%@CONFIGURED_LIPO_FOR_TARGET@%$CONFIGURED_LIPO_FOR_TARGET%g s%@CONFIGURED_NM_FOR_TARGET@%$CONFIGURED_NM_FOR_TARGET%g s%@CONFIGURED_RANLIB_FOR_TARGET@%$CONFIGURED_RANLIB_FOR_TARGET%g +s%@CONFIGURED_STRIP_FOR_TARGET@%$CONFIGURED_STRIP_FOR_TARGET%g s%@CONFIGURED_WINDRES_FOR_TARGET@%$CONFIGURED_WINDRES_FOR_TARGET%g s%@FLAGS_FOR_TARGET@%$FLAGS_FOR_TARGET%g s%@RAW_CXX_FOR_TARGET@%$RAW_CXX_FOR_TARGET%g diff --git a/configure.in b/configure.in index b10313fcbc2..91e8cf249b0 100644 --- a/configure.in +++ b/configure.in @@ -2116,8 +2116,10 @@ NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET}) NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj) NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran) NCN_STRICT_CHECK_TARGET_TOOLS(LD_FOR_TARGET, ld) +NCN_STRICT_CHECK_TARGET_TOOLS(LIPO_FOR_TARGET, lipo) NCN_STRICT_CHECK_TARGET_TOOLS(NM_FOR_TARGET, nm) NCN_STRICT_CHECK_TARGET_TOOLS(RANLIB_FOR_TARGET, ranlib, :) +NCN_STRICT_CHECK_TARGET_TOOLS(STRIP_FOR_TARGET, strip) NCN_STRICT_CHECK_TARGET_TOOLS(WINDRES_FOR_TARGET, windres) CONFIGURED_AR_FOR_TARGET="$AR_FOR_TARGET" @@ -2129,8 +2131,10 @@ CONFIGURED_GCC_FOR_TARGET="$GCC_FOR_TARGET" CONFIGURED_GCJ_FOR_TARGET="$GCJ_FOR_TARGET" CONFIGURED_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET" CONFIGURED_LD_FOR_TARGET="$LD_FOR_TARGET" +CONFIGURED_LIPO_FOR_TARGET="$LIPO_FOR_TARGET" CONFIGURED_NM_FOR_TARGET="$NM_FOR_TARGET" CONFIGURED_RANLIB_FOR_TARGET="$RANLIB_FOR_TARGET" +CONFIGURED_STRIP_FOR_TARGET="$STRIP_FOR_TARGET" CONFIGURED_WINDRES_FOR_TARGET="$WINDRES_FOR_TARGET" AC_SUBST(CONFIGURED_AR_FOR_TARGET)dnl @@ -2142,8 +2146,10 @@ AC_SUBST(CONFIGURED_GCC_FOR_TARGET)dnl AC_SUBST(CONFIGURED_GCJ_FOR_TARGET)dnl AC_SUBST(CONFIGURED_GFORTRAN_FOR_TARGET)dnl AC_SUBST(CONFIGURED_LD_FOR_TARGET)dnl +AC_SUBST(CONFIGURED_LIPO_FOR_TARGET)dnl AC_SUBST(CONFIGURED_NM_FOR_TARGET)dnl AC_SUBST(CONFIGURED_RANLIB_FOR_TARGET)dnl +AC_SUBST(CONFIGURED_STRIP_FOR_TARGET)dnl AC_SUBST(CONFIGURED_WINDRES_FOR_TARGET)dnl AC_SUBST(FLAGS_FOR_TARGET) @@ -2165,8 +2171,10 @@ if test "x${build}" = "x${host}" ; then GCJ_FOR_TARGET="\$(USUAL_GCJ_FOR_TARGET)" GFORTRAN_FOR_TARGET="\$(USUAL_GFORTRAN_FOR_TARGET)" LD_FOR_TARGET="\$(USUAL_LD_FOR_TARGET)" + LIPO_FOR_TARGET="\$(USUAL_LIPO_FOR_TARGET)" NM_FOR_TARGET="\$(USUAL_NM_FOR_TARGET)" RANLIB_FOR_TARGET="\$(USUAL_RANLIB_FOR_TARGET)" + STRIP_FOR_TARGET="\$(USUAL_STRIP_FOR_TARGET)" WINDRES_FOR_TARGET="\$(USUAL_WINDRES_FOR_TARGET)" else # Just use the ones we found. @@ -2180,8 +2188,10 @@ else GCJ_FOR_TARGET="\$(CONFIGURED_GCJ_FOR_TARGET)" GFORTRAN_FOR_TARGET="\$(CONFIGURED_GFORTRAN_FOR_TARGET)" LD_FOR_TARGET="\$(CONFIGURED_LD_FOR_TARGET)" + LIPO_FOR_TARGET="\$(CONFIGURED_LIPO_FOR_TARGET)" NM_FOR_TARGET="\$(CONFIGURED_NM_FOR_TARGET)" RANLIB_FOR_TARGET="\$(CONFIGURED_RANLIB_FOR_TARGET)" + STRIP_FOR_TARGET="\$(CONFIGURED_STRIP_FOR_TARGET)" WINDRES_FOR_TARGET="\$(CONFIGURED_WINDRES_FOR_TARGET)" fi diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6cce8e834a5..db55afad71d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,34 @@ +2005-09-28 Geoffrey Keating + + * Makefile.in: Export LIPO_FOR_TARGET, STRIP_FOR_TARGET. + (stage1-start): Delete old libgcc and libunwind before moving + anything into the stage directory. + (stage2-start): Likewise. + (stage3-start): Likewise. + (stage4-start): Likewise. + (stageprofile-start): Likewise. + (stagefeedback-start): Likewise. + * config.gcc (*-*-darwin*): Automatically use CPU-specific darwin.h + header in tm_file and CPU-specific t-darwin in tmake_file. + (i[34567]86-*-darwin*): Don't change tm_file. + (powerpc-*-darwin*): Don't change tm_file or tmake_file. + * config/darwin.h (REAL_LIBGCC_SPEC): Rewrite to use proper libgcc + shared library stub for target OS version. + * config/t-slibgcc-darwin (SHLIB_SOLINK): Delete. + (SHLIB_LINK): Don't make SHLIB_SOLINK. + (SHLIB_INSTALL): Don't install SHLIB_SOLINK. + (libgcc_s.%.dylib): New. + (LIBGCC): Define. + (install-darwin-libgcc-stubs): New. + (INSTALL_LIBGCC): New append. + * config/i386/darwin-libgcc.10.4.ver: New. + * config/i386/darwin-libgcc.10.5.ver: New. + * config/i386/t-darwin: New. + * config/rs6000/darwin-libgcc.10.4.ver: New. + * config/rs6000/darwin-libgcc.10.5.ver: New. + * config/rs6000/darwin.h (REAL_LIBGCC_SPEC): Delete. + * config/rs6000/t-darwin (SHLIB_VERPFX): Define. + 2005-09-28 Paul Brook * config/m68k/fpgnulib.c (__extendsfdf2, __truncdfsf2): Handle diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 33056ee17aa..cd6533babcb 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -863,8 +863,10 @@ export INCLUDES export INSTALL_DATA export LIB1ASMSRC export LIBGCC2_CFLAGS +export LIPO_FOR_TARGET export MACHMODE_H export NM_FOR_TARGET +export STRIP_FOR_TARGET export RANLIB_FOR_TARGET export libsubdir export slibdir @@ -4283,6 +4285,9 @@ stage1-start: do \ if [ -d stage1/$$dir ] ; then true ; else mkdir stage1/$$dir ; fi ; \ done + -rm -f stage1/libgcc.a stage1/libgcc_eh.a stage1/libgcov.a + -rm -f stage1/libgcc_s*$(SHLIB_EXT) + -rm -f stage1/libunwind.a stage1/libunwind*$(SHLIB_EXT) # If SPECS is overridden, make sure it is `installed' as specs. -mv $(SPECS) stage1/specs -mv $(STAGEMOVESTUFF) stage1 @@ -4293,9 +4298,6 @@ stage1-start: -if [ -f as$(exeext) ] ; then (cd stage1 && $(LN_S) ../as$(exeext) .) ; else true ; fi -if [ -f ld$(exeext) ] ; then (cd stage1 && $(LN_S) ../ld$(exeext) .) ; else true ; fi -if [ -f collect-ld$(exeext) ] ; then (cd stage1 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi - -rm -f stage1/libgcc.a stage1/libgcc_eh.a stage1/libgcov.a - -rm -f stage1/libgcc_s*$(SHLIB_EXT) - -rm -f stage1/libunwind.a stage1/libunwind*$(SHLIB_EXT) -cp libgcc.a stage1 -$(RANLIB_FOR_TARGET) stage1/libgcc.a -cp libgcov.a stage1 @@ -4322,6 +4324,9 @@ stage2-start: do \ if [ -d stage2/$$dir ] ; then true ; else mkdir stage2/$$dir ; fi ; \ done + -rm -f stage2/libgcc.a stage2/libgcov.a stage2/libgcc_eh.a + -rm -f stage2/libgcc_s*$(SHLIB_EXT) + -rm -f stage2/libunwind.a stage2/libunwind*$(SHLIB_EXT) # If SPECS is overridden, make sure it is `installed' as specs. -mv $(SPECS) stage2/specs -mv $(STAGEMOVESTUFF) stage2 @@ -4332,9 +4337,6 @@ stage2-start: -if [ -f as$(exeext) ] ; then (cd stage2 && $(LN_S) ../as$(exeext) .) ; else true ; fi -if [ -f ld$(exeext) ] ; then (cd stage2 && $(LN_S) ../ld$(exeext) .) ; else true ; fi -if [ -f collect-ld$(exeext) ] ; then (cd stage2 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi - -rm -f stage2/libgcc.a stage2/libgcov.a stage2/libgcc_eh.a - -rm -f stage2/libgcc_s*$(SHLIB_EXT) - -rm -f stage2/libunwind.a stage2/libunwind*$(SHLIB_EXT) -cp libgcc.a stage2 -$(RANLIB_FOR_TARGET) stage2/libgcc.a -cp libgcov.a stage2 @@ -4357,6 +4359,9 @@ stage3-start: do \ if [ -d stage3/$$dir ] ; then true ; else mkdir stage3/$$dir ; fi ; \ done + -rm -f stage3/libgcc.a stage3/libgcov.a stage3/libgcc_eh.a + -rm -f stage3/libgcc_s*$(SHLIB_EXT) + -rm -f stage3/libunwind.a stage3/libunwind*$(SHLIB_EXT) # If SPECS is overridden, make sure it is `installed' as specs. -mv $(SPECS) stage3/specs -mv $(STAGEMOVESTUFF) stage3 @@ -4367,9 +4372,6 @@ stage3-start: -if [ -f as$(exeext) ] ; then (cd stage3 && $(LN_S) ../as$(exeext) .) ; else true ; fi -if [ -f ld$(exeext) ] ; then (cd stage3 && $(LN_S) ../ld$(exeext) .) ; else true ; fi -if [ -f collect-ld$(exeext) ] ; then (cd stage3 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi - -rm -f stage3/libgcc.a stage3/libgcov.a stage3/libgcc_eh.a - -rm -f stage3/libgcc_s*$(SHLIB_EXT) - -rm -f stage3/libunwind.a stage3/libunwind*$(SHLIB_EXT) -cp libgcc.a stage3 -$(RANLIB_FOR_TARGET) stage3/libgcc.a -cp libgcov.a stage3 @@ -4392,6 +4394,9 @@ stage4-start: do \ if [ -d stage4/$$dir ] ; then true ; else mkdir stage4/$$dir ; fi ; \ done + -rm -f stage4/libgcc.a stage4/libgcov.a stage4/libgcc_eh.a + -rm -f stage4/libgcc_s*$(SHLIB_EXT) + -rm -f stage4/libunwind.a stage4/libunwind*$(SHLIB_EXT) # If SPECS is overridden, make sure it is `installed' as specs. -mv $(SPECS) stage4/specs -mv $(STAGEMOVESTUFF) stage4 @@ -4402,9 +4407,6 @@ stage4-start: -if [ -f as$(exeext) ] ; then (cd stage4 && $(LN_S) ../as$(exeext) .) ; else true ; fi -if [ -f ld$(exeext) ] ; then (cd stage4 && $(LN_S) ../ld$(exeext) .) ; else true ; fi -if [ -f collect-ld$(exeext) ] ; then (cd stage4 && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi - -rm -f stage4/libgcc.a stage4/libgcov.a stage4/libgcc_eh.a - -rm -f stage4/libgcc_s*$(SHLIB_EXT) - -rm -f stage4/libunwind.a stage4/libunwind*$(SHLIB_EXT) -cp libgcc.a stage4 -$(RANLIB_FOR_TARGET) stage4/libgcc.a -cp libgcov.a stage4 @@ -4427,6 +4429,9 @@ stageprofile-start: do \ if [ -d stageprofile/$$dir ] ; then true ; else mkdir stageprofile/$$dir ; fi ; \ done + -rm -f stageprofile/libgcc.a stageprofile/libgcov.a stageprofile/libgcc_eh.a + -rm -f stageprofile/libgcc_s*$(SHLIB_EXT) + -rm -f stageprofile/libunwind.a stageprofile/libunwind*$(SHLIB_EXT) -mv $(STAGEMOVESTUFF) stageprofile -mv build/* stageprofile/build -cp -p $(STAGECOPYSTUFF) stageprofile @@ -4435,9 +4440,6 @@ stageprofile-start: -if [ -f as$(exeext) ] ; then (cd stageprofile && $(LN_S) ../as$(exeext) .) ; else true ; fi -if [ -f ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../ld$(exeext) .) ; else true ; fi -if [ -f collect-ld$(exeext) ] ; then (cd stageprofile && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi - -rm -f stageprofile/libgcc.a stageprofile/libgcov.a stageprofile/libgcc_eh.a - -rm -f stageprofile/libgcc_s*$(SHLIB_EXT) - -rm -f stageprofile/libunwind.a stageprofile/libunwind*$(SHLIB_EXT) -cp libgcc.a stageprofile -$(RANLIB_FOR_TARGET) stageprofile/libgcc.a -cp libgcov.a stageprofile @@ -4460,6 +4462,10 @@ stagefeedback-start: do \ if [ -d stagefeedback/$$dir ] ; then true ; else mkdir stagefeedback/$$dir ; fi ; \ done + -rm -f stagefeedback/libgcc.a stagefeedback/libgcov.a stagefeedback/libgcc_eh.a + -rm -f stagefeedback/libgcc_s*$(SHLIB_EXT) + -rm -f stagefeedback/libunwind.a stagefeedback/libunwind*$(SHLIB_EXT) + -rm -f *.da -mv $(STAGEMOVESTUFF) stagefeedback -mv build/* stagefeedback/build -cp -p $(STAGECOPYSTUFF) stagefeedback @@ -4468,10 +4474,6 @@ stagefeedback-start: -if [ -f as$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../as$(exeext) .) ; else true ; fi -if [ -f ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../ld$(exeext) .) ; else true ; fi -if [ -f collect-ld$(exeext) ] ; then (cd stagefeedback && $(LN_S) ../collect-ld$(exeext) .) ; else true ; fi - -rm -f stagefeedback/libgcc.a stagefeedback/libgcov.a stagefeedback/libgcc_eh.a - -rm -f stagefeedback/libgcc_s*$(SHLIB_EXT) - -rm -f stagefeedback/libunwind.a stagefeedback/libunwind*$(SHLIB_EXT) - -rm -f *.da -for dir in fixinc po testsuite $(SUBDIRS); \ do \ rm -f $$dir/*.da ; \ diff --git a/gcc/config.gcc b/gcc/config.gcc index 5b1b2e12c7b..cdfc66ee18c 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -356,9 +356,9 @@ esac # Common parts for widely ported systems. case ${target} in *-*-darwin*) - tm_file="${tm_file} darwin.h" + tm_file="${tm_file} darwin.h ${cpu_type}/darwin.h" tm_p_file="${tm_p_file} darwin-protos.h" - tmake_file="t-darwin t-slibgcc-darwin" + tmake_file="t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin" target_gtfiles="\$(srcdir)/config/darwin.c" extra_options="${extra_options} darwin.opt" c_target_objs="darwin-c.o" @@ -949,7 +949,7 @@ hppa[12]*-*-hpux11*) use_collect2=yes ;; i[34567]86-*-darwin*) - tm_file="${tm_file} i386/darwin.h" + # All the configuration is presently done generically. ;; i[34567]86-*-elf*) tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/i386elf.h" @@ -1611,8 +1611,6 @@ powerpc-*-beos*) use_fixproto=yes ;; powerpc-*-darwin*) - tm_file="${tm_file} rs6000/darwin.h" - tmake_file="${tmake_file} rs6000/t-darwin" extra_options="${extra_options} rs6000/darwin.opt" case ${target} in *-darwin1[0-9]* | *-darwin[8-9]*) diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h index 6b697a6733e..a4b79c613e5 100644 --- a/gcc/config/darwin.h +++ b/gcc/config/darwin.h @@ -302,12 +302,17 @@ Boston, MA 02110-1301, USA. */ #define LIB_SPEC "%{!static:-lSystem}" -/* -dynamiclib implies -shared-libgcc just like -shared would on linux. */ -#define REAL_LIBGCC_SPEC \ - "%{static|static-libgcc:-lgcc -lgcc_eh}\ - %{!static:%{!static-libgcc:\ - %{!Zdynamiclib:%{!shared-libgcc:-lgcc -lgcc_eh}\ - %{shared-libgcc:-lgcc_s -lgcc}} %{Zdynamiclib:-lgcc_s -lgcc}}}" +/* -dynamiclib implies -shared-libgcc just like -shared would on linux. + Support -mmacosx-version-min by supplying different (stub) libgcc_s.dylib + libraries to link against. */ +#undef REAL_LIBGCC_SPEC +#define REAL_LIBGCC_SPEC \ + "%{static|static-libgcc:-lgcc -lgcc_eh; \ + :%{shared-libgcc|Zdynamiclib \ + :%:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \ + %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_s.10.5) \ + -lgcc; \ + :-lgcc -lgcc_eh}}" /* We specify crt0.o as -lcrt0.o so that ld will search the library path. */ /* We don't want anything to do with crt2.o in the 64-bit case; diff --git a/gcc/config/i386/darwin-libgcc.10.4.ver b/gcc/config/i386/darwin-libgcc.10.4.ver new file mode 100644 index 00000000000..aaeb934fe7d --- /dev/null +++ b/gcc/config/i386/darwin-libgcc.10.4.ver @@ -0,0 +1,81 @@ +__Unwind_Backtrace +__Unwind_DeleteException +__Unwind_FindEnclosingFunction +__Unwind_Find_FDE +__Unwind_ForcedUnwind +__Unwind_GetCFA +__Unwind_GetDataRelBase +__Unwind_GetGR +__Unwind_GetIP +__Unwind_GetLanguageSpecificData +__Unwind_GetRegionStart +__Unwind_GetTextRelBase +__Unwind_RaiseException +__Unwind_Resume +__Unwind_Resume_or_Rethrow +__Unwind_SetGR +__Unwind_SetIP +___absvdi2 +___absvsi2 +___addvdi3 +___addvsi3 +___ashldi3 +___ashrdi3 +___clear_cache +___clzdi2 +___clzsi2 +___cmpdi2 +___ctzdi2 +___ctzsi2 +___deregister_frame +___deregister_frame_info +___deregister_frame_info_bases +___divdc3 +___divdi3 +___divsc3 +___divxc3 +___enable_execute_stack +___ffsdi2 +___fixdfdi +___fixsfdi +___fixunsdfdi +___fixunsdfsi +___fixunssfdi +___fixunssfsi +___fixunsxfdi +___fixunsxfsi +___fixxfdi +___floatdidf +___floatdisf +___floatdixf +___gcc_personality_v0 +___lshrdi3 +___moddi3 +___muldc3 +___muldi3 +___mulsc3 +___mulvdi3 +___mulvsi3 +___mulxc3 +___negdi2 +___negvdi2 +___negvsi2 +___paritydi2 +___paritysi2 +___popcountdi2 +___popcountsi2 +___powidf2 +___powisf2 +___powixf2 +___register_frame +___register_frame_info +___register_frame_info_bases +___register_frame_info_table +___register_frame_info_table_bases +___register_frame_table +___subvdi3 +___subvsi3 +___ucmpdi2 +___udivdi3 +___udivmoddi4 +___umoddi3 diff --git a/gcc/config/i386/darwin-libgcc.10.5.ver b/gcc/config/i386/darwin-libgcc.10.5.ver new file mode 100644 index 00000000000..aaeb934fe7d --- /dev/null +++ b/gcc/config/i386/darwin-libgcc.10.5.ver @@ -0,0 +1,81 @@ +__Unwind_Backtrace +__Unwind_DeleteException +__Unwind_FindEnclosingFunction +__Unwind_Find_FDE +__Unwind_ForcedUnwind +__Unwind_GetCFA +__Unwind_GetDataRelBase +__Unwind_GetGR +__Unwind_GetIP +__Unwind_GetLanguageSpecificData +__Unwind_GetRegionStart +__Unwind_GetTextRelBase +__Unwind_RaiseException +__Unwind_Resume +__Unwind_Resume_or_Rethrow +__Unwind_SetGR +__Unwind_SetIP +___absvdi2 +___absvsi2 +___addvdi3 +___addvsi3 +___ashldi3 +___ashrdi3 +___clear_cache +___clzdi2 +___clzsi2 +___cmpdi2 +___ctzdi2 +___ctzsi2 +___deregister_frame +___deregister_frame_info +___deregister_frame_info_bases +___divdc3 +___divdi3 +___divsc3 +___divxc3 +___enable_execute_stack +___ffsdi2 +___fixdfdi +___fixsfdi +___fixunsdfdi +___fixunsdfsi +___fixunssfdi +___fixunssfsi +___fixunsxfdi +___fixunsxfsi +___fixxfdi +___floatdidf +___floatdisf +___floatdixf +___gcc_personality_v0 +___lshrdi3 +___moddi3 +___muldc3 +___muldi3 +___mulsc3 +___mulvdi3 +___mulvsi3 +___mulxc3 +___negdi2 +___negvdi2 +___negvsi2 +___paritydi2 +___paritysi2 +___popcountdi2 +___popcountsi2 +___powidf2 +___powisf2 +___powixf2 +___register_frame +___register_frame_info +___register_frame_info_bases +___register_frame_info_table +___register_frame_info_table_bases +___register_frame_table +___subvdi3 +___subvsi3 +___ucmpdi2 +___udivdi3 +___udivmoddi4 +___umoddi3 diff --git a/gcc/config/i386/t-darwin b/gcc/config/i386/t-darwin new file mode 100644 index 00000000000..3d0d5d5b894 --- /dev/null +++ b/gcc/config/i386/t-darwin @@ -0,0 +1 @@ +SHLIB_VERPFX = $(srcdir)/config/rs6000/darwin-libgcc diff --git a/gcc/config/rs6000/darwin-libgcc.10.4.ver b/gcc/config/rs6000/darwin-libgcc.10.4.ver new file mode 100644 index 00000000000..019218dd60f --- /dev/null +++ b/gcc/config/rs6000/darwin-libgcc.10.4.ver @@ -0,0 +1,76 @@ +__Unwind_Backtrace +__Unwind_DeleteException +__Unwind_FindEnclosingFunction +__Unwind_Find_FDE +__Unwind_ForcedUnwind +__Unwind_GetCFA +__Unwind_GetDataRelBase +__Unwind_GetGR +__Unwind_GetIP +__Unwind_GetLanguageSpecificData +__Unwind_GetRegionStart +__Unwind_GetTextRelBase +__Unwind_RaiseException +__Unwind_Resume +__Unwind_Resume_or_Rethrow +__Unwind_SetGR +__Unwind_SetIP +___absvdi2 +___absvsi2 +___addvdi3 +___addvsi3 +___ashldi3 +___ashrdi3 +___clear_cache +___clzdi2 +___clzsi2 +___cmpdi2 +___ctzdi2 +___ctzsi2 +___deregister_frame +___deregister_frame_info +___deregister_frame_info_bases +___divdi3 +___enable_execute_stack +___ffsdi2 +___fixdfdi +___fixsfdi +___fixtfdi +___fixunsdfdi +___fixunsdfsi +___fixunssfdi +___fixunssfsi +___fixunstfdi +___floatdidf +___floatdisf +___floatditf +___gcc_personality_v0 +___gcc_qadd +___gcc_qdiv +___gcc_qmul +___gcc_qsub +___lshrdi3 +___moddi3 +___muldi3 +___mulvdi3 +___mulvsi3 +___negdi2 +___negvdi2 +___negvsi2 +___paritydi2 +___paritysi2 +___popcountdi2 +___popcountsi2 +___register_frame +___register_frame_info +___register_frame_info_bases +___register_frame_info_table +___register_frame_info_table_bases +___register_frame_table +___subvdi3 +___subvsi3 +___trampoline_setup +___ucmpdi2 +___udivdi3 +___udivmoddi4 +___umoddi3 diff --git a/gcc/config/rs6000/darwin-libgcc.10.5.ver b/gcc/config/rs6000/darwin-libgcc.10.5.ver new file mode 100644 index 00000000000..679d8c2f471 --- /dev/null +++ b/gcc/config/rs6000/darwin-libgcc.10.5.ver @@ -0,0 +1,85 @@ +__Unwind_Backtrace +__Unwind_DeleteException +__Unwind_FindEnclosingFunction +__Unwind_Find_FDE +__Unwind_ForcedUnwind +__Unwind_GetCFA +__Unwind_GetDataRelBase +__Unwind_GetGR +__Unwind_GetIP +__Unwind_GetLanguageSpecificData +__Unwind_GetRegionStart +__Unwind_GetTextRelBase +__Unwind_RaiseException +__Unwind_Resume +__Unwind_Resume_or_Rethrow +__Unwind_SetGR +__Unwind_SetIP +___absvdi2 +___absvsi2 +___addvdi3 +___addvsi3 +___ashldi3 +___ashrdi3 +___clear_cache +___clzdi2 +___clzsi2 +___cmpdi2 +___ctzdi2 +___ctzsi2 +___deregister_frame +___deregister_frame_info +___deregister_frame_info_bases +___divdc3 +___divdi3 +___divsc3 +___divtc3 +___enable_execute_stack +___ffsdi2 +___fixdfdi +___fixsfdi +___fixtfdi +___fixunsdfdi +___fixunsdfsi +___fixunssfdi +___fixunssfsi +___fixunstfdi +___floatdidf +___floatdisf +___floatditf +___gcc_personality_v0 +___gcc_qadd +___gcc_qdiv +___gcc_qmul +___gcc_qsub +___lshrdi3 +___moddi3 +___muldc3 +___muldi3 +___mulsc3 +___multc3 +___mulvdi3 +___mulvsi3 +___negdi2 +___negvdi2 +___negvsi2 +___paritydi2 +___paritysi2 +___popcountdi2 +___popcountsi2 +___powidf2 +___powisf2 +___powitf2 +___register_frame +___register_frame_info +___register_frame_info_bases +___register_frame_info_table +___register_frame_info_table_bases +___register_frame_table +___subvdi3 +___subvsi3 +___trampoline_setup +___ucmpdi2 +___udivdi3 +___udivmoddi4 +___umoddi3 diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h index ef1532d776f..0d633efed41 100644 --- a/gcc/config/rs6000/darwin.h +++ b/gcc/config/rs6000/darwin.h @@ -392,14 +392,6 @@ do { \ } \ while (0) -/* Just like config/darwin.h's REAL_LIBGCC_SPEC, but use -lgcc_s_ppc64 for - -m64. */ -#undef REAL_LIBGCC_SPEC -#define REAL_LIBGCC_SPEC \ - "%{static|static-libgcc:-lgcc -lgcc_eh; \ - :%{shared-libgcc|Zdynamiclib:%{m64:-lgcc_s_ppc64;:-lgcc_s} -lgcc; \ - :-lgcc -lgcc_eh}}" - #ifdef IN_LIBGCC2 #include #endif diff --git a/gcc/config/rs6000/t-darwin b/gcc/config/rs6000/t-darwin index 74ded0f2793..264cb63c87d 100644 --- a/gcc/config/rs6000/t-darwin +++ b/gcc/config/rs6000/t-darwin @@ -19,6 +19,8 @@ TARGET_LIBGCC2_CFLAGS = -Wa,-force_cpusubtype_ALL -pipe # Export the _xlq* symbols from darwin-ldouble.c. SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-ppc64.ver +SHLIB_VERPFX = $(srcdir)/config/rs6000/darwin-libgcc + LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c darwin-fpsave.o: $(srcdir)/config/rs6000/darwin-asm.h