PATCH: Support powerpc-*-windiss

Mark Mitchell mark@codesourcery.com
Mon Apr 29 11:14:00 GMT 2002


This patch implements support for powerpc-*-windiss.  WindISS is Wind
River's instruction-level simulator.  (The right way to think about
WindISS is that it is an operating system; it comes with include
files, a C library, and a simulator.)

Ben Elliston has already approved the config.sub change, and has
likely already committed it.

May I commit the changes below?  

-- 
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com

2002-04-29  Mark Mitchell  <mark@codesourcery.com>

	* config.sub (powerpc-*-windiss): New triplet.

2002-04-29  Mark Mitchell  <mark@codesourcery.com>

	* config.bfd: Add support for powerpc-*-windiss.

2002-04-29  Mark Mitchell  <mark@codesourcery.com>

	* configure.in: Add support for powerpc-*-windiss.

2002-04-29  Mark Mitchell  <mark@codesourcery.com>

	* Makefile.am (ALL_EMULATIONS): Add elf32ppcwindiss.o.
	(eelf32ppcwindiss.c): New target.
	* configure.tgt: Add support for powerpc-*-windiss.
	* eelf32ppcwindiss.sh: New file.
	
Index: config.sub
===================================================================
RCS file: /cvs/src/src/config.sub,v
retrieving revision 1.31
diff -c -p -r1.31 config.sub
*** config.sub	24 Feb 2002 00:04:00 -0000	1.31
--- config.sub	29 Apr 2002 17:58:24 -0000
***************
*** 3,9 ****
  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
  #   2000, 2001, 2002 Free Software Foundation, Inc.
  
! timestamp='2002-02-22'
  
  # This file is (in principle) common to ALL GNU software.
  # The presence of a machine in this file suggests that SOME GNU software
--- 3,9 ----
  #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
  #   2000, 2001, 2002 Free Software Foundation, Inc.
  
! timestamp='2002-04-24'
  
  # This file is (in principle) common to ALL GNU software.
  # The presence of a machine in this file suggests that SOME GNU software
*************** case $os in
*** 1090,1096 ****
  	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
  	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
  	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
! 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova*)
  	# Remember, each alternative MUST END IN *, to match a version number.
  		;;
  	-qnx*)
--- 1090,1096 ----
  	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
  	      | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
  	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
! 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* )
  	# Remember, each alternative MUST END IN *, to match a version number.
  		;;
  	-qnx*)
*************** case $basic_machine in
*** 1409,1415 ****
  			-ptx*)
  				vendor=sequent
  				;;
! 			-vxsim* | -vxworks*)
  				vendor=wrs
  				;;
  			-aux*)
--- 1409,1415 ----
  			-ptx*)
  				vendor=sequent
  				;;
! 			-vxsim* | -vxworks* | -windiss*)
  				vendor=wrs
  				;;
  			-aux*)
Index: bfd/config.bfd
===================================================================
RCS file: /cvs/src/src/bfd/config.bfd,v
retrieving revision 1.87
diff -c -p -r1.87 config.bfd
*** bfd/config.bfd	18 Mar 2002 12:45:37 -0000	1.87
--- bfd/config.bfd	29 Apr 2002 17:58:24 -0000
*************** case "${targ}" in
*** 823,829 ****
  #endif
    powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
    powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
!   powerpc-*-chorus* | powerpc-*-vxworks*)
      targ_defvec=bfd_elf32_powerpc_vec
      targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
      targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
--- 823,829 ----
  #endif
    powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
    powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
!   powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
      targ_defvec=bfd_elf32_powerpc_vec
      targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
      targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
Index: gas/configure.in
===================================================================
RCS file: /cvs/src/src/gas/configure.in,v
retrieving revision 1.98
diff -c -p -r1.98 configure.in
*** gas/configure.in	18 Mar 2002 12:46:09 -0000	1.98
--- gas/configure.in	29 Apr 2002 17:58:28 -0000
*************** changequote([,])dnl
*** 409,414 ****
--- 409,415 ----
  			    fmt=coff em=macos ;;
        ppc-*-netware*)       fmt=elf em=ppcnw ;;
        ppc-*-vxworks*)       fmt=elf ;;
+       ppc-*-windiss*)       fmt=elf ;;
  
        s390x-*-linux-gnu*)   fmt=elf em=linux ;;
        s390-*-linux-gnu*)    fmt=elf em=linux ;;
Index: ld/Makefile.am
===================================================================
RCS file: /cvs/src/src/ld/Makefile.am,v
retrieving revision 1.91
diff -c -p -r1.91 Makefile.am
*** ld/Makefile.am	4 Apr 2002 14:07:57 -0000	1.91
--- ld/Makefile.am	29 Apr 2002 17:58:32 -0000
*************** ALL_EMULATIONS = \
*** 163,168 ****
--- 163,169 ----
  	eelf32ppc_fbsd.o \
  	eelf32ppclinux.o \
  	eelf32ppcsim.o \
+ 	eelf32ppcwindiss.o \
  	eelf32xstormy16.o \
  	eelf_i386.o \
  	eelf_i386_be.o \
*************** eelf32lppcsim.c: $(srcdir)/emulparams/el
*** 540,545 ****
--- 541,548 ----
    $(srcdir)/emulparams/elf32lppc.sh $(srcdir)/emulparams/elf32ppc.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} elf32lppcsim "$(tdir_elf32lppcsim)"
+ eelf32ppcwindiss.c: $(srcdir)/emulparams/elf32ppcwindiss.sh ${GEN_DEPENDS}
+ 	${GENSCRIPTS} elf32ppcwindiss "$(tdir_elf32ppcwindiss)"
  eelf32lsmip.c: $(srcdir)/emulparams/elf32lsmip.sh \
    $(srcdir)/emulparams/elf32lmip.sh $(srcdir)/emulparams/elf32bmip.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
Index: ld/configure.tgt
===================================================================
RCS file: /cvs/src/src/ld/configure.tgt,v
retrieving revision 1.84
diff -c -p -r1.84 configure.tgt
*** ld/configure.tgt	18 Mar 2002 16:42:42 -0000	1.84
--- ld/configure.tgt	29 Apr 2002 17:58:33 -0000
*************** powerpcle-*-cygwin*)    targ_emul=ppcpe 
*** 425,430 ****
--- 425,431 ----
  powerpc-*-aix5*)	targ_emul=aix5ppc ;;
  powerpc-*-aix*)		targ_emul=aixppc ;;
  powerpc-*-beos*)	targ_emul=aixppc ;;
+ powerpc-*-windiss*)	targ_emul=elf32ppcwindiss ;;
  rs6000-*-aix5*)		targ_emul=aix5rs6 ;;
  rs6000-*-aix*)		targ_emul=aixrs6 ;;
  tic30-*-*aout*)		targ_emul=tic30aout ;;

*** /dev/null	Thu Aug 30 13:30:55 2001
--- ld/emulparams/elf32ppcwindiss.sh	Fri Apr 26 17:37:18 2002
***************
*** 0 ****
--- 1,23 ----
+ TEMPLATE_NAME=elf32
+ SCRIPT_NAME=elf
+ OUTPUT_FORMAT="elf32-powerpc"
+ ARCH=powerpc
+ MACHINE=
+ EMBEDDED=yes
+ MAXPAGESIZE=0x10000
+ 
+ # 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 = .;'
+ 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)'



More information about the Binutils mailing list