aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Haley <aph@cygnus.com>1999-07-26 12:19:16 +0000
committerAndrew Haley <aph@gcc.gnu.org>1999-07-26 12:19:16 +0000
commit63063278a7c7e2bdd42d790462e26ed60572fa33 (patch)
tree4b5150dab3c6c4db5da5a9f2ef6bce4bc7d3738a /gcc
parentdd18ae5606550f3abcc694e9cf482ed5941dd8d7 (diff)
downloadgcc-63063278a7c7e2bdd42d790462e26ed60572fa33.zip
gcc-63063278a7c7e2bdd42d790462e26ed60572fa33.tar.gz
gcc-63063278a7c7e2bdd42d790462e26ed60572fa33.tar.bz2
initfini.c (__init): Use a full word immediate for __fini...
1999-07-26 Andrew Haley <aph@cygnus.com> * config/m32r/initfini.c (__init): Use a full word immediate for __fini: this allows it to be placed in any memory region. * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for -mmodel=medium. This is OK for all memory models. From-SVN: r28266
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/m32r/initfini.c3
-rw-r--r--gcc/config/m32r/t-m32r4
3 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2b5ce97..6b34124 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+1999-07-26 Andrew Haley <aph@cygnus.com>
+
+ * config/m32r/initfini.c (__init): Use a full word immediate for
+ __fini: this allows it to be placed in any memory region.
+
+ * config/m32r/t-m32r: Compile crtinit.o and crtfini.o for
+ -mmodel=medium. This is OK for all memory models.
+
Mon Jul 26 11:58:46 1999 Nick Clifton <nickc@cygnus.com>
* config/arm/arm.c: Replace %R%s in asm_fprintf strings with %r.
diff --git a/gcc/config/m32r/initfini.c b/gcc/config/m32r/initfini.c
index 5144427..4198e57 100644
--- a/gcc/config/m32r/initfini.c
+++ b/gcc/config/m32r/initfini.c
@@ -88,7 +88,8 @@ __init:\n\
push fp\n\
push lr\n\
mv fp,sp\n\
- ld24 r0,#__fini\n\
+ seth r0, #shigh(__fini)\n\
+ add3 r0, r0, #low(__fini)\n\
bl atexit\n\
.fillinsn\n\
");
diff --git a/gcc/config/m32r/t-m32r b/gcc/config/m32r/t-m32r
index 3d8da58..4b8f417 100644
--- a/gcc/config/m32r/t-m32r
+++ b/gcc/config/m32r/t-m32r
@@ -32,12 +32,12 @@ CRTSTUFF_T_CFLAGS =
crtinit.o: $(srcdir)/config/m32r/initfini.c $(GCC_PASSES) $(CONFIG_H)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \
-DCRT_INIT -finhibit-size-directive -fno-inline-functions \
- -g0 -c $(srcdir)/config/m32r/initfini.c -o crtinit.o
+ -g0 -mmodel=medium -c $(srcdir)/config/m32r/initfini.c -o crtinit.o
crtfini.o: $(srcdir)/config/m32r/initfini.c $(GCC_PASSES) $(CONFIG_H)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \
-DCRT_FINI -finhibit-size-directive -fno-inline-functions \
- -g0 -c $(srcdir)/config/m32r/initfini.c -o crtfini.o
+ -g0 -mmodel=medium -c $(srcdir)/config/m32r/initfini.c -o crtfini.o
# -mmodel={small,medium} requires separate libraries.