aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68hc11/m68hc11-crt0.S
diff options
context:
space:
mode:
authorStephane Carrez <ciceron@gcc.gnu.org>2002-08-14 09:32:52 +0200
committerStephane Carrez <ciceron@gcc.gnu.org>2002-08-14 09:32:52 +0200
commit084de18d20035b4aadad0b5175623a6a25d9433e (patch)
tree2dd0b4fe61dda1b17e1d78dac99488db3b8f29de /gcc/config/m68hc11/m68hc11-crt0.S
parentf8a3bda25341af66f984cd595b6824566851d744 (diff)
downloadgcc-084de18d20035b4aadad0b5175623a6a25d9433e.zip
gcc-084de18d20035b4aadad0b5175623a6a25d9433e.tar.gz
gcc-084de18d20035b4aadad0b5175623a6a25d9433e.tar.bz2
t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
* config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline. (MULTILIB_OPTIONS): Must also generate for -mlong-calls. * config/m68hc11/larith.asm: Put a mode for ELF ABI flags. (ret, declare, farsym): New gas macros. (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3, ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc' and declare the symbol far when compiled with -mlong-calls. (__far_trampoline): New for 68HC12 trampoline code to invoke a far handler using jsr/bsr. * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags. (jsr): New macro to transform a 'jsr' into a 'call'. From-SVN: r56282
Diffstat (limited to 'gcc/config/m68hc11/m68hc11-crt0.S')
-rw-r--r--gcc/config/m68hc11/m68hc11-crt0.S13
1 files changed, 12 insertions, 1 deletions
diff --git a/gcc/config/m68hc11/m68hc11-crt0.S b/gcc/config/m68hc11/m68hc11-crt0.S
index 2e6a144..9351ee6 100644
--- a/gcc/config/m68hc11/m68hc11-crt0.S
+++ b/gcc/config/m68hc11/m68hc11-crt0.S
@@ -1,5 +1,5 @@
/* Startup code for M68HC11.
- Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
This file is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -36,6 +36,17 @@ Boston, MA 02111-1307, USA. */
;-----------------------------------------
.file "crt0.s"
+#ifdef __HAVE_SHORT_INT__
+ .mode mshort
+#else
+ .mode mlong
+#endif
+
+#if defined(__USE_RTC__) && defined(mc68hc12)
+ .macro jsr name
+ call \name
+ .endm
+#endif
;;
;;
;; The linker concatenate the .install* sections in the following order: