mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-28 12:33:36 +08:00
Add support for FR30
This commit is contained in:
parent
812ce3a656
commit
7192be38cc
@ -1,3 +1,11 @@
|
||||
Wed Nov 4 16:39:18 1998 Nick Clifton <nickc@cygnus.com>
|
||||
|
||||
* Makefile.am: Add support for FR30 target.
|
||||
* configure.tgt: Add support for FR30 target.
|
||||
* Makefile.in: Regenerate.
|
||||
* emulparams/fr30.sh: New file.
|
||||
* scripttemp/fr30.sc: New file.
|
||||
|
||||
Mon Nov 2 14:47:15 1998 Catherine Moore <clm@cygnus.com>
|
||||
|
||||
* ldmain.c (main): Don't report error for dynamic links and
|
||||
|
@ -127,6 +127,7 @@ ALL_EMULATIONS = \
|
||||
eelf_i386.o \
|
||||
egld960.o \
|
||||
egld960coff.o \
|
||||
efr30.o \
|
||||
ego32.o \
|
||||
eh8300.o \
|
||||
eh8300h.o \
|
||||
@ -273,7 +274,7 @@ earcelf.c: $(srcdir)/emulparams/arcelf.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} arcelf "$(tdir_arcelf)"
|
||||
earmelf.c: $(srcdir)/emulparams/armelf.sh \
|
||||
$(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elfarm.sc ${GEN_DEPENDS}
|
||||
$(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} armelf "$(tdir_armelf)"
|
||||
earmaoutb.c: $(srcdir)/emulparams/armaoutb.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
|
||||
@ -308,6 +309,9 @@ edelta68.c: $(srcdir)/emulparams/delta68.sh \
|
||||
eebmon29k.c: $(srcdir)/emulparams/ebmon29k.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/ebmon29k.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} ebmon29k "$(tdir_ebmon29k)"
|
||||
efr30.c: $(srcdir)/emulparams/fr30.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/fr30.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} fr30 "$(tdir_fr30)"
|
||||
em32relf.c: $(srcdir)/emulparams/m32relf.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} m32relf "$(tdir_m32r)"
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Makefile.in generated automatically by automake 1.3 from Makefile.am
|
||||
# Makefile.in generated automatically by automake 1.3b from Makefile.am
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
@ -32,7 +32,7 @@ mandir = @mandir@
|
||||
includedir = @includedir@
|
||||
oldincludedir = /usr/include
|
||||
|
||||
DISTDIR =
|
||||
DESTDIR =
|
||||
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
@ -68,9 +68,15 @@ CC_FOR_BUILD = @CC_FOR_BUILD@
|
||||
EXEEXT = @EXEEXT@
|
||||
EXEEXT_FOR_BUILD = @EXEEXT_FOR_BUILD@
|
||||
HDEFINES = @HDEFINES@
|
||||
LD = @LD@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
NATIVE_LIB_DIRS = @NATIVE_LIB_DIRS@
|
||||
PACKAGE = @PACKAGE@
|
||||
RANLIB = @RANLIB@
|
||||
VERSION = @VERSION@
|
||||
|
||||
INTLLIBS = @INTLLIBS@
|
||||
|
||||
@ -198,6 +204,7 @@ ALL_EMULATIONS = \
|
||||
eelf_i386.o \
|
||||
egld960.o \
|
||||
egld960coff.o \
|
||||
efr30.o \
|
||||
ego32.o \
|
||||
eh8300.o \
|
||||
eh8300h.o \
|
||||
@ -342,10 +349,9 @@ ld_new_LDFLAGS =
|
||||
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
|
||||
LEXLIB = @LEXLIB@
|
||||
CFLAGS = @CFLAGS@
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
MAKEINFO = `if test -f $(top_builddir)/../texinfo/makeinfo/makeinfo; then echo $(top_builddir)/../texinfo/makeinfo/makeinfo; else echo makeinfo; fi`
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LINK = $(LIBTOOL) --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
|
||||
TEXI2DVI = `if test -f $(top_srcdir)/../texinfo/util/texi2dvi; then echo $(top_srcdir)/../texinfo/util/texi2dvi; else echo texi2dvi; fi`
|
||||
TEXINFO_TEX = $(top_srcdir)/../texinfo/texinfo.tex
|
||||
INFO_DEPS = ld.info
|
||||
@ -355,14 +361,11 @@ man1dir = $(mandir)/man1
|
||||
MANS = $(man_MANS)
|
||||
|
||||
NROFF = nroff
|
||||
DIST_COMMON = README ChangeLog Makefile.am Makefile.in NEWS TODO \
|
||||
acconfig.h acinclude.m4 aclocal.m4 config.in configure configure.in \
|
||||
ldgram.c ldlex.c stamp-h.in
|
||||
DIST_COMMON = README COPYING ChangeLog INSTALL Makefile.am Makefile.in \
|
||||
NEWS TODO acconfig.h acinclude.m4 aclocal.m4 config.in configure \
|
||||
configure.in ldgram.c ldlex.c stamp-h.in
|
||||
|
||||
|
||||
PACKAGE = @PACKAGE@
|
||||
VERSION = @VERSION@
|
||||
|
||||
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
TAR = tar
|
||||
@ -458,14 +461,14 @@ ld-new$(EXEEXT): $(ld_new_OBJECTS) $(ld_new_DEPENDENCIES)
|
||||
@rm -f ld-new$(EXEEXT)
|
||||
$(LINK) $(ld_new_LDFLAGS) $(ld_new_OBJECTS) $(ld_new_LDADD) $(LIBS)
|
||||
.y.c:
|
||||
$(YACC) $(YFLAGS) $< && mv y.tab.c $*.c
|
||||
$(YACC) $(AM_YFLAGS) $(YFLAGS) $< && mv y.tab.c $*.c
|
||||
if test -f y.tab.h; then \
|
||||
if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \
|
||||
else :; fi
|
||||
ldgram.h: ldgram.c
|
||||
|
||||
.l.c:
|
||||
$(LEX) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@
|
||||
$(LEX) $(AM_LFLAGS) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@
|
||||
|
||||
ld.info: ld.texinfo
|
||||
ld.dvi: ld.texinfo
|
||||
@ -792,13 +795,12 @@ clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(DISTCLEANFILES)
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
|
||||
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
|
||||
-test -z "ldgramhldgramcldlexl$(MAINTAINERCLEANFILES)" || rm -f ldgramh ldgramc ldlexl $(MAINTAINERCLEANFILES)
|
||||
mostlyclean-am: mostlyclean-hdr mostlyclean-noinstPROGRAMS \
|
||||
mostlyclean-compile mostlyclean-libtool \
|
||||
mostlyclean-aminfo mostlyclean-tags mostlyclean-generic
|
||||
@ -890,7 +892,7 @@ earcelf.c: $(srcdir)/emulparams/arcelf.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} arcelf "$(tdir_arcelf)"
|
||||
earmelf.c: $(srcdir)/emulparams/armelf.sh \
|
||||
$(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elfarm.sc ${GEN_DEPENDS}
|
||||
$(srcdir)/emultempl/armelf.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} armelf "$(tdir_armelf)"
|
||||
earmaoutb.c: $(srcdir)/emulparams/armaoutb.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/armaout.sc ${GEN_DEPENDS}
|
||||
@ -925,6 +927,9 @@ edelta68.c: $(srcdir)/emulparams/delta68.sh \
|
||||
eebmon29k.c: $(srcdir)/emulparams/ebmon29k.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/ebmon29k.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} ebmon29k "$(tdir_ebmon29k)"
|
||||
efr30.c: $(srcdir)/emulparams/fr30.sh \
|
||||
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/fr30.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} fr30 "$(tdir_fr30)"
|
||||
em32relf.c: $(srcdir)/emulparams/m32relf.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} m32relf "$(tdir_m32r)"
|
||||
|
@ -113,11 +113,15 @@ a29k-*-*) targ_emul=a29k ;;
|
||||
arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
|
||||
armeb-*-aout) targ_emul=armaoutb ;;
|
||||
arm-*-coff) targ_emul=armcoff ;;
|
||||
arm-*-elf) targ_emul=armelf ;;
|
||||
thumb-*-coff) targ_emul=armcoff ;;
|
||||
thumb-*-elf) targ_emul=armelf ;;
|
||||
thumb-*-pe) targ_emul=armpe ;;
|
||||
h8300-*-hms) targ_emul=h8300; targ_extra_emuls="h8300h h8300s"
|
||||
h8300-*-hms* | h8300-*-coff*)
|
||||
targ_emul=h8300; targ_extra_emuls="h8300h h8300s"
|
||||
;;
|
||||
h8500-*-hms) targ_emul=h8500
|
||||
h8500-*-hms* | h8500-*-coff*)
|
||||
targ_emul=h8500
|
||||
targ_extra_emuls="h8500s h8500b h8500m h8500c"
|
||||
;;
|
||||
sh-*-elf*) targ_emul=shelf
|
||||
@ -226,6 +230,7 @@ v850e-*-*) targ_emul=v850 ;;
|
||||
v850ea-*-*) targ_emul=v850 ;;
|
||||
# end-sanitize-v850e
|
||||
w65-*-*) targ_emul=w65 ;;
|
||||
fr30-*-*) targ_emul=fr30 ;;
|
||||
*-*-aout) targ_emul=${target_cpu}-${target_vendor} ;;
|
||||
*-*-coff) targ_emul=${target_cpu}-${target_vendor} ;;
|
||||
*-*-netware) targ_emul=${target_cpu}-nw ;;
|
||||
|
14
ld/emulparams/fr30.sh
Executable file
14
ld/emulparams/fr30.sh
Executable file
@ -0,0 +1,14 @@
|
||||
MACHINE=
|
||||
SCRIPT_NAME=fr30
|
||||
OUTPUT_FORMAT="elf32-fr30"
|
||||
TEXT_START_ADDR=0x100000
|
||||
ZDATA_START_ADDR=0x160
|
||||
ROZDATA_START_ADDR="ALIGN (4)"
|
||||
SDATA_START_ADDR="ALIGN (4)"
|
||||
ROSDATA_START_ADDR="ALIGN (4)"
|
||||
TDATA_START_ADDR="ALIGN (4)"
|
||||
CALL_TABLE_START_ADDR="ALIGN (4)"
|
||||
ARCH=fr30
|
||||
MAXPAGESIZE=256
|
||||
ENTRY=_start
|
||||
EMBEDDED=yes
|
136
ld/scripttempl/fr30.sc
Normal file
136
ld/scripttempl/fr30.sc
Normal file
@ -0,0 +1,136 @@
|
||||
cat << EOF
|
||||
OUTPUT_FORMAT("elf32-fr30", "elf32-fr30",
|
||||
"elf32-fr30")
|
||||
OUTPUT_ARCH(fr30)
|
||||
ENTRY(_start)
|
||||
SEARCH_DIR(.);
|
||||
SECTIONS
|
||||
{
|
||||
/* Read-only sections, merged into text segment: */
|
||||
. = ${TEXT_START_ADDR};
|
||||
.interp : { *(.interp) }
|
||||
.hash : { *(.hash) }
|
||||
.dynsym : { *(.dynsym) }
|
||||
.dynstr : { *(.dynstr) }
|
||||
.rel.text : { *(.rel.text) }
|
||||
.rela.text : { *(.rela.text) }
|
||||
.rel.data : { *(.rel.data) }
|
||||
.rela.data : { *(.rela.data) }
|
||||
.rel.rodata : { *(.rel.rodata) }
|
||||
.rela.rodata : { *(.rela.rodata) }
|
||||
.rel.got : { *(.rel.got) }
|
||||
.rela.got : { *(.rela.got) }
|
||||
.rel.ctors : { *(.rel.ctors) }
|
||||
.rela.ctors : { *(.rela.ctors) }
|
||||
.rel.dtors : { *(.rel.dtors) }
|
||||
.rela.dtors : { *(.rela.dtors) }
|
||||
.rel.init : { *(.rel.init) }
|
||||
.rela.init : { *(.rela.init) }
|
||||
.rel.fini : { *(.rel.fini) }
|
||||
.rela.fini : { *(.rela.fini) }
|
||||
.rel.bss : { *(.rel.bss) }
|
||||
.rela.bss : { *(.rela.bss) }
|
||||
.rel.plt : { *(.rel.plt) }
|
||||
.rela.plt : { *(.rela.plt) }
|
||||
.init : { KEEP (*(.init)) } =0
|
||||
.plt : { *(.plt) }
|
||||
|
||||
.text : {
|
||||
*(.text)
|
||||
${RELOCATING+*(.text.*)}
|
||||
/* .gnu.warning sections are handled specially by elf32.em. */
|
||||
*(.gnu.warning)
|
||||
*(.gnu.linkonce.t*)
|
||||
} =0
|
||||
|
||||
${RELOCATING+_etext = .;}
|
||||
${RELOCATING+PROVIDE (etext = .);}
|
||||
|
||||
.fini : { KEEP (*(.fini)) } =0
|
||||
.rodata : { *(.rodata) ${RELOCATING+*(.rodata.*)} *(.gnu.linkonce.r*) }
|
||||
.rodata1 : { *(.rodata1) }
|
||||
|
||||
.data : {
|
||||
*(.data)
|
||||
${RELOCATING+*(.data.*)}
|
||||
*(.gnu.linkonce.d*)
|
||||
CONSTRUCTORS
|
||||
}
|
||||
.data1 : { *(.data1) }
|
||||
.ctors : {
|
||||
${RELOCATING+___ctors = .;}
|
||||
KEEP (*(.ctors))
|
||||
${RELOCATING+___ctors_end = .;}
|
||||
}
|
||||
|
||||
.dtors : {
|
||||
${RELOCATING+___dtors = .;}
|
||||
KEEP (*(.dtors))
|
||||
${RELOCATING+___dtors_end = .;}
|
||||
}
|
||||
|
||||
.got : { *(.got.plt) *(.got) }
|
||||
.dynamic : { *(.dynamic) }
|
||||
|
||||
${RELOCATING+_edata = . ;}
|
||||
${RELOCATING+PROVIDE (edata = _edata);}
|
||||
|
||||
.bss :
|
||||
{
|
||||
${RELOCATING+__bss_start = . ;}
|
||||
*(.dynbss)
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
}
|
||||
|
||||
${RELOCATING+_end = . ;}
|
||||
${RELOCATING+PROVIDE (end = .);}
|
||||
|
||||
/* Stabs debugging sections. */
|
||||
.stab 0 : { *(.stab) }
|
||||
.stabstr 0 : { *(.stabstr) }
|
||||
.stab.excl 0 : { *(.stab.excl) }
|
||||
.stab.exclstr 0 : { *(.stab.exclstr) }
|
||||
.stab.index 0 : { *(.stab.index) }
|
||||
.stab.indexstr 0 : { *(.stab.indexstr) }
|
||||
.comment 0 : { *(.comment) }
|
||||
|
||||
/* DWARF debug sections.
|
||||
Symbols in the DWARF debugging sections are relative to the beginning
|
||||
of the section so we begin them at 0. */
|
||||
|
||||
/* DWARF 1 */
|
||||
.debug 0 : { *(.debug) }
|
||||
.line 0 : { *(.line) }
|
||||
|
||||
/* GNU DWARF 1 extensions */
|
||||
.debug_srcinfo 0 : { *(.debug_srcinfo) }
|
||||
.debug_sfnames 0 : { *(.debug_sfnames) }
|
||||
|
||||
/* DWARF 1.1 and DWARF 2 */
|
||||
.debug_aranges 0 : { *(.debug_aranges) }
|
||||
.debug_pubnames 0 : { *(.debug_pubnames) }
|
||||
|
||||
/* DWARF 2 */
|
||||
.debug_info 0 : { *(.debug_info) }
|
||||
.debug_abbrev 0 : { *(.debug_abbrev) }
|
||||
.debug_line 0 : { *(.debug_line) }
|
||||
.debug_frame 0 : { *(.debug_frame) }
|
||||
.debug_str 0 : { *(.debug_str) }
|
||||
.debug_loc 0 : { *(.debug_loc) }
|
||||
.debug_macinfo 0 : { *(.debug_macinfo) }
|
||||
|
||||
/* SGI/MIPS DWARF 2 extensions */
|
||||
.debug_weaknames 0 : { *(.debug_weaknames) }
|
||||
.debug_funcnames 0 : { *(.debug_funcnames) }
|
||||
.debug_typenames 0 : { *(.debug_typenames) }
|
||||
.debug_varnames 0 : { *(.debug_varnames) }
|
||||
|
||||
/* User stack */
|
||||
.stack 0x200000 : {
|
||||
${RELOCATING+__stack = .;}
|
||||
*(.stack)
|
||||
}
|
||||
/* These must appear regardless of . */
|
||||
}
|
||||
EOF
|
Loading…
Reference in New Issue
Block a user