Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/gnu/dist/toolchain/gcc/config/rs6000 Recent change to <netbs...
details: https://anonhg.NetBSD.org/src/rev/7e74a19aad11
branches: trunk
changeset: 519532:7e74a19aad11
user: thorpej <thorpej%NetBSD.org@localhost>
date: Wed Dec 19 23:30:53 2001 +0000
description:
Recent change to <netbsd.h> broke ASM_DECLARE_FUNCTION_NAME. Re-define
it here to what it should be.
diffstat:
gnu/dist/toolchain/gcc/config/rs6000/netbsd.h | 50 +++++++++++++++++++++++++++
1 files changed, 50 insertions(+), 0 deletions(-)
diffs (57 lines):
diff -r 42fb594d1d73 -r 7e74a19aad11 gnu/dist/toolchain/gcc/config/rs6000/netbsd.h
--- a/gnu/dist/toolchain/gcc/config/rs6000/netbsd.h Wed Dec 19 23:14:50 2001 +0000
+++ b/gnu/dist/toolchain/gcc/config/rs6000/netbsd.h Wed Dec 19 23:30:53 2001 +0000
@@ -71,3 +71,53 @@
%{posix:-D_POSIX_SOURCE} \
%{msoft-float:-D_SOFT_FLOAT} \
%{mcall-sysv: -D_CALL_SYSV} %{mcall-aix: -D_CALL_AIX} %{!mcall-sysv: %{!mcall-aix: -D_CALL_SYSV}}"
+
+/* <netbsd.h> redefined a bunch of these things, but we actually want the
+ <rs6000/sysv4.h> versions. */
+
+#undef ASM_DECLARE_FUNCTION_NAME
+#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \
+ do { \
+ char *orig_name; \
+ char *init_ptr = (TARGET_64BIT) ? ".quad" : ".long"; \
+ STRIP_NAME_ENCODING (orig_name, NAME); \
+ \
+ if (TARGET_RELOCATABLE && (get_pool_size () != 0 || profile_flag)) \
+ { \
+ char buf[256], *buf_ptr; \
+ \
+ ASM_OUTPUT_INTERNAL_LABEL (FILE, "LCL", rs6000_pic_labelno); \
+ \
+ ASM_GENERATE_INTERNAL_LABEL (buf, "LCTOC", 1); \
+ STRIP_NAME_ENCODING (buf_ptr, buf); \
+ fprintf (FILE, "\t%s %s-", init_ptr, buf_ptr); \
+ \
+ ASM_GENERATE_INTERNAL_LABEL (buf, "LCF", rs6000_pic_labelno); \
+ fprintf (FILE, "%s\n", buf_ptr); \
+ } \
+ \
+ fprintf (FILE, "\t%s\t %s,", TYPE_ASM_OP, orig_name); \
+ fprintf (FILE, TYPE_OPERAND_FMT, "function"); \
+ putc ('\n', FILE); \
+ ASM_DECLARE_RESULT (FILE, DECL_RESULT (DECL)); \
+ \
+ if (DEFAULT_ABI == ABI_AIX || DEFAULT_ABI == ABI_NT) \
+ { \
+ char *desc_name = orig_name; \
+ \
+ while (*desc_name == '.') \
+ desc_name++; \
+ \
+ if (TREE_PUBLIC (DECL)) \
+ fprintf (FILE, "\t.globl %s\n", desc_name); \
+ \
+ fprintf (FILE, "%s\n", MINIMAL_TOC_SECTION_ASM_OP); \
+ fprintf (FILE, "%s:\n", desc_name); \
+ fprintf (FILE, "\t%s %s\n", init_ptr, orig_name); \
+ fprintf (FILE, "\t%s _GLOBAL_OFFSET_TABLE_\n", init_ptr); \
+ if (DEFAULT_ABI == ABI_AIX) \
+ fprintf (FILE, "\t%s 0\n", init_ptr); \
+ fprintf (FILE, "\t.previous\n"); \
+ } \
+ fprintf (FILE, "%s:\n", orig_name); \
+ } while (0)
Home |
Main Index |
Thread Index |
Old Index