summaryrefslogtreecommitdiff
path: root/gcc/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/configure.in')
-rw-r--r--gcc/configure.in20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/configure.in b/gcc/configure.in
index f69250efd01..01a927e76a0 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -1484,6 +1484,26 @@ EOF
fi
AC_MSG_RESULT($gcc_cv_as_eh_frame)
+AC_MSG_CHECKING(assembler section merging support)
+gcc_cv_as_shf_merge=no
+if test x$gcc_cv_gas_major_version != x -a x$gcc_cv_gas_minor_version != x; then
+ if test "$gcc_cv_gas_major_version" -eq 2 -a "$gcc_cv_gas_minor_version" -ge 12 -o "$gcc_cv_gas_major_version" -gt 2 && grep 'obj_format = elf' ../gas/Makefile > /dev/null; then
+ gcc_cv_as_subsections="working SHF_MERGE support"
+ fi
+elif test x$gcc_cv_as != x; then
+ # Check if we support SHF_MERGE sections
+ echo '.section .rodata.str, "aMS", @progbits, 1' > conftest.s
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ gcc_cv_as_shf_merge=yes
+ fi
+ rm -f conftest.s conftest.o
+fi
+if test x"$gcc_cv_as_shf_merge" = xyes; then
+ AC_DEFINE(HAVE_GAS_SHF_MERGE, 1,
+[Define if your assembler supports marking sections with SHF_MERGE flag.])
+fi
+AC_MSG_RESULT($gcc_cv_as_shf_merge)
+
case "$target" in
sparc*-*-*)
AC_CACHE_CHECK([assembler .register pseudo-op support],