From 005e11184b0c6233897ce5e6202654bd94931ed6 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Tue, 6 Jan 2004 19:19:52 +0000 Subject: [PATCH] 2003-11-28 Alexandre Oliva * emulparams/elf32frvfd.sh (EMBEDDED): Clear. 2003-11-05 Alexandre Oliva * 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 * configure.tgt: Add frv-*-*linux*. 2003-09-30 Alexandre Oliva * Makefile.am (ALL_EMULATIONS): Added eelf32frvfd.o. (eelf32frvfd.c): New. * configure.tgt : 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 * emulparams/elf32frv.sh (OTHER_READONLY_SECTIONS): Added .rofixup.got to .rofixup. 2003-09-15 Alexandre Oliva * emulparams/elf32frv.sh (MAXPAGESIZE): Make it 256KiB, not 256B. (TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT): Set. --- ld/ChangeLog | 26 ++++++++++++++++++++++++++ ld/Makefile.am | 5 +++++ ld/Makefile.in | 5 +++++ ld/configure.tgt | 3 ++- ld/emulparams/elf32frv.sh | 1 + ld/emulparams/elf32frvfd.sh | 14 ++++++++++++++ 6 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 ld/emulparams/elf32frvfd.sh 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 + + 2003-11-28 Alexandre Oliva + * emulparams/elf32frvfd.sh (EMBEDDED): Clear. + 2003-11-05 Alexandre Oliva + * 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 + * configure.tgt: Add frv-*-*linux*. + 2003-09-30 Alexandre Oliva + * Makefile.am (ALL_EMULATIONS): Added eelf32frvfd.o. + (eelf32frvfd.c): New. + * configure.tgt : 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 + * emulparams/elf32frv.sh (OTHER_READONLY_SECTIONS): Added + .rofixup.got to .rofixup. + 2003-09-15 Alexandre Oliva + * emulparams/elf32frv.sh (MAXPAGESIZE): Make it 256KiB, not 256B. + (TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT): Set. + 2004-01-05 Jakub Jelinek * 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__ = .;} + } +" -- 2.7.4