Blame SOURCES/gcc32-libgcc_eh-hidden.patch

6f1b0c
--- gcc/mklibgcc.in.jj	2006-05-22 14:03:31.000000000 -0400
6f1b0c
+++ gcc/mklibgcc.in	2006-05-22 14:03:31.000000000 -0400
6f1b0c
@@ -310,10 +310,24 @@ for ml in $MULTILIBS; do
6f1b0c
 
6f1b0c
   if [ "$SHLIB_LINK" ]; then
6f1b0c
 
6f1b0c
+    if [ "@libgcc_visibility@" = yes ]; then
6f1b0c
+      libgcc_eh_objS=
6f1b0c
+      echo ""
6f1b0c
+      for o in $libgcc_eh_objs; do
6f1b0c
+	# .oS objects will have all non-local symbol definitions .hidden
6f1b0c
+	oS=`echo ${o} | sed s~${objext}'$~.oS~g'`
6f1b0c
+	echo "${oS}: stmp-dirs libgcc/${dir}/stacknote.s ${o}"
6f1b0c
+	echo '	@( $(NM_FOR_TARGET) '${SHLIB_NM_FLAGS} ${o}' | $(AWK) '\''NF == 3 { print "\t.hidden", $$3 }'\''; cat libgcc/${dir}/stacknote.s ) | $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) '${flags}' -r -nostdinc -nostdlib -o $@ '${o}' -xassembler -'
6f1b0c
+	libgcc_eh_objS="${libgcc_eh_objS} ${oS}"
6f1b0c
+      done
6f1b0c
+    else
6f1b0c
+      libgcc_eh_objS="$libgcc_eh_objs"
6f1b0c
+    fi
6f1b0c
+
6f1b0c
     echo ""
6f1b0c
-    echo "${dir}/libgcc_eh.a: $libgcc_eh_objs"
6f1b0c
+    echo "${dir}/libgcc_eh.a: $libgcc_eh_objS"
6f1b0c
     echo "	-rm -rf ${dir}/libgcc_eh.a"
6f1b0c
-    echo '	$(AR_CREATE_FOR_TARGET)' ${dir}/libgcc_eh.a $libgcc_eh_objs
6f1b0c
+    echo '	$(AR_CREATE_FOR_TARGET)' ${dir}/libgcc_eh.a $libgcc_eh_objS
6f1b0c
     echo '	if $(RANLIB_TEST_FOR_TARGET) ; then' \\
6f1b0c
     echo '	  $(RANLIB_FOR_TARGET)' ${dir}/libgcc_eh.a ';' \\
6f1b0c
     echo '	else true; fi;'