configure.in (libgcc_visibility): Substitute.

* configure.in (libgcc_visibility): Substitute.
	* configure: Rebuilt.
	* mklibgcc.in: If libgcc_visibility = yes, make libgcc.a global
	defined symbols .hidden.

From-SVN: r50063
This commit is contained in:
Jakub Jelinek 2002-02-26 22:39:07 +01:00 committed by Jakub Jelinek
parent 47bd70b56a
commit 9e944a165d
4 changed files with 28 additions and 2 deletions

View File

@ -1,3 +1,10 @@
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> 2002-02-26 Jakub Jelinek <jakub@redhat.com>
* attribs.c (c_common_attribute_table): Add visibility. * attribs.c (c_common_attribute_table): Add visibility.

3
gcc/configure vendored
View File

@ -7147,6 +7147,8 @@ EOF
fi fi
echo "$ac_t""$gcc_cv_as_hidden" 1>&6 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 $ac_n "checking assembler leb128 support""... $ac_c" 1>&6
echo "configure:7153: checking assembler leb128 support" >&5 echo "configure:7153: checking assembler leb128 support" >&5
@ -8394,6 +8396,7 @@ s%@HOST_CC@%$HOST_CC%g
s%@HOST_CFLAGS@%$HOST_CFLAGS%g s%@HOST_CFLAGS@%$HOST_CFLAGS%g
s%@STMP_FIXINC@%$STMP_FIXINC%g s%@STMP_FIXINC@%$STMP_FIXINC%g
s%@STMP_FIXPROTO@%$STMP_FIXPROTO%g s%@STMP_FIXPROTO@%$STMP_FIXPROTO%g
s%@libgcc_visibility@%$libgcc_visibility%g
s%@gthread_flags@%$gthread_flags%g s%@gthread_flags@%$gthread_flags%g
s%@GGC@%$GGC%g s%@GGC@%$GGC%g
s%@zlibdir@%$zlibdir%g s%@zlibdir@%$zlibdir%g

View File

@ -1484,6 +1484,8 @@ if test x"$gcc_cv_as_hidden" = xyes; then
[Define if your assembler supports .hidden.]) [Define if your assembler supports .hidden.])
fi fi
AC_MSG_RESULT($gcc_cv_as_hidden) AC_MSG_RESULT($gcc_cv_as_hidden)
libgcc_visibility=$gcc_cv_as_hidden
AC_SUBST(libgcc_visibility)
AC_MSG_CHECKING(assembler leb128 support) AC_MSG_CHECKING(assembler leb128 support)
gcc_cv_as_leb128=no gcc_cv_as_leb128=no

View File

@ -270,10 +270,24 @@ for ml in $MULTILIBS; do
shlib_deps="$shlib_deps $dir/$f" shlib_deps="$shlib_deps $dir/$f"
done 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 ""
echo "${dir}/libgcc.a: $libgcc_objs $libgcc_st_objs" echo "${dir}/libgcc.a: $libgcc_a_objs"
echo " -rm -rf ${dir}/libgcc.a" 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 ' if $(RANLIB_TEST_FOR_TARGET) ; then' \\
echo ' $(RANLIB_FOR_TARGET)' ${dir}/libgcc.a ';' \\ echo ' $(RANLIB_FOR_TARGET)' ${dir}/libgcc.a ';' \\
echo ' else true; fi;' echo ' else true; fi;'