aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@cygnus.com>1999-06-18 01:14:34 +0000
committerNick Clifton <nickc@gcc.gnu.org>1999-06-18 01:14:34 +0000
commit9ddab891df120133507c69572ce5d8c71dc15322 (patch)
tree2e9ba6342c0bdf61b7a3117a362bcc54761a7047
parente4faf1eb91ef00a3f25dccec7bc7a20b922d4ead (diff)
downloadgcc-9ddab891df120133507c69572ce5d8c71dc15322.zip
gcc-9ddab891df120133507c69572ce5d8c71dc15322.tar.gz
gcc-9ddab891df120133507c69572ce5d8c71dc15322.tar.bz2
Use .thumb_set pseudo op to mark aliases of thumb functions.
From-SVN: r27586
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/arm/telf.h20
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6b08f8b977..f5b0a48 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri Jun 18 09:11:07 1999 Nick Clifton <nickc@cygnus.com>
+
+ * config/arm/telf.h (ASM_OUTPUT_DEF_FROM_DECLS): New Marco: USe
+ .thumb_set pseudo op to mark aliases of thumb functions.
+
Wed Jun 16 18:19:13 1999 Nick Clifton <nickc@cygnus.com>
* varasm.c (assemble_alias): Use ASM_OUTPUT_DEF_FROM_DECLS in
diff --git a/gcc/config/arm/telf.h b/gcc/config/arm/telf.h
index 69604a2..3e14a5f 100644
--- a/gcc/config/arm/telf.h
+++ b/gcc/config/arm/telf.h
@@ -140,6 +140,26 @@ extern int arm_structure_size_boundary;
} \
while (0)
+/* For aliases of functions we use .thumb_set instead. */
+#define ASM_OUTPUT_DEF_FROM_DECLS(FILE,DECL1,DECL2) \
+ do \
+ { \
+ char * LABEL1 = XSTR (XEXP (DECL_RTL (decl), 0), 0); \
+ char * LABEL2 = IDENTIFIER_POINTER (DECL2); \
+ \
+ if (TREE_CODE (DECL1) == FUNCTION_DECL) \
+ { \
+ fprintf (FILE, "\t.thumb_set "); \
+ assemble_name (FILE, LABEL1); \
+ fprintf (FILE, ","); \
+ assemble_name (FILE, LABEL2); \
+ fprintf (FILE, "\n"); \
+ } \
+ else \
+ ASM_OUTPUT_DEF (FILE, LABEL1, LABEL2); \
+ } \
+ while (0)
+
/* A list of other sections which the compiler might be "in" at any
given time. */
#undef EXTRA_SECTIONS