summaryrefslogtreecommitdiff
path: root/gcc/configure.in
diff options
context:
space:
mode:
authordavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>1998-09-10 22:28:30 +0000
committerdavem <davem@138bc75d-0d04-0410-961f-82ee72b054a4>1998-09-10 22:28:30 +0000
commitb6d28b197b7ff1893c7bb301f5c61dd5698e8ae5 (patch)
treec8b5a568b15e1730be67b19c2270b0fd997a8876 /gcc/configure.in
parent11d3b06039ed6c3bc278dc56890012a84623392d (diff)
downloadgcc-b6d28b197b7ff1893c7bb301f5c61dd5698e8ae5.tar.gz
* configure.in: Add check for GAS subsection -1 support.
* acconfig.h (HAVE_GAS_SUBSECTION_ORDERING): Add. * configure config.in: Rebuilt. * config/sparc/sparc.h (CASE_VECTOR_MODE): For V9 flag_pic, use SImode is subsection -1 works, else use DImode. (ASM_OUTPUT_ADDR_VEC_START, ASM_OUTPUT_ADDR_VEC_END): Define if subsection -1 works. * config/sparc/sparc.c (sparc_output_addr_vec, sparc_output_addr_diff_vec): Use them if defined. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@22383 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/configure.in')
-rw-r--r--gcc/configure.in34
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/configure.in b/gcc/configure.in
index 911a11978f3..98848d40a24 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -3669,6 +3669,40 @@ if test x$gcc_cv_as != x; then
fi
AC_MSG_RESULT($gcc_cv_as_alignment_features)
+AC_MSG_CHECKING(assembler subsection support)
+gcc_cv_as_subsections=
+if test x$gcc_cv_as != x; then
+ # Check if we have .subsection
+ echo ".subsection 1" > conftest.s
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ gcc_cv_as_subsections=".subsection"
+ if test -x nm$host_exeext; then
+ gcc_cv_nm=./nm$host_exeext
+ elif test x$host = x$target; then
+ # Native build.
+ gcc_cv_nm=nm$host_exeext
+ fi
+ if test x$gcc_cv_nm != x; then
+ cat > conftest.s <<EOF
+conftest_label1: .word 0
+.subsection -1
+conftest_label2: .word 0
+.previous
+EOF
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ $gcc_cv_nm conftest.o | grep conftest_label1 > conftest.nm1
+ $gcc_cv_nm conftest.o | grep conftest_label2 | sed -e 's/label2/label1/' > conftest.nm2
+ if ! cmp conftest.nm1 conftest.nm2 > /dev/null 2>&1; then
+ gcc_cv_as_subsections="working .subsection -1"
+ AC_DEFINE(HAVE_GAS_SUBSECTION_ORDERING)
+ fi
+ fi
+ fi
+ fi
+ rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
+fi
+AC_MSG_RESULT($gcc_cv_as_subsections)
+
# Figure out what language subdirectories are present.
subdirs=
for lang in ${srcdir}/*/config-lang.in ..