summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/acconfig.h3
-rw-r--r--gcc/config.in3
-rw-r--r--gcc/config/pa/som.h2
-rwxr-xr-xgcc/configure25
-rw-r--r--gcc/configure.in13
6 files changed, 50 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4d39894df7f..c16f4b6ceb3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+Wed Mar 15 15:43:38 2000 Jeffrey A Law (law@cygnus.com)
+
+ * acconfig.h (HAVE_GAS_WEAK): New define.
+ * configure.in (assembler weak support): Check for .weak support.
+ * config.in, configure: Rebuilt.
+ * pa/som.h (MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL): Only define if
+ HAVE_GAS_WEAK is defined.
+
2000-03-15 Nick Clifton <nickc@cygnus.com>
* config/arm/arm.c (arm_output_epilogue): Do not pass %c to
diff --git a/gcc/acconfig.h b/gcc/acconfig.h
index b86b4d3c74a..b0a44d00aca 100644
--- a/gcc/acconfig.h
+++ b/gcc/acconfig.h
@@ -69,6 +69,9 @@
emitting at the beginning of your section */
#undef HAVE_GAS_SUBSECTION_ORDERING
+/* Define if your assembler supports .weak. */
+#undef HAVE_GAS_WEAK
+
/* Define if your assembler uses the old HImode fild and fist notation. */
#undef HAVE_GAS_FILDS_FISTS
diff --git a/gcc/config.in b/gcc/config.in
index 7ef6bcd16b1..879360b882f 100644
--- a/gcc/config.in
+++ b/gcc/config.in
@@ -70,6 +70,9 @@
emitting at the beginning of your section */
#undef HAVE_GAS_SUBSECTION_ORDERING
+/* Define if your assembler supports .weak. */
+#undef HAVE_GAS_WEAK
+
/* Define if your assembler uses the old HImode fild and fist notation. */
#undef HAVE_GAS_FILDS_FISTS
diff --git a/gcc/config/pa/som.h b/gcc/config/pa/som.h
index d00db587d24..8219ca7d9fc 100644
--- a/gcc/config/pa/som.h
+++ b/gcc/config/pa/som.h
@@ -378,6 +378,7 @@ do { \
/* The .align directive in the HP assembler allows up to a 32 alignment. */
#define MAX_OFILE_ALIGNMENT 32768
+#ifdef HAVE_GAS_WEAK
#define MAKE_DECL_ONE_ONLY(DECL) (DECL_WEAK (DECL) = 1)
/* This is how we tell the assembler that a symbol is weak. */
@@ -385,3 +386,4 @@ do { \
#define ASM_WEAKEN_LABEL(FILE,NAME) \
do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
fputc ('\n', FILE); } while (0)
+#endif
diff --git a/gcc/configure b/gcc/configure
index fea9b3f1bee..4fdd12f15af 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -8891,10 +8891,27 @@ EOF
fi
echo "$ac_t""$gcc_cv_as_subsections" 1>&6
+echo $ac_n "checking assembler weak support""... $ac_c" 1>&6
+echo "configure:8896: checking assembler weak support" >&5
+gcc_cv_as_weak=
+if test x$gcc_cv_as != x; then
+ # Check if we have .weak
+ echo " .weak foobar" > conftest.s
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_GAS_WEAK 1
+EOF
+
+ gcc_cv_as_weak="yes"
+ fi
+ rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
+fi
+echo "$ac_t""$gcc_cv_as_weak" 1>&6
+
case "$target" in
sparc*-*-*)
echo $ac_n "checking assembler .register pseudo-op support""... $ac_c" 1>&6
-echo "configure:8898: checking assembler .register pseudo-op support" >&5
+echo "configure:8915: checking assembler .register pseudo-op support" >&5
if eval "test \"`echo '$''{'gcc_cv_as_register_pseudo_op'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -8924,7 +8941,7 @@ EOF
case "$tm_file" in
*64*)
echo $ac_n "checking for 64 bit support in assembler ($gcc_cv_as)""... $ac_c" 1>&6
-echo "configure:8928: checking for 64 bit support in assembler ($gcc_cv_as)" >&5
+echo "configure:8945: checking for 64 bit support in assembler ($gcc_cv_as)" >&5
if eval "test \"`echo '$''{'gcc_cv_as_flags64'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -8969,7 +8986,7 @@ EOF
if test "x$gcc_cv_as_flags64" != xno; then
echo $ac_n "checking for assembler offsetable %lo() support""... $ac_c" 1>&6
-echo "configure:8973: checking for assembler offsetable %lo() support" >&5
+echo "configure:8990: checking for assembler offsetable %lo() support" >&5
if eval "test \"`echo '$''{'gcc_cv_as_offsetable_lo10'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -9008,7 +9025,7 @@ EOF
i[34567]86-*-*)
echo $ac_n "checking assembler instructions""... $ac_c" 1>&6
-echo "configure:9012: checking assembler instructions" >&5
+echo "configure:9029: checking assembler instructions" >&5
gcc_cv_as_instructions=
if test x$gcc_cv_as != x; then
set "filds fists" "filds mem; fists mem"
diff --git a/gcc/configure.in b/gcc/configure.in
index 4a38a5e0a9c..75fa2e29651 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -4427,6 +4427,19 @@ EOF
fi
AC_MSG_RESULT($gcc_cv_as_subsections)
+AC_MSG_CHECKING(assembler weak support)
+gcc_cv_as_weak=
+if test x$gcc_cv_as != x; then
+ # Check if we have .weak
+ echo " .weak foobar" > conftest.s
+ if $gcc_cv_as -o conftest.o conftest.s > /dev/null 2>&1; then
+ AC_DEFINE(HAVE_GAS_WEAK)
+ gcc_cv_as_weak="yes"
+ fi
+ rm -f conftest.s conftest.o conftest.nm1 conftest.nm2
+fi
+AC_MSG_RESULT($gcc_cv_as_weak)
+
case "$target" in
sparc*-*-*)
AC_CACHE_CHECK([assembler .register pseudo-op support],