aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/mips/elf.h32
-rw-r--r--gcc/config/mips/elf64.h32
-rw-r--r--gcc/config/mips/r3900.h19
4 files changed, 73 insertions, 18 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e6a9b70..4cb493c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com>
+
+ * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL,
+ ASM_OUTPUT_WEAK_ALIAS): Define.
+ * config/mips/elf64.h: Same.
+ * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
+ ASM_WEAKEN_LABEL): Removed.
+
Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* calls.c (expand_call): Bump the length limit on the specially
diff --git a/gcc/config/mips/elf.h b/gcc/config/mips/elf.h
index e0425cf..f987de3 100644
--- a/gcc/config/mips/elf.h
+++ b/gcc/config/mips/elf.h
@@ -70,3 +70,35 @@ do { \
else \
fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME)); \
} while (0)
+
+#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
+ do { fputc ( '\t', FILE); \
+ assemble_name (FILE, LABEL1); \
+ fputs ( " = ", FILE); \
+ assemble_name (FILE, LABEL2); \
+ fputc ( '\n', FILE); \
+ } while (0)
+
+/* Note about .weak vs. .weakext
+ The mips native assemblers support .weakext, but not .weak.
+ mips-elf gas supports .weak, but not .weakext.
+ mips-elf gas has been changed to support both .weak and .weakext,
+ but until that support is generally available, the 'if' below
+ should serve. */
+
+#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,0)
+#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
+ do { \
+ if (TARGET_GAS) \
+ fputs ("\t.weak\t", FILE); \
+ else \
+ fputs ("\t.weakext\t", FILE); \
+ assemble_name (FILE, NAME); \
+ if (VALUE) \
+ { \
+ fputc (' ', FILE); \
+ assemble_name (FILE, VALUE); \
+ } \
+ fputc ('\n', FILE); \
+ } while (0)
+
diff --git a/gcc/config/mips/elf64.h b/gcc/config/mips/elf64.h
index 1841150..3673c9e 100644
--- a/gcc/config/mips/elf64.h
+++ b/gcc/config/mips/elf64.h
@@ -95,3 +95,35 @@ do { \
else \
fprintf (F, "\t.section %s,\"aw\",@progbits\n", (NAME)); \
} while (0)
+
+#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
+ do { fputc ( '\t', FILE); \
+ assemble_name (FILE, LABEL1); \
+ fputs ( " = ", FILE); \
+ assemble_name (FILE, LABEL2); \
+ fputc ( '\n', FILE); \
+ } while (0)
+
+/* Note about .weak vs. .weakext
+ The mips native assemblers support .weakext, but not .weak.
+ mips-elf gas supports .weak, but not .weakext.
+ mips-elf gas has been changed to support both .weak and .weakext,
+ but until that support is generally available, the 'if' below
+ should serve. */
+
+#define ASM_WEAKEN_LABEL(FILE,NAME) ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,0)
+#define ASM_OUTPUT_WEAK_ALIAS(FILE,NAME,VALUE) \
+ do { \
+ if (TARGET_GAS) \
+ fputs ("\t.weak\t", FILE); \
+ else \
+ fputs ("\t.weakext\t", FILE); \
+ assemble_name (FILE, NAME); \
+ if (VALUE) \
+ { \
+ fputc (' ', FILE); \
+ assemble_name (FILE, VALUE); \
+ } \
+ fputc ('\n', FILE); \
+ } while (0)
+
diff --git a/gcc/config/mips/r3900.h b/gcc/config/mips/r3900.h
index f1a0d21..0e95c7d 100644
--- a/gcc/config/mips/r3900.h
+++ b/gcc/config/mips/r3900.h
@@ -69,21 +69,4 @@ Boston, MA 02111-1307, USA. */
%{gstabs+:-g} %{gstabs+0:-g0} %{gstabs+1:-g1} %{gstabs+2:-g2} %{gstabs+3:-g3} \
%{gcoff:-g} %{gcoff0:-g0} %{gcoff1:-g1} %{gcoff2:-g2} %{gcoff3:-g3}"
-/* This is how to equate one symbol to another symbol. The syntax used is
- `SYM1=SYM2'. Note that this is different from the way equates are done
- with most svr4 assemblers, where the syntax is `.set SYM1,SYM2'. */
-
-#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
- do { fprintf ((FILE), "\t"); \
- assemble_name (FILE, LABEL1); \
- fprintf (FILE, " = "); \
- assemble_name (FILE, LABEL2); \
- fprintf (FILE, "\n"); \
- } while (0)
-
-#define SUPPORTS_WEAK 1
-#define ASM_WEAKEN_LABEL(FILE,NAME) \
- do { fprintf ((FILE), "\t.weak\t"); \
- assemble_name (FILE, NAME); \
- fprintf (FILE, "\n"); \
- } while (0)
+/* eof */