From 99ec1f66c17e5f363b18a546da336bf3932fc41e Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 18 Feb 1994 17:09:13 +0000 Subject: [PATCH] start-sanitize-powerpc-netware Support for PowerPC NetWare. * config.bfd (powerpc-*-netware*): New target; use ppc-nlm. * config/ppc-nlm.mt: New file. * configure.in (nlm32_powerpc_vec): New target vector; use nlm32-powerpc.o, nlm32.o, nlm.o. * targets.c (nlm32_powerpc_vec): Declare. * Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o. (CFILES): Should add nlm32-powerpc.c, but didn't, because the dependencies can't be sanitized. end-sanitize-powerpc-netware Initial support for PowerPC ELF. Done without an ABI, and probably to be changed when I get an ABI. * config.bfd (powerpc-*-sysv4*): New target; use ppc-elf. * config/ppc-elf.mt: New file. * configure.in (bfd_elf32_powerpc_vec): New target vector; use elf32-powerpc.o, elf32.o, elf.o. * elf32-powerpc.c: New file. * elfcode.h (prep_headers): Add bfd_arch_powerpc case. (elf_set_arch_mach): Likewise. * targets.c (bfd_elf32_powerpc_vec): Declare. * Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o. (CFILES): Add elf32-powerpc.c. Rebuilt dependencies. --- bfd/.Sanitize | 30 ++++++++++++++++++++++++++++++ bfd/ChangeLog | 28 ++++++++++++++++++++++++++++ bfd/Makefile.in | 14 +++++++++++--- bfd/elfcode.h | 4 ++++ 4 files changed, 73 insertions(+), 3 deletions(-) diff --git a/bfd/.Sanitize b/bfd/.Sanitize index 26b7c1f3bc..c5475289a4 100644 --- a/bfd/.Sanitize +++ b/bfd/.Sanitize @@ -33,6 +33,12 @@ else lose_these_too="mpw-xconfig.in ChangeLog.gm ${lose_these_too}" fi +if ( echo $* | grep keep\-powerpc\-netware > /dev/null ) ; then + keep_these_too="nlm32-powerpc.c ${keep_these_too}" +else + lose_these_too="nlm32-powerpc.c ${lose_these_too}" +fi + # All files listed between the "Things-to-keep:" line and the # "Files-to-sed:" line will be kept. All other files will be removed. # Directories listed in this section will have their own Sanitize @@ -124,6 +130,7 @@ elf32-i860.c elf32-m68k.c elf32-m88k.c elf32-mips.c +elf32-powerpc.c elf32-sparc.c elf32-target.h elf32.c @@ -248,4 +255,27 @@ else fi +ppcfiles="ChangeLog Makefile.in configure.in config.bfd targets.c" +if ( echo $* | grep keep\-powerpc\-netware > /dev/null ) ; then + if [ -n "${verbose}" ] ; then + echo Keeping PowerPC NetWare stuff in $ppcfiles. + fi +else + if [ -n "${verbose}" ]; then + echo -n Removing PowerPC NetWare in `pwd`: + fi + for f in $ppcfiles ; do + if [ -n "${verbose}" ] ; then + echo -n " " $f + fi + sed '/start\-sanitize\-powerpc\-netware/,/end\-sanitize\-powerpc\-netware/d' < $f > new + if [ -n "${safe}" ] ; then + mv $f .Recover + fi + mv new $f + done + chmod a+x config.bfd +fi + + # End of file. diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e7a70fd8df..753b40b74a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,31 @@ +Fri Feb 18 11:41:58 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + start-sanitize-powerpc-netware + Support for PowerPC NetWare. + * config.bfd (powerpc-*-netware*): New target; use ppc-nlm. + * config/ppc-nlm.mt: New file. + * configure.in (nlm32_powerpc_vec): New target vector; use + nlm32-powerpc.o, nlm32.o, nlm.o. + * targets.c (nlm32_powerpc_vec): Declare. + * Makefile.in (BFD32_BACKENDS): Add nlm32-powerpc.o. + (CFILES): Should add nlm32-powerpc.c, but didn't, because the + dependencies can't be sanitized. + end-sanitize-powerpc-netware + + Initial support for PowerPC ELF. Done without an ABI, and + probably to be changed when I get an ABI. + * config.bfd (powerpc-*-sysv4*): New target; use ppc-elf. + * config/ppc-elf.mt: New file. + * configure.in (bfd_elf32_powerpc_vec): New target vector; use + elf32-powerpc.o, elf32.o, elf.o. + * elf32-powerpc.c: New file. + * elfcode.h (prep_headers): Add bfd_arch_powerpc case. + (elf_set_arch_mach): Likewise. + * targets.c (bfd_elf32_powerpc_vec): Declare. + * Makefile.in (BFD32_BACKENDS): Add elf32-powerpc.o. + (CFILES): Add elf32-powerpc.c. + Rebuilt dependencies. + Thu Feb 17 15:29:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) * coffgen.c (coff_write_linenumbers): Always return a value. diff --git a/bfd/Makefile.in b/bfd/Makefile.in index 05fc6f9b26..6caeba9936 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -101,6 +101,7 @@ ALL_MACHINES = \ cpu-m68k.o \ cpu-m88k.o \ cpu-mips.o \ + cpu-powerpc.o \ cpu-rs6000.o \ cpu-sh.o \ cpu-sparc.o \ @@ -138,6 +139,7 @@ BFD32_BACKENDS = \ elf32-m68k.o \ elf32-m88k.o \ elf32-mips.o \ + elf32-powerpc.o \ elf32-sparc.o \ elf32.o \ hp300hpux.o \ @@ -155,6 +157,9 @@ BFD32_BACKENDS = \ nlm.o \ nlm32-i386.o \ nlm32-sparc.o \ + $(start-sanitize-powerpc-netware) \ + nlm32-powerpc.o \ + $(end-sanitize-powerpc-netware) \ nlm32.o \ oasys.o \ reloc16.o \ @@ -221,11 +226,11 @@ CFILES = libbfd.c opncls.c bfd.c archive.c targets.c cache.c \ coff-m88k.c coff-mips.c coff-sh.c trad-core.c newsos3.c \ i386aout.c i386linux.c netbsd386.c i386mach3.c bout.c aout-adobe.c coff-we32k.c \ i386bsd.c cpu-h8300.c cpu-i960.c cpu-sparc.c cpu-m68k.c \ - cpu-m88k.c cpu-vax.c cpu-mips.c cpu-a29k.c cpu-i386.c \ + cpu-m88k.c cpu-vax.c cpu-mips.c cpu-a29k.c cpu-i386.c cpu-powerpc.c \ cpu-rs6000.c coff-h8300.c som.c cpu-hppa.c cpu-we32k.c reloc16.c \ mipsbsd.c cpu-sh.c \ elf.c elf32.c elf32-sparc.c elf32-i386.c elf32-i860.c elf32-m68k.c \ - elf32-hppa.c elf32-m88k.c elf32-mips.c elf32-gen.c \ + elf32-hppa.c elf32-m88k.c elf32-mips.c elf32-gen.c elf32-powerpc.c \ elf64.c elf64-gen.c \ nlm.c nlm32.c nlm32-i386.c nlm32-sparc.c nlm32-alpha.c \ nlm64.c coff-alpha.c cpu-alpha.c \ @@ -468,7 +473,7 @@ $(BFD_H): stmp-bfd.h ; @true # If the file is still there, kill it. stmp-bfd.h : $(srcdir)/bfd-in2.h Makefile rm -f bfd.h-new 64 ../include/bfd.h - -grep HOST_64_BIT sysdep.h > 64 + -grep BFD_HOST_64_BIT sysdep.h > 64 sed -e 's/@WORDSIZE@/$(WORDSIZE)/' -e '/64-bit.*sysdep.h/ r 64' < $(srcdir)/bfd-in2.h > bfd.h-new $(srcdir)/../move-if-change bfd.h-new $(BFD_H) rm -f 64 @@ -595,6 +600,7 @@ cpu-vax.o : cpu-vax.c cpu-mips.o : cpu-mips.c cpu-a29k.o : cpu-a29k.c cpu-i386.o : cpu-i386.c +cpu-powerpc.o : cpu-powerpc.c cpu-rs6000.o : cpu-rs6000.c coff-h8300.o : coff-h8300.c $(INCDIR)/bfdlink.h $(INCDIR)/coff/h8300.h \ $(INCDIR)/coff/internal.h libcoff.h coffcode.h coffswap.h @@ -632,6 +638,8 @@ elf32-mips.o : elf32-mips.c $(INCDIR)/bfdlink.h genlink.h \ elf32-target.h elf32-gen.o : elf32-gen.c libelf.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elf32-target.h +elf32-powerpc.o : elf32-powerpc.c libelf.h $(INCDIR)/elf/common.h \ + $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elf32-target.h elf64.o : elf64.c elfcode.h libelf.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h elf64-gen.o : elf64-gen.c libelf.h $(INCDIR)/elf/common.h \ diff --git a/bfd/elfcode.h b/bfd/elfcode.h index fa5ee7332a..46dda15106 100644 --- a/bfd/elfcode.h +++ b/bfd/elfcode.h @@ -2061,6 +2061,9 @@ prep_headers (abfd) case bfd_arch_hppa: i_ehdrp->e_machine = EM_HPPA; break; + case bfd_arch_powerpc: + i_ehdrp->e_machine = EM_CYGNUS_POWERPC; + break; /* also note that EM_M32, AT&T WE32100 is unknown to bfd */ default: i_ehdrp->e_machine = EM_NONE; @@ -3161,6 +3164,7 @@ DEFUN (elf_set_arch_mach, (abfd, arch, machine), case bfd_arch_i860: /* EM_860 */ case bfd_arch_mips: /* EM_MIPS (MIPS R3000) */ case bfd_arch_hppa: /* EM_HPPA (HP PA_RISC) */ + case bfd_arch_powerpc: /* EM_CYGNUS_POWERPC */ return bfd_default_set_arch_mach (abfd, arch, machine); default: return false;