This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Add/update VxWorks targets for ld


The new targets recently added to GCC also require corresponding changes in
binutils.  This is the patch and changelog for the ld directory.  (I do not
have write access.  Also, while I've regenerated Makefile.in here, whoever
does the commit will need to regen it there.)


2003-10-23 Phil Edwards <phil@codesourcery.com>


	* Makefile.am (ALL_EMULATIONS): Add elf32mipswindiss.o.
	(eelf32mipswindiss.c): New target.
	* Makefile.in:  Regenerated.
	* emulparams/elf32mipswindiss.sh:  New file.
	* configure.tgt (i[3-7]86-*-vxworks*, arm-*-vxworks, sh-*-vxworks,
	mips*-*-vxworks*):  Use ELF now.
	(mips*-*-windiss):  New stanza, use elf32mipswindiss.


Index: Makefile.am
===================================================================
RCS file: /home/pme/Repositories/srctree/src/ld/Makefile.am,v
retrieving revision 1.143
diff -u -p -c -r1.143 Makefile.am
cvs diff: conflicting specifications of output style
*** Makefile.am 16 Oct 2003 08:46:34 -0000 1.143
--- Makefile.am 23 Oct 2003 22:25:23 -0000
*************** ALL_EMULATIONS = \
*** 177,182 ****
--- 177,183 ----
eelf32lppcnto.o \
eelf32lppcsim.o \
eelf32mcore.o \
+ eelf32mipswindiss.o \
eelf32openrisc.o \
eelf32ppc.o \
eelf32ppc_fbsd.o \
*************** eelf32lppcsim.c: $(srcdir)/emulparams/el
*** 715,720 ****
--- 716,724 ----
$(srcdir)/emultempl/ppc32elf.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf32lppcsim "$(tdir_elf32lppcsim)"
+ eelf32mipswindiss.c: $(srcdir)/emulparams/elf32mipswindiss.sh \
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} elf32mipswindiss "$(tdir_elf32mipswindiss)"
eelf32ppcnto.c: $(srcdir)/emulparams/elf32ppcnto.sh \
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emultempl/ppc32elf.em \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
Index: configure.tgt
===================================================================
RCS file: /home/pme/Repositories/srctree/src/ld/configure.tgt,v
retrieving revision 1.138
diff -u -p -c -r1.138 configure.tgt
cvs diff: conflicting specifications of output style
*** configure.tgt 6 Oct 2003 09:12:36 -0000 1.138
--- configure.tgt 23 Oct 2003 22:11:59 -0000
*************** i[3-7]86-*-interix*) targ_emul=i386pe_po
*** 227,233 ****
targ_extra_ofiles="deffilep.o pe-dll.o" ;;
i[3-7]86-*-beospe*) targ_emul=i386beos ;;
i[3-7]86-*-beos*) targ_emul=elf_i386_be ;;
! i[3-7]86-*-vxworks*) targ_emul=i386aout ;;
i[3-7]86-*-chaos) targ_emul=elf_i386_chaos ;;
m8*-*-*) targ_emul=m88kbcs ;;
a29k-*-udi) targ_emul=sa29200 ;;
--- 226,232 ----
targ_extra_ofiles="deffilep.o pe-dll.o" ;;
i[3-7]86-*-beospe*) targ_emul=i386beos ;;
i[3-7]86-*-beos*) targ_emul=elf_i386_be ;;
! i[3-7]86-*-vxworks*) targ_emul=elf_i386 ;;
i[3-7]86-*-chaos) targ_emul=elf_i386_chaos ;;
m8*-*-*) targ_emul=m88kbcs ;;
a29k-*-udi) targ_emul=sa29200 ;;
*************** a29k-*-*) targ_emul=a29k ;;
*** 237,243 ****
arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
armeb-*-aout) targ_emul=armaoutb ;;
arm-*-coff) targ_emul=armcoff ;;
! arm-*-vxworks) targ_emul=armcoff ;;
arm-*-freebsd* | arm-*-kfreebsd*-gnu)
targ_emul=armelf_fbsd
targ_extra_emuls="armelf" ;;
--- 236,242 ----
arm-*-aout | armel-*-aout) targ_emul=armaoutl ;;
armeb-*-aout) targ_emul=armaoutb ;;
arm-*-coff) targ_emul=armcoff ;;
! arm-*-vxworks) targ_emul=armelf ;;
arm-*-freebsd* | arm-*-kfreebsd*-gnu)
targ_emul=armelf_fbsd
targ_extra_emuls="armelf" ;;
*************** shle*-*-elf* | sh[1234]*le*-*-elf | shle
*** 329,335 ****
targ_emul=shlelf
targ_extra_emuls="shelf shl sh"
;;
! sh-*-elf* | sh[1234]*-*-elf | sh-*-rtemself* | sh-*-kaos*)
targ_emul=shelf
targ_extra_emuls="shlelf sh shl"
;;
--- 328,334 ----
targ_emul=shlelf
targ_extra_emuls="shelf shl sh"
;;
! sh-*-elf* | sh[1234]*-*-elf | sh-*-rtemself* | sh-*-kaos* | sh-*-vxworks)
targ_emul=shelf
targ_extra_emuls="shlelf sh shl"
;;
*************** mips*-*-elf*) targ_emul=elf32ebmip ;;
*** 421,427 ****
mips*el-*-rtems*) targ_emul=elf32elmip ;;
mips*-*-rtems*) targ_emul=elf32ebmip ;;
mips*el-*-vxworks*) targ_emul=elf32elmip ;;
! mips*-*-vxworks*) targ_emul=elf32ebmip ;;
mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
;;
--- 420,428 ----
mips*el-*-rtems*) targ_emul=elf32elmip ;;
mips*-*-rtems*) targ_emul=elf32ebmip ;;
mips*el-*-vxworks*) targ_emul=elf32elmip ;;
! mips*-*-vxworks*) targ_emul=elf32ebmip
! targ_extra_emuls="elf32elmip" ;;
! mips*-*-windiss) targ_emul=elf32mipswindiss ;;
mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
;;
Index: emulparams/elf32mipswindiss.sh
===================================================================
RCS file: emulparams/elf32mipswindiss.sh
diff -N emulparams/elf32mipswindiss.sh
cvs diff: conflicting specifications of output style
*** /dev/null 1 Jan 1970 00:00:00 -0000
--- emulparams/elf32mipswindiss.sh 23 Oct 2003 22:20:05 -0000
***************
*** 0 ****
--- 1,27 ----
+ TEMPLATE_NAME=elf32
+ SCRIPT_NAME=elf
+ OUTPUT_FORMAT="elf32-bigmips"
+ BIG_OUTPUT_FORMAT="elf32-bigmips"
+ LITTLE_OUTPUT_FORMAT="elf32-littlemips"
+ ARCH=mips
+ MACHINE=
+ EMBEDDED=yes
+ MAXPAGESIZE=0x40000
+
+ # The data below is taken from the windiss.dld linker script that comes with
+ # the Diab linker.
+ TEXT_START_ADDR=0x100000
+ DATA_START_SYMBOLS='__DATA_ROM = .; __DATA_RAM = .;'
+ SDATA_START_SYMBOLS='_SDA_BASE_ = .; _gp = . + 0x7ff0;'
+ SDATA2_START_SYMBOLS='_SDA2_BASE_ = .;'
+ EXECUTABLE_SYMBOLS='__HEAP_START = .; __SP_INIT = 0x800000; __SP_END = __SP_INIT - 0x20000; __HEAP_END = __SP_END; __DATA_END = _edata; __BSS_START = __bss_start; __BSS_END = _end; __HEAP_START = _end;'
+
+ # The Diab tools use a different init/fini convention. Initialization code
+ # is place in sections named ".init$NN". These sections are then concatenated
+ # into the .init section. It is important that .init$00 be first and .init$99
+ # be last. The other sections should be sorted, but the current linker script
+ # parse does not seem to allow that with the SORT keyword in this context.
+ INIT_START='*(.init$00); *(.init$0[1-9]); *(.init$[1-8][0-9]); *(.init$9[0-8])'
+ INIT_END='*(.init$99)'
+ FINI_START='*(.fini$00); *(.fini$0[1-9]); *(.fini$[1-8][0-9]); *(.fini$9[0-8])'
+ FINI_END='*(.fini$99)'



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]