*** 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 */