From 5b0e55b627d80fe3220036737d639cbba71a3e1e Mon Sep 17 00:00:00 2001 From: Jason Thorpe Date: Tue, 4 Jun 2002 02:57:44 +0000 Subject: bfd: * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo. (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c. (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo. (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c. (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules. * Makefile.in: Regenerate. * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*) (sh64-*-netbsd*): New targets. * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec. * configure: Regenerate. * elf32-sh64-nbsd.c: New file. * elf64-sh64-nbsd.c: New file. * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec. gas: * configure.in (sh5*): Set cpu_type to sh64 and endian to big. (sh5le*, sh64le*): Set cpu_type to sh64 and endian to little. (sh5*-*-netbsd*, sh64*-*-netbsd*): New targets. * configure: Regenerate. * config/tc-sh64.c (sh64_target_format): Add support for NetBSD environment. ld: * Makefile.am (ALL_EMULATIONS): Add eshelf32_nbsd.o, eshlelf32_nbsd.o, eshelf64_nbsd.o, and eshlelf64_nbsd.o. (eshelf32_nbsd.c, eshelf64_nbsd.c, eshlelf32_nbsd.c) (eshlelf64_nbsd.c): New rules. * Makefile.in: Regenerate. * configure.tgt (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*) (sh64-*-netbsd*): New targets. * emulparams/shelf32_nbsd.sh: New file. * emulparams/shelf64_nbsd.sh: New file. * emulparams/shlelf32_nbsd.sh: New file. * emulparams/shlelf64_nbsd.sh: New file. opcodes: * configure.in: Add "sh5*-*" to list of targets which include sh64 support. * configure: Regenerate. --- ld/ChangeLog | 14 ++ ld/Makefile.am | 25 ++++ ld/Makefile.in | 297 ++++++----------------------------------- ld/configure.tgt | 16 +++ ld/emulparams/shelf32_nbsd.sh | 13 ++ ld/emulparams/shelf64_nbsd.sh | 8 ++ ld/emulparams/shlelf32_nbsd.sh | 3 + ld/emulparams/shlelf64_nbsd.sh | 3 + 8 files changed, 124 insertions(+), 255 deletions(-) create mode 100644 ld/emulparams/shelf32_nbsd.sh create mode 100644 ld/emulparams/shelf64_nbsd.sh create mode 100644 ld/emulparams/shlelf32_nbsd.sh create mode 100644 ld/emulparams/shlelf64_nbsd.sh (limited to 'ld') diff --git a/ld/ChangeLog b/ld/ChangeLog index a1a56783608..f4fc0994466 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,17 @@ +2002-06-04 Jason Thorpe + + * Makefile.am (ALL_EMULATIONS): Add eshelf32_nbsd.o, + eshlelf32_nbsd.o, eshelf64_nbsd.o, and eshlelf64_nbsd.o. + (eshelf32_nbsd.c, eshelf64_nbsd.c, eshlelf32_nbsd.c) + (eshlelf64_nbsd.c): New rules. + * Makefile.in: Regenerate. + * configure.tgt (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*) + (sh64-*-netbsd*): New targets. + * emulparams/shelf32_nbsd.sh: New file. + * emulparams/shelf64_nbsd.sh: New file. + * emulparams/shlelf32_nbsd.sh: New file. + * emulparams/shlelf64_nbsd.sh: New file. + 2002-06-04 Alan Modra * ldlang.c (section_already_linked): Call bfd_discard_group. Typo fix. diff --git a/ld/Makefile.am b/ld/Makefile.am index 170aa3d4ae6..eb6ae20c48d 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -252,6 +252,8 @@ ALL_EMULATIONS = \ esh.o \ eshelf32.o \ eshlelf32.o \ + eshelf32_nbsd.o \ + eshlelf32_nbsd.o \ eshelf.o \ eshelf_linux.o \ eshlelf_linux.o \ @@ -285,6 +287,8 @@ ALL_64_EMULATIONS = \ eelf64_ia64_fbsd.o \ eshelf64.o \ eshlelf64.o \ + eshelf64_nbsd.o \ + eshlelf64_nbsd.o \ eelf_x86_64.o \ eelf_x86_64_fbsd.o \ eelf64_s390.o \ @@ -940,9 +944,19 @@ eshelf32.c: $(srcdir)/emulparams/shelf32.sh \ $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shelf32 "$(tdir_shelf32)" +eshelf32_nbsd.c: $(srcdir)/emulparams/shelf32_nbsd.sh \ + $(srcdir)/emulparams/shelf32.sh \ + $(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \ + $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shelf32_nbsd "$(tdir_shelf32_nbsd)" eshelf64.c: $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shelf64 "$(tdir_shelf64)" +eshelf64_nbsd.c: $(srcdir)/emulparams/shelf64_nbsd.sh \ + $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shelf64_nbsd "$(tdir_shelf64_nbsd)" eshelf_linux.c: $(srcdir)/emulparams/shelf_linux.sh \ $(srcdir)/emulparams/shlelf_linux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -968,10 +982,21 @@ eshlelf32.c: $(srcdir)/emulparams/shlelf32.sh \ $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shlelf32 "$(tdir_shlelf32)" +eshlelf32_nbsd.c: $(srcdir)/emulparams/shlelf32_nbsd.sh \ + $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \ + $(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \ + $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shlelf32_nbsd "$(tdir_shlelf32_nbsd)" eshlelf64.c: $(srcdir)/emulparams/shlelf64.sh \ $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shlelf64 "$(tdir_shlelf64)" +eshlelf64_nbsd.c: $(srcdir)/emulparams/shlelf64_nbsd.sh \ + $(srcdir)/emulparams/shelf64_nbsd.sh \ + $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shlelf64_nbsd "$(tdir_shlelf64_nbsd)" eshl.c: $(srcdir)/emulparams/shl.sh \ $(srcdir)/emulparams/sh.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS} diff --git a/ld/Makefile.in b/ld/Makefile.in index 2da405db51e..7879c428f4a 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -152,8 +152,7 @@ MANCONF = -Dman TEXI2POD = perl $(BASEDIR)/etc/texi2pod.pl -POD2MAN = pod2man --center="GNU Development Tools" \ - --release="binutils-$(VERSION)" --section=1 +POD2MAN = pod2man --center="GNU Development Tools" --release="binutils-$(VERSION)" --section=1 #stuff for self hosting (can be overridden in config file). @@ -162,49 +161,19 @@ HOSTING_LIBS = @HOSTING_LIBS@ HOSTING_EMU = -m $(EMUL) # Setup the testing framework, if you have one -EXPECT = `if [ -f $$r/../expect/expect ] ; \ - then echo $$r/../expect/expect ; \ - else echo expect ; fi` +EXPECT = `if [ -f $$r/../expect/expect ] ; then echo $$r/../expect/expect ; else echo expect ; fi` -RUNTEST = `if [ -f $${srcroot}/../dejagnu/runtest ] ; \ - then echo $${srcroot}/../dejagnu/runtest ; \ - else echo runtest ; fi` +RUNTEST = `if [ -f $${srcroot}/../dejagnu/runtest ] ; then echo $${srcroot}/../dejagnu/runtest ; else echo runtest ; fi` RUNTESTFLAGS = -CC_FOR_TARGET = ` \ - if [ -f $$r/../gcc/xgcc ] ; then \ - if [ -f $$r/../newlib/Makefile ] ; then \ - echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \ - else \ - echo $$r/../gcc/xgcc -B$$r/../gcc/; \ - fi; \ - else \ - if [ "@host@" = "@target@" ] ; then \ - echo $(CC); \ - else \ - echo gcc | sed '$(transform)'; \ - fi; \ - fi` +CC_FOR_TARGET = ` if [ -f $$r/../gcc/xgcc ] ; then if [ -f $$r/../newlib/Makefile ] ; then echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; else echo $$r/../gcc/xgcc -B$$r/../gcc/; fi; else if [ "@host@" = "@target@" ] ; then echo $(CC); else echo gcc | sed '$(transform)'; fi; fi` CXX = gcc -CXX_FOR_TARGET = ` \ - if [ -f $$r/../gcc/xgcc ] ; then \ - if [ -f $$r/../newlib/Makefile ] ; then \ - echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; \ - else \ - echo $$r/../gcc/xgcc -B$$r/../gcc/; \ - fi; \ - else \ - if [ "@host@" = "@target@" ] ; then \ - echo $(CXX); \ - else \ - echo gcc | sed '$(transform)'; \ - fi; \ - fi` +CXX_FOR_TARGET = ` if [ -f $$r/../gcc/xgcc ] ; then if [ -f $$r/../newlib/Makefile ] ; then echo $$r/../gcc/xgcc -B$$r/../gcc/ -idirafter $$r/../newlib/targ-include -idirafter $${srcroot}/../newlib/libc/include -nostdinc; else echo $$r/../gcc/xgcc -B$$r/../gcc/; fi; else if [ "@host@" = "@target@" ] ; then echo $(CXX); else echo gcc | sed '$(transform)'; fi; fi` noinst_PROGRAMS = ld-new @@ -217,226 +186,25 @@ INCLUDES = -D_GNU_SOURCE -I. -I$(srcdir) -I../bfd -I$(BFDDIR) -I$(INCDIR) -I$(to BFDLIB = ../bfd/libbfd.la LIBIBERTY = ../libiberty/libiberty.a -ALL_EMULATIONS = \ - ea29k.o \ - eaixppc.o \ - eaixrs6.o \ - ealpha.o \ - earcelf.o \ - earm_epoc_pe.o \ - earmaoutb.o \ - earmaoutl.o \ - earmcoff.o \ - earmelf.o \ - earmelf_fbsd.o \ - earmelf_linux.o \ - earmelf_nbsd.o \ - earmelfb_nbsd.o \ - earmelf_oabi.o \ - earmnbsd.o \ - earmpe.o \ - eavr1200.o \ - eavr23xx.o \ - eavr4433.o \ - eavr44x4.o \ - eavr85xx.o \ - eavrmega103.o \ - eavrmega161.o \ - eavrmega603.o \ - eavr1.o \ - eavr2.o \ - eavr3.o \ - eavr4.o \ - eavr5.o \ - ecoff_sparc.o \ - ecrisaout.o \ - ecriself.o \ - ecrislinux.o \ - ed10velf.o \ - ed30v_e.o \ - ed30v_o.o \ - ed30velf.o \ - edelta68.o \ - eelf32_dlx.o \ - eebmon29k.o \ - eelf32_i960.o \ - eelf32_i860.o \ - eelf32_sparc.o \ - eelf32b4300.o \ - eelf32bmip.o \ - eelf32bmipn32.o \ - eelf32btsmip.o \ - eelf32ltsmip.o \ - eelf32ebmip.o \ - eelf32elmip.o \ - eelf32fr30.o \ - eelf32i370.o \ - eelf32l4300.o \ - eelf32lmip.o \ - eelf32lppc.o \ - eelf32lppcsim.o \ - eelf32mcore.o \ - eelf32openrisc.o \ - eelf32ppc.o \ - eelf32ppc_fbsd.o \ - eelf32ppclinux.o \ - eelf32ppcsim.o \ - eelf32ppcwindiss.o \ - eelf32vax.o \ - eelf32xstormy16.o \ - eelf_i386.o \ - eelf_i386_be.o \ - eelf_i386_chaos.o \ - eelf_i386_fbsd.o \ - eelf_i386_ldso.o \ - eelf_s390.o \ - egld960.o \ - egld960coff.o \ - eh8300.o \ - eh8300h.o \ - eh8300s.o \ - eh8300elf.o \ - eh8300helf.o \ - eh8300self.o \ - eh8500.o \ - eh8500b.o \ - eh8500c.o \ - eh8500m.o \ - eh8500s.o \ - ehp300bsd.o \ - ehp3hpux.o \ - ehppaelf.o \ - ehppalinux.o \ - ehppanbsd.o \ - ei386aout.o \ - ei386beos.o \ - ei386bsd.o \ - ei386coff.o \ - ei386go32.o \ - ei386linux.o \ - ei386lynx.o \ - ei386mach.o \ - ei386moss.o \ - ei386msdos.o \ - ei386nbsd.o \ - ei386nto.o \ - ei386nw.o \ - ei386pe.o \ - ei386pe_posix.o \ - elnk960.o \ - em68hc11elf.o \ - em68hc11elfb.o \ - em68hc12elf.o \ - em68hc12elfb.o \ - em68k4knbsd.o \ - em68kaout.o \ - em68kaux.o \ - em68kcoff.o \ - em68kelf.o \ - em68kelfnbsd.o \ - em68klinux.o \ - em68klynx.o \ - em68knbsd.o \ - em68kpsos.o \ - em88kbcs.o \ - emcorepe.o \ - emipsbig.o \ - emipsbsd.o \ - emipsidt.o \ - emipsidtl.o \ - emipslit.o \ - emipslnews.o \ - emipspe.o \ - enews.o \ - ens32knbsd.o \ - eor32.o \ - eor32elf.o \ - epc532macha.o \ - epdp11.o \ - epjelf.o \ - epjlelf.o \ - eppcmacos.o \ - eppcnw.o \ - eppcpe.o \ - eriscix.o \ - esa29200.o \ - esh.o \ - eshelf32.o \ - eshlelf32.o \ - eshelf.o \ - eshelf_linux.o \ - eshlelf_linux.o \ - eshelf_nbsd.o \ - eshlelf_nbsd.o \ - eshl.o \ - eshlelf.o \ - eshpe.o \ - esparcaout.o \ - esparclinux.o \ - esparclynx.o \ - esparcnbsd.o \ - est2000.o \ - esun3.o \ - esun4.o \ - etic30aout.o \ - etic30coff.o \ - etic54xcoff.o \ - etic80coff.o \ - evanilla.o \ - evax.o \ - evaxnbsd.o \ - evsta.o \ - ew65.o \ - ez8001.o \ - ez8002.o - - -ALL_64_EMULATIONS = \ - eelf64_aix.o \ - eelf64_ia64.o \ - eelf64_ia64_fbsd.o \ - eshelf64.o \ - eshlelf64.o \ - eelf_x86_64.o \ - eelf_x86_64_fbsd.o \ - eelf64_s390.o \ - eelf64_sparc.o \ - eelf64_sparc_fbsd.o \ - eelf64alpha.o \ - eelf64alpha_fbsd.o \ - eelf64alpha_nbsd.o \ - eelf64bmip.o \ - eelf64btsmip.o \ - eelf64ltsmip.o \ - eelf64hppa.o \ - eelf64mmix.o \ - emmo.o \ - eelf64ppc.o \ - eelf64lppc.o \ - ehppa64linux.o - - -ALL_EMUL_EXTRA_OFILES = \ - deffilep.o \ - pe-dll.o - - -CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c \ - ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c \ - mri.c ldcref.c pe-dll.c - - -HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h \ - ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h \ - ldwrite.h mri.h deffile.h pe-dll.h +ALL_EMULATIONS = ea29k.o eaixppc.o eaixrs6.o ealpha.o earcelf.o earm_epoc_pe.o earmaoutb.o earmaoutl.o earmcoff.o earmelf.o earmelf_fbsd.o earmelf_linux.o earmelf_nbsd.o earmelfb_nbsd.o earmelf_oabi.o earmnbsd.o earmpe.o eavr1200.o eavr23xx.o eavr4433.o eavr44x4.o eavr85xx.o eavrmega103.o eavrmega161.o eavrmega603.o eavr1.o eavr2.o eavr3.o eavr4.o eavr5.o ecoff_sparc.o ecrisaout.o ecriself.o ecrislinux.o ed10velf.o ed30v_e.o ed30v_o.o ed30velf.o edelta68.o eelf32_dlx.o eebmon29k.o eelf32_i960.o eelf32_i860.o eelf32_sparc.o eelf32b4300.o eelf32bmip.o eelf32bmipn32.o eelf32btsmip.o eelf32ltsmip.o eelf32ebmip.o eelf32elmip.o eelf32fr30.o eelf32i370.o eelf32l4300.o eelf32lmip.o eelf32lppc.o eelf32lppcsim.o eelf32mcore.o eelf32openrisc.o eelf32ppc.o eelf32ppc_fbsd.o eelf32ppclinux.o eelf32ppcsim.o eelf32ppcwindiss.o eelf32vax.o eelf32xstormy16.o eelf_i386.o eelf_i386_be.o eelf_i386_chaos.o eelf_i386_fbsd.o eelf_i386_ldso.o eelf_s390.o egld960.o egld960coff.o eh8300.o eh8300h.o eh8300s.o eh8300elf.o eh8300helf.o eh8300self.o eh8500.o eh8500b.o eh8500c.o eh8500m.o eh8500s.o ehp300bsd.o ehp3hpux.o ehppaelf.o ehppalinux.o ehppanbsd.o ei386aout.o ei386beos.o ei386bsd.o ei386coff.o ei386go32.o ei386linux.o ei386lynx.o ei386mach.o ei386moss.o ei386msdos.o ei386nbsd.o ei386nto.o ei386nw.o ei386pe.o ei386pe_posix.o elnk960.o em68hc11elf.o em68hc11elfb.o em68hc12elf.o em68hc12elfb.o em68k4knbsd.o em68kaout.o em68kaux.o em68kcoff.o em68kelf.o em68kelfnbsd.o em68klinux.o em68klynx.o em68knbsd.o em68kpsos.o em88kbcs.o emcorepe.o emipsbig.o emipsbsd.o emipsidt.o emipsidtl.o emipslit.o emipslnews.o emipspe.o enews.o ens32knbsd.o eor32.o eor32elf.o epc532macha.o epdp11.o epjelf.o epjlelf.o eppcmacos.o eppcnw.o eppcpe.o eriscix.o esa29200.o esh.o eshelf32.o eshlelf32.o eshelf32_nbsd.o eshlelf32_nbsd.o eshelf.o eshelf_linux.o eshlelf_linux.o eshelf_nbsd.o eshlelf_nbsd.o eshl.o eshlelf.o eshpe.o esparcaout.o esparclinux.o esparclynx.o esparcnbsd.o est2000.o esun3.o esun4.o etic30aout.o etic30coff.o etic54xcoff.o etic80coff.o evanilla.o evax.o evaxnbsd.o evsta.o ew65.o ez8001.o ez8002.o + + +ALL_64_EMULATIONS = eelf64_aix.o eelf64_ia64.o eelf64_ia64_fbsd.o eshelf64.o eshlelf64.o eshelf64_nbsd.o eshlelf64_nbsd.o eelf_x86_64.o eelf_x86_64_fbsd.o eelf64_s390.o eelf64_sparc.o eelf64_sparc_fbsd.o eelf64alpha.o eelf64alpha_fbsd.o eelf64alpha_nbsd.o eelf64bmip.o eelf64btsmip.o eelf64ltsmip.o eelf64hppa.o eelf64mmix.o emmo.o eelf64ppc.o eelf64lppc.o ehppa64linux.o + + +ALL_EMUL_EXTRA_OFILES = deffilep.o pe-dll.o + + +CFILES = ldctor.c ldemul.c ldexp.c ldfile.c ldlang.c ldmain.c ldmisc.c ldver.c ldwrite.c lexsup.c mri.c ldcref.c pe-dll.c + + +HFILES = ld.h ldctor.h ldemul.h ldexp.h ldfile.h ldlang.h ldlex.h ldmain.h ldmisc.h ldver.h ldwrite.h mri.h deffile.h pe-dll.h GENERATED_CFILES = ldgram.c ldlex.c deffilep.c GENERATED_HFILES = ldgram.h ldemul-list.h deffilep.h -OFILES = ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o \ - ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o \ - ldfile.o ldcref.o ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES} +OFILES = ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o ${EMULATION_OFILES} ${EMUL_EXTRA_OFILES} STAGESTUFF = *.o ldscripts/* e*.c @@ -455,8 +223,7 @@ GEN_DEPENDS = $(srcdir)/genscripts.sh stringify.sed # We need this for automake to use YLWRAP. EXTRA_ld_new_SOURCES = deffilep.y -ld_new_SOURCES = ldgram.y ldlex.l lexsup.c ldlang.c mri.c ldctor.c ldmain.c \ - ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c +ld_new_SOURCES = ldgram.y ldlex.l lexsup.c ldlang.c mri.c ldctor.c ldmain.c ldwrite.c ldexp.c ldemul.c ldver.c ldmisc.c ldfile.c ldcref.c ld_new_DEPENDENCIES = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(INTLDEPS) ld_new_LDADD = $(EMULATION_OFILES) $(EMUL_EXTRA_OFILES) $(BFDLIB) $(LIBIBERTY) $(INTLLIBS) @@ -469,8 +236,7 @@ MAINTAINERCLEANFILES = ldver.texi # We want to reconfigure if configure.host or configure.tgt changes. CONFIG_STATUS_DEPENDENCIES = $(srcdir)/configure.host $(srcdir)/configure.tgt -MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \ - ldemul-list.h crtbegin.o crtend.o ld.log ld.sum +MOSTLYCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) ldemul-list.h crtbegin.o crtend.o ld.log ld.sum CLEANFILES = dep.sed DEP DEPA DEP1 DEP2 @@ -1663,9 +1429,19 @@ eshelf32.c: $(srcdir)/emulparams/shelf32.sh \ $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shelf32 "$(tdir_shelf32)" +eshelf32_nbsd.c: $(srcdir)/emulparams/shelf32_nbsd.sh \ + $(srcdir)/emulparams/shelf32.sh \ + $(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \ + $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shelf32_nbsd "$(tdir_shelf32_nbsd)" eshelf64.c: $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shelf64 "$(tdir_shelf64)" +eshelf64_nbsd.c: $(srcdir)/emulparams/shelf64_nbsd.sh \ + $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shelf64_nbsd "$(tdir_shelf64_nbsd)" eshelf_linux.c: $(srcdir)/emulparams/shelf_linux.sh \ $(srcdir)/emulparams/shlelf_linux.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} @@ -1691,10 +1467,21 @@ eshlelf32.c: $(srcdir)/emulparams/shlelf32.sh \ $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shlelf32 "$(tdir_shlelf32)" +eshlelf32_nbsd.c: $(srcdir)/emulparams/shlelf32_nbsd.sh \ + $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \ + $(BFDDIR)/libbfd.h $(INCDIR)/libiberty.h \ + $(srcdir)/emultempl/sh64elf.em $(INCDIR)/elf/sh.h $(BFDDIR)/elf-bfd.h \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shlelf32_nbsd "$(tdir_shlelf32_nbsd)" eshlelf64.c: $(srcdir)/emulparams/shlelf64.sh \ $(srcdir)/emulparams/shelf64.sh $(srcdir)/emulparams/shelf32.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} shlelf64 "$(tdir_shlelf64)" +eshlelf64_nbsd.c: $(srcdir)/emulparams/shlelf64_nbsd.sh \ + $(srcdir)/emulparams/shelf64_nbsd.sh \ + $(srcdir)/emulparams/shelf32_nbsd.sh $(srcdir)/emulparams/shelf32.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} shlelf64_nbsd "$(tdir_shlelf64_nbsd)" eshl.c: $(srcdir)/emulparams/shl.sh \ $(srcdir)/emulparams/sh.sh \ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/sh.sc ${GEN_DEPENDS} diff --git a/ld/configure.tgt b/ld/configure.tgt index 153dab81a2e..d4af3a4b79d 100644 --- a/ld/configure.tgt +++ b/ld/configure.tgt @@ -270,6 +270,22 @@ sh*eb-*-linux*) sh*-*-linux*) targ_emul=shlelf_linux ;; +sh5le-*-netbsd*) + targ_emul=shlelf32_nbsd + targ_extra_emuls="shelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" + ;; +sh5-*-netbsd*) + targ_emul=shelf32_nbsd + targ_extra_emuls="shlelf32_nbsd shelf64_nbsd shlelf64_nbsd shelf_nbsd shlelf_nbsd" + ;; +sh64le-*-netbsd*) + targ_emul=shlelf64_nbsd + targ_extra_emuls="shelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd" + ;; +sh64-*-netbsd*) + targ_emul=shelf64_nbsd + targ_extra_emuls="shlelf64_nbsd shelf32_nbsd shlelf32_nbsd shelf_nbsd shlelf_nbsd" + ;; sh*le-*-netbsdelf*) targ_emul=shlelf_nbsd targ_extra_emuls=shelf_nbsd diff --git a/ld/emulparams/shelf32_nbsd.sh b/ld/emulparams/shelf32_nbsd.sh new file mode 100644 index 00000000000..edd6216860f --- /dev/null +++ b/ld/emulparams/shelf32_nbsd.sh @@ -0,0 +1,13 @@ +# If you change this file, please alsolook at files which source this one: +# shlelf32_nbsd.sh + +. ${srcdir}/emulparams/shelf32.sh + +OUTPUT_FORMAT="elf32-sh64-nbsd" +TEXT_START_ADDR=0x400000 +MAXPAGESIZE=0x10000 + +ENTRY=__start + +unset EMBEDDED +unset STACK_ADDR diff --git a/ld/emulparams/shelf64_nbsd.sh b/ld/emulparams/shelf64_nbsd.sh new file mode 100644 index 00000000000..7a3ff21d207 --- /dev/null +++ b/ld/emulparams/shelf64_nbsd.sh @@ -0,0 +1,8 @@ +. ${srcdir}/emulparams/shelf32_nbsd.sh + +OUTPUT_FORMAT="elf64-sh64-nbsd" +ELFSIZE=64 + +# We do not need .cranges +OTHER_SECTIONS='' +EXTRA_EM_FILE= diff --git a/ld/emulparams/shlelf32_nbsd.sh b/ld/emulparams/shlelf32_nbsd.sh new file mode 100644 index 00000000000..c4abe6befb7 --- /dev/null +++ b/ld/emulparams/shlelf32_nbsd.sh @@ -0,0 +1,3 @@ +. ${srcdir}/emulparams/shelf32_nbsd.sh + +OUTPUT_FORMAT="elf32-sh64l-nbsd" diff --git a/ld/emulparams/shlelf64_nbsd.sh b/ld/emulparams/shlelf64_nbsd.sh new file mode 100644 index 00000000000..5b693c35fcf --- /dev/null +++ b/ld/emulparams/shlelf64_nbsd.sh @@ -0,0 +1,3 @@ +. ${srcdir}/emulparams/shelf64_nbsd.sh + +OUTPUT_FORMAT="elf64-sh64l-nbsd" -- cgit v1.2.3