*** binutils-2.9.5.0.22/bfd/Makefile.am	Thu Sep 23 07:12:48 1999
--- binutils-2.9.5.0.22-netbsdsh-19991220/bfd/Makefile.am	Mon Dec 20 14:01:28 1999
***************
*** 174,179 ****
--- 174,180 ----
  	elf32-mips.lo \
  	elf32-pj.lo \
  	elf32-ppc.lo \
+ 	elf32-shunx.lo \
  	elf32-sh.lo \
  	elf32-sparc.lo \
  	elf32-v850.lo \
***************
*** 300,305 ****
--- 301,307 ----
  	elf32-mips.c \
  	elf32-pj.c \
  	elf32-ppc.c \
+ 	elf32-shunx.c \
  	elf32-sh.c \
  	elf32-sparc.c \
  	elf32-v850.c \
***************
*** 904,909 ****
--- 906,914 ----
    $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
    $(INCDIR)/elf/ppc.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
  elf32-sh.lo: elf32-sh.c $(INCDIR)/bfdlink.h elf-bfd.h \
+   $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
+   $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
+ elf32-shunx.lo: elf32-shunx.c $(INCDIR)/bfdlink.h elf-bfd.h \
    $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
    $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
  elf32-sparc.lo: elf32-sparc.c $(INCDIR)/bfdlink.h elf-bfd.h \
*** binutils-2.9.5.0.22/bfd/Makefile.in	Thu Sep 23 07:12:48 1999
--- binutils-2.9.5.0.22-netbsdsh-19991220/bfd/Makefile.in	Mon Dec 20 14:03:35 1999
***************
*** 293,298 ****
--- 293,299 ----
  	elf32-mips.lo \
  	elf32-pj.lo \
  	elf32-ppc.lo \
+ 	elf32-shunx.lo \
  	elf32-sh.lo \
  	elf32-sparc.lo \
  	elf32-v850.lo \
***************
*** 420,425 ****
--- 421,427 ----
  	elf32-mips.c \
  	elf32-pj.c \
  	elf32-ppc.c \
+ 	elf32-shunx.c \
  	elf32-sh.c \
  	elf32-sparc.c \
  	elf32-v850.c \
***************
*** 1433,1438 ****
--- 1435,1443 ----
  elf32-ppc.lo: elf32-ppc.c $(INCDIR)/bfdlink.h elf-bfd.h \
    $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
    $(INCDIR)/elf/ppc.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
+ elf32-shunx.lo: elf32-shunx.c $(INCDIR)/bfdlink.h elf-bfd.h \
+   $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
+   $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
  elf32-sh.lo: elf32-sh.c $(INCDIR)/bfdlink.h elf-bfd.h \
    $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
    $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h elf32-target.h
*** binutils-2.9.5.0.22/bfd/config.bfd	Fri Dec  3 02:14:46 1999
--- binutils-2.9.5.0.22-netbsdsh-19991220/bfd/config.bfd	Mon Dec 20 14:11:15 1999
***************
*** 42,47 ****
--- 42,48 ----
  pj*)	targ_archs="bfd_pj_arch bfd_i386_arch";;
  powerpc*) targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
  rs6000)	targ_archs="bfd_rs6000_arch bfd_powerpc_arch" ;;
+ sh*)	targ_archs=bfd_sh_arch ;;
  sparc*) targ_archs=bfd_sparc_arch ;;
  v850*)	targ_archs=bfd_v850_arch ;;
  z8k*)	targ_archs=bfd_z8k_arch ;;
***************
*** 612,620 ****
--- 613,641 ----
      targ_defvec=rs6000coff_vec
      ;;
  
+   sh-*-netbsdelf*)
+     targ_defvec=bfd_elf32_shunx_vec
+     targ_selvecs="bfd_elf32_shlunx_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
+     targ_underscore=yes
+     ;;
+   shel-*-netbsdelf*)
+     targ_defvec=bfd_elf32_shlunx_vec
+     targ_selvecs="bfd_elf32_shunx_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
+     targ_underscore=yes
+     ;;
    sh-*-elf* | sh-*-rtemself*)
      targ_defvec=bfd_elf32_sh_vec
      targ_selvecs="bfd_elf32_shl_vec shcoff_vec shlcoff_vec shcoff_small_vec shlcoff_small_vec"
+     targ_underscore=yes
+     ;;
+   sh-*-netbsdcoff*)
+     targ_defvec=shcoff_vec
+     targ_selvecs="shlcoff_vec shcoff_small_vec shlcoff_small_vec"
+     targ_underscore=yes
+     ;;
+   shel-*-netbsdcoff*)
+     targ_defvec=shlcoff_vec
+     targ_selvecs="shcoff_vec shcoff_small_vec shlcoff_small_vec"
      targ_underscore=yes
      ;;
    sh-*-* | sh-*-rtems*)
diff -crN binutils-2.9.1.0.25/bfd/configure binutils-2.9.1.0.25-X/bfd/configure
*** binutils-2.9.1.0.25/bfd/configure	Sun May 23 02:39:23 1999
--- binutils-2.9.1.0.25-X/bfd/configure	Sat Oct 16 08:05:57 1999
***************
*** 3087,3092 ****
--- 3087,3094 ----
      bfd_elf32_mn10300_vec)	tb="$tb elf-m10300.lo elf32.lo $elf" ;;
      bfd_elf32_powerpc_vec)	tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
      bfd_elf32_powerpcle_vec)	tb="$tb elf32-ppc.lo elf32.lo $elf" ;;
+     bfd_elf32_shunx_vec)	tb="$tb elf32-shunx.lo elf32.lo $elf coff-sh.lo" ;;
+     bfd_elf32_shlunx_vec)	tb="$tb elf32-shunx.lo elf32.lo $elf coff-sh.lo" ;;
      bfd_elf32_sh_vec)		tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
      bfd_elf32_shl_vec)		tb="$tb elf32-sh.lo elf32.lo $elf coff-sh.lo" ;;
      bfd_elf32_sparc_vec)	tb="$tb elf32-sparc.lo elf32.lo $elf" ;;
diff -crN binutils-2.9.1.0.25/bfd/elf32-sh.c binutils-2.9.1.0.25-X/bfd/elf32-sh.c
*** binutils-2.9.1.0.25/bfd/elf32-sh.c	Wed Apr  1 04:45:39 1998
--- binutils-2.9.1.0.25-X/bfd/elf32-sh.c	Sat Oct 16 08:05:58 1999
***************
*** 1889,1901 ****
--- 1889,1916 ----
    return NULL;
  }
  
+ #ifndef TARGET_BIG_SYM
  #define TARGET_BIG_SYM		bfd_elf32_sh_vec
+ #endif
+ 
+ #ifndef TARGET_BIG_NAME
  #define TARGET_BIG_NAME		"elf32-sh"
+ #endif
+ 
+ #ifndef TARGET_LITTLE_SYM
  #define TARGET_LITTLE_SYM	bfd_elf32_shl_vec
+ #endif
+ 
+ #ifndef TARGET_LITTLE_NAME
  #define TARGET_LITTLE_NAME	"elf32-shl"
+ #endif
+ 
  #define ELF_ARCH		bfd_arch_sh
  #define ELF_MACHINE_CODE	EM_SH
+ 
+ #ifndef ELF_MAXPAGESIZE
  #define ELF_MAXPAGESIZE		0x1
+ #endif
  
  #define elf_symbol_leading_char '_'
  
diff -crN binutils-2.9.1.0.25/bfd/elf32-shunx.c binutils-2.9.1.0.25-X/bfd/elf32-shunx.c
*** binutils-2.9.1.0.25/bfd/elf32-shunx.c	Thu Jan  1 09:00:00 1970
--- binutils-2.9.1.0.25-X/bfd/elf32-shunx.c	Sat Oct 16 08:05:58 1999
***************
*** 0 ****
--- 1,7 ----
+ #define TARGET_BIG_SYM		bfd_elf32_shunx_vec
+ #define TARGET_BIG_NAME		"elf32-sh-unx"
+ #define TARGET_LITTLE_SYM	bfd_elf32_shlunx_vec
+ #define TARGET_LITTLE_NAME	"elf32-shl-unx"
+ #define ELF_MAXPAGESIZE		0x1000
+ 
+ #include "elf32-sh.c"
diff -crN binutils-2.9.1.0.25/bfd/targets.c binutils-2.9.1.0.25-X/bfd/targets.c
*** binutils-2.9.1.0.25/bfd/targets.c	Thu Feb 25 02:11:51 1999
--- binutils-2.9.1.0.25-X/bfd/targets.c	Sat Oct 16 08:05:58 1999
***************
*** 507,512 ****
--- 507,514 ----
  extern const bfd_target bfd_elf32_mn10300_vec;
  extern const bfd_target bfd_elf32_powerpc_vec;
  extern const bfd_target bfd_elf32_powerpcle_vec;
+ extern const bfd_target bfd_elf32_shunx_vec;
+ extern const bfd_target bfd_elf32_shlunx_vec;
  extern const bfd_target bfd_elf32_sh_vec;
  extern const bfd_target bfd_elf32_shl_vec;
  extern const bfd_target bfd_elf32_sparc_vec;
*** binutils-2.9.5.0.22/config.sub	Tue Sep  7 02:57:21 1999
--- binutils-2.9.5.0.22-netbsdsh-19991220/config.sub	Mon Dec 20 14:07:45 1999
***************
*** 171,177 ****
  		| 580 | i960 | h8300 \
  		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
  		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
! 		| we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
  		| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
  		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
  		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
--- 171,178 ----
  		| 580 | i960 | h8300 \
  		| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
  		| alpha | alphaev[4-8] | alphaev56 | alphapca5[67] \
! 		| we32k | ns16k | clipper | i370 | sh | shel \
! 		|powerpc | powerpcle \
  		| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
  		| mips64orion | mips64orionel | mipstx39 | mipstx39el \
  		| mips64vr4300 | mips64vr4300el | mips64vr4100 | mips64vr4100el \
***************
*** 201,208 ****
  	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
  	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
  	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
! 	      | clipper-* | orion-* \
! 	      | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
  	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
  	      | mips64el-* | mips64orion-* | mips64orionel-* \
  	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
--- 202,209 ----
  	      | hppa-* | hppa1.0-* | hppa1.1-* | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
  	      | alpha-* | alphaev[4-8]-* | alphaev56-* | alphapca5[67]-* \
  	      | we32k-* | cydra-* | ns16k-* | pn-* | np1-* | xps100-* \
! 	      | clipper-* | orion-* | sparclite-* | pdp11-* | sh-* | shel-* \
! 	      | powerpc-* | powerpcle-* \
  	      | sparc64-* | sparcv9-* | sparc86x-* | mips16-* | mips64-* | mipsel-* \
  	      | mips64el-* | mips64orion-* | mips64orionel-* \
  	      | mips64vr4100-* | mips64vr4100el-* | mips64vr4300-* | mips64vr4300el-* \
*** binutils-2.9.1.0.25/gas/configure	Thu Feb 25 02:11:51 1999
--- binutils-2.9.1.0.25-netbsdsh-19991220/gas/configure	Mon Dec 20 08:35:39 1999
***************
*** 1604,1609 ****
--- 1604,1611 ----
        powerpcle*)	cpu_type=ppc endian=little ;;
        powerpc*)		cpu_type=ppc endian=big ;;
        rs6000*)		cpu_type=ppc ;;
+       shel*)		cpu_type=sh endian=little ;;
+       sh*)		cpu_type=sh endian=big ;;
        sparclite*)	cpu_type=sparc arch=sparclite ;;
        sparclet*)	cpu_type=sparc arch=sparclet ;;
        sparc64*)		cpu_type=sparc arch=v9-64 ;;
***************
*** 1799,1804 ****
--- 1801,1808 ----
        sh-*-elf*)	    fmt=elf ;;
        sh-*-coff*)           fmt=coff ;;
        sh-*-rtems*)	    fmt=coff ;;
+       sh-*-netbsdelf*)	    fmt=elf em=nbsd ;;
+       sh-*-netbsdcoff*)	    fmt=coff em=nbsd ;;
  
        ns32k-pc532-mach* | ns32k-pc532-ux*)    fmt=aout em=pc532mach ;;
        ns32k-pc532-netbsd* | ns32k-pc532-lites*)  fmt=aout em=nbsd532 ;;
*** binutils-2.9.1.0.25/ld/Makefile.in	Thu Feb 25 02:11:51 1999
--- binutils-2.9.1.0.25-netbsdsh-19991220/ld/Makefile.in	Mon Dec 20 08:39:44 1999
***************
*** 981,995 ****
  esh.c: $(srcdir)/emulparams/sh.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} sh "$(tdir_sh)"
  eshelf.c: $(srcdir)/emulparams/shelf.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} shelf "$(tdir_shelf)"
  eshlelf.c: $(srcdir)/emulparams/shlelf.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} shlelf "$(tdir_shlelf)"
! eshl.c: $(srcdir)/emulparams/shl.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
! 	${GENSCRIPTS} shl "$(tdir_shl)"
  esparcaout.c: $(srcdir)/emulparams/sparcaout.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} sparcaout "$(tdir_sparcaout)"
--- 981,1007 ----
  esh.c: $(srcdir)/emulparams/sh.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} sh "$(tdir_sh)"
+ eshl.c: $(srcdir)/emulparams/shl.sh \
+   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
+ 	${GENSCRIPTS} shl "$(tdir_shl)"
  eshelf.c: $(srcdir)/emulparams/shelf.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} shelf "$(tdir_shelf)"
  eshlelf.c: $(srcdir)/emulparams/shlelf.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} shlelf "$(tdir_shlelf)"
! eshunx.c: $(srcdir)/emulparams/shunx.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
! 	${GENSCRIPTS} shunx "$(tdir_shunx)"
! eshlunx.c: $(srcdir)/emulparams/shlunx.sh \
!   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/shunx.sc ${GEN_DEPENDS}
! 	${GENSCRIPTS} shlunx "$(tdir_shlunx)"
! eelf32shunx.c: $(srcdir)/emulparams/elf32shunx.sh \
!   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
! 	${GENSCRIPTS} elf32shunx "$(tdir_elf32shunx)"
! eelf32shlunx.c: $(srcdir)/emulparams/elf32shlunx.sh \
!   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
! 	${GENSCRIPTS} elf32shlunx "$(tdir_elf32shlunx)"
  esparcaout.c: $(srcdir)/emulparams/sparcaout.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} sparcaout "$(tdir_sparcaout)"
*** binutils-2.9.1.0.25/ld/Makefile.am	Thu Feb 25 02:11:51 1999
--- binutils-2.9.1.0.25-netbsdsh-19991220/ld/Makefile.am	Mon Dec 20 08:30:51 1999
***************
*** 495,509 ****
  esh.c: $(srcdir)/emulparams/sh.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} sh "$(tdir_sh)"
  eshelf.c: $(srcdir)/emulparams/shelf.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} shelf "$(tdir_shelf)"
  eshlelf.c: $(srcdir)/emulparams/shlelf.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} shlelf "$(tdir_shlelf)"
! eshl.c: $(srcdir)/emulparams/shl.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
! 	${GENSCRIPTS} shl "$(tdir_shl)"
  esparcaout.c: $(srcdir)/emulparams/sparcaout.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} sparcaout "$(tdir_sparcaout)"
--- 495,521 ----
  esh.c: $(srcdir)/emulparams/sh.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} sh "$(tdir_sh)"
+ eshl.c: $(srcdir)/emulparams/shl.sh \
+   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
+ 	${GENSCRIPTS} shl "$(tdir_shl)"
  eshelf.c: $(srcdir)/emulparams/shelf.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} shelf "$(tdir_shelf)"
  eshlelf.c: $(srcdir)/emulparams/shlelf.sh \
    $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} shlelf "$(tdir_shlelf)"
! eshunx.c: $(srcdir)/emulparams/shunx.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS}
! 	${GENSCRIPTS} shunx "$(tdir_shunx)"
! eshlunx.c: $(srcdir)/emulparams/shlunx.sh \
!   $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/shunx.sc ${GEN_DEPENDS}
! 	${GENSCRIPTS} shlunx "$(tdir_shlunx)"
! eelf32shunx.c: $(srcdir)/emulparams/elf32shunx.sh \
!   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
! 	${GENSCRIPTS} elf32shunx "$(tdir_elf32shunx)"
! eelf32shlunx.c: $(srcdir)/emulparams/elf32shlunx.sh \
!   $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
! 	${GENSCRIPTS} elf32shlunx "$(tdir_elf32shlunx)"
  esparcaout.c: $(srcdir)/emulparams/sparcaout.sh \
    $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/aout.sc ${GEN_DEPENDS}
  	${GENSCRIPTS} sparcaout "$(tdir_sparcaout)"
*** binutils-2.9.5.0.22/ld/configure.tgt	Tue Sep  7 02:57:22 1999
--- binutils-2.9.5.0.22-netbsdsh-19991220/ld/configure.tgt	Mon Dec 20 14:09:39 1999
***************
*** 152,161 ****
--- 152,169 ----
  			targ_emul=h8500
  			targ_extra_emuls="h8500s h8500b h8500m h8500c"
  			;;
+ sh-*-netbsdelf*)		targ_emul=elf32shunx
+ 			targ_extra_emuls="elf32shlunx shunx shlunx"
+ 			;;
+ shel-*-netbsdelf*)	targ_emul=elf32shlunx
+ 			targ_extra_emuls="elf32shunx shunx shlunx"
+ 			;;
  sh-*-elf* | sh-*-rtemself*)
  			targ_emul=shelf
  			targ_extra_emuls="shlelf sh shl"
  			;;
+ sh-*-netbsdcoff*)	targ_emul=shunx; targ_extra_emuls=shlunx ;;
+ shel-*-netbsdcoff*)	targ_emul=shlunx; targ_extra_emuls=shunx ;;
  sh-*-*|sh-*-rtems*)	targ_emul=sh; targ_extra_emuls=shl ;;
  m68k-sony-*)		targ_emul=news ;;
  m68k-hp-bsd*)		targ_emul=hp300bsd ;;
diff -crN binutils-2.9.1.0.25/ld/emulparams/elf32shlunx.sh binutils-2.9.1.0.25-X/ld/emulparams/elf32shlunx.sh
*** binutils-2.9.1.0.25/ld/emulparams/elf32shlunx.sh	Thu Jan  1 09:00:00 1970
--- binutils-2.9.1.0.25-X/ld/emulparams/elf32shlunx.sh	Sat Oct 16 08:06:00 1999
***************
*** 0 ****
--- 1,15 ----
+ SCRIPT_NAME=elf
+ OUTPUT_FORMAT="elf32-shl-unx"
+ TEXT_START_ADDR=0x1000
+ MAXPAGESIZE=0x1000
+ ARCH=sh
+ MACHINE=
+ TEMPLATE_NAME=elf32
+ GENERATE_SHLIB_SCRIPT=yes
+ 
+ # These are for compatibility with the COFF toolchain.
+ ENTRY=start
+ CTOR_START='___ctors = .;'
+ CTOR_END='___ctors_end = .;'
+ DTOR_START='___dtors = .;'
+ DTOR_END='___dtors_end = .;'
diff -crN binutils-2.9.1.0.25/ld/emulparams/elf32shunx.sh binutils-2.9.1.0.25-X/ld/emulparams/elf32shunx.sh
*** binutils-2.9.1.0.25/ld/emulparams/elf32shunx.sh	Thu Jan  1 09:00:00 1970
--- binutils-2.9.1.0.25-X/ld/emulparams/elf32shunx.sh	Sat Oct 16 08:06:00 1999
***************
*** 0 ****
--- 1,15 ----
+ SCRIPT_NAME=elf
+ OUTPUT_FORMAT="elf32-sh-unx"
+ TEXT_START_ADDR=0x1000
+ MAXPAGESIZE=0x1000
+ ARCH=sh
+ MACHINE=
+ TEMPLATE_NAME=elf32
+ GENERATE_SHLIB_SCRIPT=yes
+ 
+ # These are for compatibility with the COFF toolchain.
+ ENTRY=start
+ CTOR_START='___ctors = .;'
+ CTOR_END='___ctors_end = .;'
+ DTOR_START='___dtors = .;'
+ DTOR_END='___dtors_end = .;'
diff -crN binutils-2.9.1.0.25/ld/emulparams/shlunx.sh binutils-2.9.1.0.25-X/ld/emulparams/shlunx.sh
*** binutils-2.9.1.0.25/ld/emulparams/shlunx.sh	Thu Jan  1 09:00:00 1970
--- binutils-2.9.1.0.25-X/ld/emulparams/shlunx.sh	Sat Oct 16 08:06:00 1999
***************
*** 0 ****
--- 1,5 ----
+ SCRIPT_NAME=shunx
+ OUTPUT_FORMAT="coff-shl"
+ TEXT_START_ADDR=0x1000
+ TARGET_PAGE_SIZE=0x1000
+ ARCH=sh
diff -crN binutils-2.9.1.0.25/ld/emulparams/shunx.sh binutils-2.9.1.0.25-X/ld/emulparams/shunx.sh
*** binutils-2.9.1.0.25/ld/emulparams/shunx.sh	Thu Jan  1 09:00:00 1970
--- binutils-2.9.1.0.25-X/ld/emulparams/shunx.sh	Sat Oct 16 08:06:00 1999
***************
*** 0 ****
--- 1,5 ----
+ SCRIPT_NAME=shunx
+ OUTPUT_FORMAT="coff-sh"
+ TEXT_START_ADDR=0x1000
+ TARGET_PAGE_SIZE=0x1000
+ ARCH=sh
diff -crN binutils-2.9.1.0.25/ld/scripttempl/shunx.sc binutils-2.9.1.0.25-bl3/ld/scripttempl/shunx.sc
*** binutils-2.9.1.0.25/ld/scripttempl/shunx.sc	Thu Jan  1 09:00:00 1970
--- binutils-2.9.1.0.25-bl3/ld/scripttempl/shunx.sc	Mon Dec 20 11:09:18 1999
***************
*** 0 ****
--- 1,53 ----
+ TORS=".tors :
+   {
+     ___ctors = . ;
+     *(.ctors)
+     ___ctors_end = . ;
+     ___dtors = . ;
+     *(.dtors)
+     ___dtors_end = . ;
+   }"
+ 
+ 
+ cat <<EOF
+ OUTPUT_FORMAT("${OUTPUT_FORMAT}")
+ OUTPUT_ARCH(${ARCH})
+ ${LIB_SEARCH_DIRS}
+ 
+ SECTIONS
+ {
+   . = ${TEXT_START_ADDR} + SIZEOF_HEADERS;
+   .text ALIGN(0x10):
+   {
+     *(.text)
+     *(.strings)
+     ${RELOCATING+ _etext = . ; }
+   }
+   ${CONSTRUCTING+${TORS}}
+   .data  ${RELOCATING+ ALIGN(${TARGET_PAGE_SIZE})} :
+   {
+     *(.data)
+     ${RELOCATING+ _edata = . ; }
+   }
+   .bss ${RELOCATING+ ALIGN(${TARGET_PAGE_SIZE})} :
+   {
+     ${RELOCATING+ _bss_start = . ; }
+     *(.bss)
+     *(COMMON)
+     ${RELOCATING+ _end = . ;  }
+   }
+   .stack :
+   {
+     ${RELOCATING+ _stack = . ; }
+     *(.stack)
+   }
+   .stab 0 ${RELOCATING+(NOLOAD)} :
+   {
+     *(.stab)
+   }
+   .stabstr 0 ${RELOCATING+(NOLOAD)} :
+   {
+     *(.stabstr)
+   }
+ }
+ EOF
*** binutils-2.9.1.0.25/gas/configure.in	Thu Feb 25 02:11:51 1999
--- binutils-2.9.1.0.25-bl3/gas/configure.in	Sat Dec 18 13:29:26 1999
***************
*** 269,274 ****
--- 269,276 ----
        sh-*-elf*)	    fmt=elf ;;
        sh-*-coff*)           fmt=coff ;;
        sh-*-rtems*)	    fmt=coff ;;
+       sh-*-netbsdelf*)	    fmt=elf em=nbsd ;;
+       sh-*-netbsdcoff*)     fmt=coff em=nbsd ;;
  
        ns32k-pc532-mach* | ns32k-pc532-ux*)    fmt=aout em=pc532mach ;;
        ns32k-pc532-netbsd* | ns32k-pc532-lites*)  fmt=aout em=nbsd532 ;;
*** binutils-2.9.1.0.25/gas/config/tc-sh.h	Sun Oct 26 06:55:44 1997
--- binutils-2.9.1.0.25-bl3/gas/config/tc-sh.h	Sat Dec 18 13:28:24 1999
***************
*** 20,26 ****
--- 20,29 ----
  
  #define TC_SH
  
+ /* Set the endianness we are using.  Default to little endian.  */
+ #ifndef TARGET_BYTES_BIG_ENDIAN
  #define TARGET_BYTES_BIG_ENDIAN 0
+ #endif
  
  #define TARGET_ARCH bfd_arch_sh
  
***************
*** 134,140 ****
--- 137,147 ----
  /* Whether or not the target is big endian */
  extern int target_big_endian;
  
+ #ifdef TE_NetBSD
+ #define TARGET_FORMAT (shl ? "elf32-shl-unx" : "elf32-sh-unx")
+ #else
  #define TARGET_FORMAT (shl ? "elf32-shl" : "elf32-sh")
+ #endif
  
  #endif /* OBJ_ELF */