* configure.in (libgcc_visibility): Substitute.
* configure: Rebuilt.
* mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
defined symbols .hidden.
From-SVN: r50063
+2002-02-26 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.in (libgcc_visibility): Substitute.
+ * configure: Rebuilt.
+ * mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
+ defined symbols .hidden.
+
2002-02-26 Jakub Jelinek <jakub@redhat.com>
* attribs.c (c_common_attribute_table): Add visibility.
fi
echo "$ac_t""$gcc_cv_as_hidden" 1>&6
+libgcc_visibility=$gcc_cv_as_hidden
+
echo $ac_n "checking assembler leb128 support""... $ac_c" 1>&6
echo "configure:7153: checking assembler leb128 support" >&5
s%@HOST_CFLAGS@%$HOST_CFLAGS%g
s%@STMP_FIXINC@%$STMP_FIXINC%g
s%@STMP_FIXPROTO@%$STMP_FIXPROTO%g
+s%@libgcc_visibility@%$libgcc_visibility%g
s%@gthread_flags@%$gthread_flags%g
s%@GGC@%$GGC%g
s%@zlibdir@%$zlibdir%g
[Define if your assembler supports .hidden.])
fi
AC_MSG_RESULT($gcc_cv_as_hidden)
+libgcc_visibility=$gcc_cv_as_hidden
+AC_SUBST(libgcc_visibility)
AC_MSG_CHECKING(assembler leb128 support)
gcc_cv_as_leb128=no
shlib_deps="$shlib_deps $dir/$f"
done
+ libgcc_a_objs="$libgcc_objs $libgcc_st_objs"
+
+ if [ "@libgcc_visibility@" = yes ]; then
+ libgcc_a_objs=`echo "${libgcc_a_objs} " | sed s~${objext}' ~.oS ~g'`
+
+ # .oS objects will have all non-local symbol definitions .hidden
+ echo ""
+ echo "$libgcc_a_objs: libgcc/${dir}/%.oS: libgcc/${dir}/%${objext}"
+ echo " @\$(NM_FOR_TARGET) $SHLIB_NM_FLAGS \$^" \\
+ echo " | \$(AWK) 'NF == 3 { printf \".hidden %s\\n\", \$\$3 }'" \\
+ echo ' | $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -Wl,-r -nostdinc' \\
+ echo ' -nostdlib -o $@ $^ -xassembler -'
+ fi
+
echo ""
- echo "${dir}/libgcc.a: $libgcc_objs $libgcc_st_objs"
+ echo "${dir}/libgcc.a: $libgcc_a_objs"
echo " -rm -rf ${dir}/libgcc.a"
- echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc.a $libgcc_objs $libgcc_st_objs
+ echo ' $(AR_CREATE_FOR_TARGET)' ${dir}/libgcc.a $libgcc_a_objs
echo ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\
echo ' $(RANLIB_FOR_TARGET)' ${dir}/libgcc.a ';' \\
echo ' else true; fi;'