aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/ChangeLog26
-rw-r--r--ld/Makefile.am5
-rw-r--r--ld/Makefile.in5
-rw-r--r--ld/configure.tgt3
-rwxr-xr-xld/emulparams/elf32frv.sh1
-rw-r--r--ld/emulparams/elf32frvfd.sh14
6 files changed, 53 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index e9a16a2..81ae1ee 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,29 @@
+2004-01-06 Alexandre Oliva <aoliva@redhat.com>
+
+ 2003-11-28 Alexandre Oliva <aoliva@redhat.com>
+ * emulparams/elf32frvfd.sh (EMBEDDED): Clear.
+ 2003-11-05 Alexandre Oliva <aoliva@redhat.com>
+ * emulparams/elf32frvfd.sh (STACK_ADDR): Unset.
+ (MAXPAGESIZE): Set to 64Kb.
+ (OTHER_READONLY_SECTIONS): Define __ROFIXUP_LIST__ and
+ __ROFIXUP_END__. Don't map .rofixup.got any more.
+ * emulparams/elf32frv.sh (NOP): Set.
+ 2003-10-31 Alexandre Oliva <aoliva@redhat.com>
+ * configure.tgt: Add frv-*-*linux*.
+ 2003-09-30 Alexandre Oliva <aoliva@redhat.com>
+ * Makefile.am (ALL_EMULATIONS): Added eelf32frvfd.o.
+ (eelf32frvfd.c): New.
+ * configure.tgt <frv-*-*>: Added it to targ_extra_emuls.
+ * emulparams/elf32frv.sh: Reverted previous two patches.
+ * emulparams/elf32frvfd.sh: New.
+ * Makefile.in: Rebuilt.
+ 2003-09-18 Alexandre Oliva <aoliva@redhat.com>
+ * emulparams/elf32frv.sh (OTHER_READONLY_SECTIONS): Added
+ .rofixup.got to .rofixup.
+ 2003-09-15 Alexandre Oliva <aoliva@redhat.com>
+ * emulparams/elf32frv.sh (MAXPAGESIZE): Make it 256KiB, not 256B.
+ (TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT): Set.
+
2004-01-05 Jakub Jelinek <jakub@redhat.com>
* emulparams/elf_s390.sh (NO_SMALL_DATA): Set to yes.
diff --git a/ld/Makefile.am b/ld/Makefile.am
index 2c59289..25b1cfb 100644
--- a/ld/Makefile.am
+++ b/ld/Makefile.am
@@ -353,6 +353,7 @@ ALL_EMULATIONS = \
evsta.o \
ew65.o \
ez8001.o \
+ eelf32frvfd.o \
ez8002.o
ALL_64_EMULATIONS = \
@@ -1434,6 +1435,10 @@ ez8001.c: $(srcdir)/emulparams/z8001.sh \
ez8002.c: $(srcdir)/emulparams/z8002.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS}
${GENSCRIPTS} z8002 "$(tdir_z8002)"
+eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \
+ $(srcdir)/emulparams/elf32frv.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32frvfd "$(tdir_frv)"
# We need this for automake to use YLWRAP.
EXTRA_ld_new_SOURCES = deffilep.y
diff --git a/ld/Makefile.in b/ld/Makefile.in
index 1472982..5a91690 100644
--- a/ld/Makefile.in
+++ b/ld/Makefile.in
@@ -467,6 +467,7 @@ ALL_EMULATIONS = \
evsta.o \
ew65.o \
ez8001.o \
+ eelf32frvfd.o \
ez8002.o
@@ -2160,6 +2161,10 @@ ez8001.c: $(srcdir)/emulparams/z8001.sh \
ez8002.c: $(srcdir)/emulparams/z8002.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/z8000.sc ${GEN_DEPENDS}
${GENSCRIPTS} z8002 "$(tdir_z8002)"
+eelf32frvfd.c: $(srcdir)/emulparams/elf32frvfd.sh \
+ $(srcdir)/emulparams/elf32frv.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32frvfd "$(tdir_frv)"
# The generated emulation files mostly have the same dependencies.
$(EMULATION_OFILES): ../bfd/bfd.h sysdep.h config.h $(INCDIR)/bfdlink.h \
diff --git a/ld/configure.tgt b/ld/configure.tgt
index b1fef15..d809c11 100644
--- a/ld/configure.tgt
+++ b/ld/configure.tgt
@@ -544,7 +544,8 @@ v850-*-*) targ_emul=v850 ;;
v850e-*-*) targ_emul=v850 ;;
v850ea-*-*) targ_emul=v850 ;;
iq2000-*-elf) targ_emul=elf32iq2000 ; targ_extra_emuls="elf32iq10" ;;
-frv-*-*) targ_emul=elf32frv ;;
+frv-*-*linux*) targ_emul=elf32frvfd ;;
+frv-*-*) targ_emul=elf32frv ; targ_extra_emuls="elf32frvfd" ;;
w65-*-*) targ_emul=w65 ;;
xstormy16-*-*) targ_emul=elf32xstormy16 ;;
xtensa-*-*) targ_emul=elf32xtensa;;
diff --git a/ld/emulparams/elf32frv.sh b/ld/emulparams/elf32frv.sh
index fd4be3e..042ed8c 100755
--- a/ld/emulparams/elf32frv.sh
+++ b/ld/emulparams/elf32frv.sh
@@ -10,6 +10,7 @@ OTHER_EXCLUDE_FILES='*frvend.o'
OTHER_BSS_END_SYMBOLS='__end = .;'
DATA_START_SYMBOLS='__data_start = . ;'
STACK_ADDR=0x200000
+NOP=0x80000000
OTHER_GOT_SYMBOLS='
. = ALIGN(8); _gp = . + 2048;
PROVIDE (gp = _gp);'
diff --git a/ld/emulparams/elf32frvfd.sh b/ld/emulparams/elf32frvfd.sh
new file mode 100644
index 0000000..224abed
--- /dev/null
+++ b/ld/emulparams/elf32frvfd.sh
@@ -0,0 +1,14 @@
+. ${srcdir}/emulparams/elf32frv.sh
+unset STACK_ADDR
+MAXPAGESIZE=0x10000
+TEMPLATE_NAME=elf32
+GENERATE_SHLIB_SCRIPT=yes
+EMBEDDED= # This gets us program headers mapped as part of the text segment.
+OTHER_GOT_SYMBOLS=
+OTHER_READONLY_SECTIONS="
+ .rofixup : {
+ ${RELOCATING+__ROFIXUP_LIST__ = .;}
+ *(.rofixup)
+ ${RELOCATING+__ROFIXUP_END__ = .;}
+ }
+"