This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

mklibgcc fallout


This fixes one problem with Zack's recent mklibgcc changes.  On a native
powerpc64-linux build, I was seeing

checking for sin in -lm... configure: error: Link tests are not allowed after GCC_NO_EXECUTABLES.
make[1]: *** [configure-target-libstdc++-v3] Error 1

when building multilibs.  This turned out to be due to a bad symlink in
gcc/32,
  libgcc_s_32.so -> 32/libgcc_s.so.1
which should be
  libgcc_s_32.so -> libgcc_s.so.1.

	* mklibgcc.in: Trim directory when substituting shlib_base_name.

See config/t-slibgcc-elf-ver for where shlib_base_name is used.
Tested powerpc64-linux.

--- gcc-virgin/gcc/mklibgcc.in	2004-12-01 08:25:51.000000000 +1030
+++ gcc-current/gcc/mklibgcc.in	2004-12-02 21:41:44.682588912 +1030
@@ -755,13 +755,14 @@
 
   # Shared libraries.
   if [ "$libgcc_s_so" ]; then
+    shlib_base_name=`echo $libgcc_s_so_base | sed 's,.*/,,'`
     echo ""
     echo "$libgcc_s_so: stmp-dirs $libunwind_so"
     echo "	$SHLIB_LINK" \
 	 | sed -e "s%@multilib_flags@%$flags%g" \
 	       -e "s%@multilib_dir@%$dir%g" \
 	       -e "s%@shlib_objs@%\$(filter-out $libgcc_s_so_extra,\$(objects))%g" \
-	       -e "s%@shlib_base_name@%$libgcc_s_so_base%g" \
+	       -e "s%@shlib_base_name@%$shlib_base_name%g" \
 	       -e "s%@shlib_so_name@%$libgcc_s_soname%g" \
 	       -e "s%@shlib_map_file@%$mapfile%g" \
 	       -e "s%@shlib_dir@%$shlib_dir%g" \
@@ -770,13 +771,14 @@
   fi
 
   if [ "$libunwind_so" ]; then
+    shlib_base_name=`echo $libunwind_so_base | sed 's,.*/,,'`
     echo ""
     echo "$libunwind_so: stmp-dirs"
     echo "	$SHLIBUNWIND_LINK" \
 	   | sed -e "s%@multilib_flags@%$flags%g" \
 		 -e "s%@multilib_dir@%$dir%g" \
 		 -e "s%@shlib_objs@%\$(filter-out $libunwind_so_extra,\$(objects))%g" \
-		 -e "s%@shlib_base_name@%$libunwind_so_base%g" \
+		 -e "s%@shlib_base_name@%$shlib_base_name%g" \
 		 -e "s%@shlib_so_name@%$libunwind_soname%g" \
 		 -e "s%@shlib_dir@%$shlib_dir%g" \
 		 -e "s%@shlib_slibdir_qual@%$shlib_dir_qual%g"
-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]