diff options
author | Nick Clifton <nickc@redhat.com> | 2002-08-09 15:38:24 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2002-08-09 15:38:24 +0000 |
commit | 59bc061d4bf78e9c05967a6bd516f26a3880e520 (patch) | |
tree | 3224940368fa7099cfd39bcc880c8a45f83dbbf5 /bfd | |
parent | 2b692c5912c33f69e4016113c0dd039acc820d70 (diff) | |
download | gdb-59bc061d4bf78e9c05967a6bd516f26a3880e520.zip gdb-59bc061d4bf78e9c05967a6bd516f26a3880e520.tar.gz gdb-59bc061d4bf78e9c05967a6bd516f26a3880e520.tar.bz2 |
Add QNX Neutrino PowerPC support and common up QNX functions
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 17 | ||||
-rw-r--r-- | bfd/Makefile.am | 10 | ||||
-rw-r--r-- | bfd/Makefile.in | 569 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 5 | ||||
-rw-r--r-- | bfd/config.bfd | 8 | ||||
-rwxr-xr-x | bfd/configure | 30 | ||||
-rw-r--r-- | bfd/configure.in | 2 | ||||
-rw-r--r-- | bfd/doc/Makefile.in | 88 | ||||
-rw-r--r-- | bfd/elf32-i386qnx.c | 115 | ||||
-rw-r--r-- | bfd/elf32-ppc.c | 3 | ||||
-rw-r--r-- | bfd/elf32-qnx.h | 111 | ||||
-rw-r--r-- | bfd/elfarmqnx-nabi.c | 7 | ||||
-rw-r--r-- | bfd/libbfd.h | 3 | ||||
-rw-r--r-- | bfd/libcoff.h | 2 | ||||
-rw-r--r-- | bfd/targets.c | 4 |
15 files changed, 806 insertions, 168 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a1e11fa..a8f1a49 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,20 @@ +2002-08-09 Graeme Peterson <gp@qnx.com> + + * Makefile.am: Add entries for elf32-ppcqnx.c, and add + elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c. + * Makefile.in: Regenerate. + * config.bfd: Add support for powerpc{le}-*-nto targets. + * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec. + * configure: Regenerate. + * elf32-i386qnx.c: Moved backend functions into a QNX specific + common file "elf32-qnx.h", and now include that file. + * elf32-qnx.h: New file: QNX specific common elf backend. + * elf32-ppc.c: Do not include elf32-target.h if + ELF32_PPC_C_INCLUDED is defined. + * elf32-ppcqnx.c: New file: Support for QNX. + * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend. + * targets.c: Add bfd_elf32_powerpc{le}qnx_vec. + 2002-08-09 Nick Clifton <nickc@redhat.com> * po/sv.po: Updated Swedish translation. diff --git a/bfd/Makefile.am b/bfd/Makefile.am index 92f5caa..4913b73 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am @@ -232,6 +232,7 @@ BFD32_BACKENDS = \ elf32-or32.lo \ elf32-pj.lo \ elf32-ppc.lo \ + elf32-ppcqnx.lo \ elf32-s390.lo \ elf32-sh.lo \ elf32-sh-lin.lo \ @@ -390,6 +391,7 @@ BFD32_BACKENDS_CFILES = \ elf32-or32.c \ elf32-pj.c \ elf32-ppc.c \ + elf32-ppcqnx.c \ elf32-sh64.c \ elf32-sh64-com.c \ elf32-s390.c \ @@ -1101,7 +1103,7 @@ elfarm-nabi.lo: elfarm-nabi.c $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ elf32-arm.h elf32-target.h elfarmqnx-nabi.lo: elfarmqnx-nabi.c $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \ - $(INCDIR)/filenames.h elf-bfd.h $(INCDIR)/elf/common.h \ + $(INCDIR)/filenames.h elf-bfd.h elf32-qnx.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ elf32-arm.h elf32-target.h elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h elf-bfd.h \ @@ -1151,7 +1153,7 @@ elf32-i386.lo: elf32-i386.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/elf/external.h $(INCDIR)/elf/i386.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h elf32-i386qnx.lo: elf32-i386qnx.c elf32-i386.c $(INCDIR)/filenames.h \ - $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ + $(INCDIR)/bfdlink.h elf-bfd.h elf32-qnx.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/i386.h \ $(INCDIR)/elf/reloc-macros.h elf32-target.h elf32-i860.lo: elf32-i860.c $(INCDIR)/filenames.h elf-bfd.h \ @@ -1224,6 +1226,10 @@ elf32-ppc.lo: elf32-ppc.c $(INCDIR)/filenames.h $(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-ppcqnx.lo: elf32-ppcqnx.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ + elf-bfd.h elf32-qnx.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-sh64.lo: elf32-sh64.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/../opcodes/sh64-opc.h \ diff --git a/bfd/Makefile.in b/bfd/Makefile.in index 05780e5..6d80048 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -151,45 +151,529 @@ BFD_H = bfd.h # for the debugger, so if you are downloading things as S-records you # need two copies of the executable, one to download and one for the # debugger). -BFD32_LIBS = archive.lo archures.lo bfd.lo cache.lo coffgen.lo corefile.lo format.lo init.lo libbfd.lo opncls.lo reloc.lo section.lo syms.lo targets.lo hash.lo linker.lo srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo merge.lo dwarf2.lo +BFD32_LIBS = \ + archive.lo archures.lo bfd.lo cache.lo coffgen.lo corefile.lo \ + format.lo init.lo libbfd.lo opncls.lo reloc.lo \ + section.lo syms.lo targets.lo hash.lo linker.lo \ + srec.lo binary.lo tekhex.lo ihex.lo stabs.lo stab-syms.lo \ + merge.lo dwarf2.lo BFD64_LIBS = archive64.lo -BFD32_LIBS_CFILES = archive.c archures.c bfd.c cache.c coffgen.c corefile.c format.c init.c libbfd.c opncls.c reloc.c section.c syms.c targets.c hash.c linker.c srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c merge.c dwarf2.c +BFD32_LIBS_CFILES = \ + archive.c archures.c bfd.c cache.c coffgen.c corefile.c \ + format.c init.c libbfd.c opncls.c reloc.c \ + section.c syms.c targets.c hash.c linker.c \ + srec.c binary.c tekhex.c ihex.c stabs.c stab-syms.c \ + merge.c dwarf2.c BFD64_LIBS_CFILES = archive64.c # This list is alphabetized to make it easier to keep in sync # with the decls and initializer in archures.c. -ALL_MACHINES = cpu-a29k.lo cpu-alpha.lo cpu-arc.lo cpu-arm.lo cpu-avr.lo cpu-cris.lo cpu-d10v.lo cpu-d30v.lo cpu-dlx.lo cpu-fr30.lo cpu-frv.lo cpu-h8300.lo cpu-h8500.lo cpu-hppa.lo cpu-ia64.lo cpu-i370.lo cpu-i386.lo cpu-i860.lo cpu-i960.lo cpu-ip2k.lo cpu-m32r.lo cpu-m68hc11.lo cpu-m68hc12.lo cpu-m68k.lo cpu-m88k.lo cpu-m10200.lo cpu-m10300.lo cpu-mcore.lo cpu-mips.lo cpu-mmix.lo cpu-or32.lo cpu-ns32k.lo cpu-openrisc.lo cpu-pdp11.lo cpu-pj.lo cpu-powerpc.lo cpu-rs6000.lo cpu-s390.lo cpu-sh.lo cpu-sparc.lo cpu-tic30.lo cpu-tic54x.lo cpu-tic80.lo cpu-v850.lo cpu-vax.lo cpu-we32k.lo cpu-w65.lo cpu-xstormy16.lo cpu-z8k.lo - - -ALL_MACHINES_CFILES = cpu-a29k.c cpu-alpha.c cpu-arc.c cpu-arm.c cpu-avr.c cpu-cris.c cpu-d10v.c cpu-d30v.c cpu-dlx.c cpu-fr30.c cpu-frv.c cpu-h8300.c cpu-h8500.c cpu-hppa.c cpu-ia64.c cpu-i370.c cpu-i386.c cpu-i860.c cpu-i960.c cpu-ip2k.c cpu-m32r.c cpu-m68hc11.c cpu-m68hc12.c cpu-m68k.c cpu-m88k.c cpu-m10200.c cpu-m10300.c cpu-mcore.c cpu-mips.c cpu-mmix.c cpu-or32.c cpu-ns32k.c cpu-openrisc.c cpu-pdp11.c cpu-pj.c cpu-powerpc.c cpu-rs6000.c cpu-s390.c cpu-sh.c cpu-sparc.c cpu-tic30.c cpu-tic54x.c cpu-tic80.c cpu-v850.c cpu-vax.c cpu-we32k.c cpu-w65.c cpu-xstormy16.c cpu-z8k.c +ALL_MACHINES = \ + cpu-a29k.lo \ + cpu-alpha.lo \ + cpu-arc.lo \ + cpu-arm.lo \ + cpu-avr.lo \ + cpu-cris.lo \ + cpu-d10v.lo \ + cpu-d30v.lo \ + cpu-dlx.lo \ + cpu-fr30.lo \ + cpu-frv.lo \ + cpu-h8300.lo \ + cpu-h8500.lo \ + cpu-hppa.lo \ + cpu-ia64.lo \ + cpu-i370.lo \ + cpu-i386.lo \ + cpu-i860.lo \ + cpu-i960.lo \ + cpu-ip2k.lo \ + cpu-m32r.lo \ + cpu-m68hc11.lo \ + cpu-m68hc12.lo \ + cpu-m68k.lo \ + cpu-m88k.lo \ + cpu-m10200.lo \ + cpu-m10300.lo \ + cpu-mcore.lo \ + cpu-mips.lo \ + cpu-mmix.lo \ + cpu-or32.lo \ + cpu-ns32k.lo \ + cpu-openrisc.lo \ + cpu-pdp11.lo \ + cpu-pj.lo \ + cpu-powerpc.lo \ + cpu-rs6000.lo \ + cpu-s390.lo \ + cpu-sh.lo \ + cpu-sparc.lo \ + cpu-tic30.lo \ + cpu-tic54x.lo \ + cpu-tic80.lo \ + cpu-v850.lo \ + cpu-vax.lo \ + cpu-we32k.lo \ + cpu-w65.lo \ + cpu-xstormy16.lo \ + cpu-z8k.lo + + +ALL_MACHINES_CFILES = \ + cpu-a29k.c \ + cpu-alpha.c \ + cpu-arc.c \ + cpu-arm.c \ + cpu-avr.c \ + cpu-cris.c \ + cpu-d10v.c \ + cpu-d30v.c \ + cpu-dlx.c \ + cpu-fr30.c \ + cpu-frv.c \ + cpu-h8300.c \ + cpu-h8500.c \ + cpu-hppa.c \ + cpu-ia64.c \ + cpu-i370.c \ + cpu-i386.c \ + cpu-i860.c \ + cpu-i960.c \ + cpu-ip2k.c \ + cpu-m32r.c \ + cpu-m68hc11.c \ + cpu-m68hc12.c \ + cpu-m68k.c \ + cpu-m88k.c \ + cpu-m10200.c \ + cpu-m10300.c \ + cpu-mcore.c \ + cpu-mips.c \ + cpu-mmix.c \ + cpu-or32.c \ + cpu-ns32k.c \ + cpu-openrisc.c \ + cpu-pdp11.c \ + cpu-pj.c \ + cpu-powerpc.c \ + cpu-rs6000.c \ + cpu-s390.c \ + cpu-sh.c \ + cpu-sparc.c \ + cpu-tic30.c \ + cpu-tic54x.c \ + cpu-tic80.c \ + cpu-v850.c \ + cpu-vax.c \ + cpu-we32k.c \ + cpu-w65.c \ + cpu-xstormy16.c \ + cpu-z8k.c # The .o files needed by all of the 32 bit vectors that are configured into # target_vector in targets.c if configured with --enable-targets=all. -BFD32_BACKENDS = aout-adobe.lo aout-arm.lo aout-cris.lo aout-ns32k.lo aout-sparcle.lo aout-tic30.lo aout0.lo aout32.lo armnetbsd.lo bout.lo cf-i386lynx.lo cf-m68klynx.lo cf-sparclynx.lo coff-a29k.lo coff-apollo.lo coff-arm.lo coff-aux.lo coff-h8300.lo coff-h8500.lo coff-i386.lo coff-go32.lo coff-i860.lo coff-i960.lo coff-m68k.lo coff-m88k.lo coff-mips.lo coff-or32.lo coff-rs6000.lo coff-sh.lo coff-sparc.lo coff-stgo32.lo coff-svm68k.lo coff-tic30.lo coff-tic54x.lo coff-tic80.lo coff-u68k.lo coff-we32k.lo coff-w65.lo coff-z8k.lo cofflink.lo dwarf1.lo ecoff.lo ecofflink.lo efi-app-ia32.lo elf.lo elf32-arc.lo elfarm-oabi.lo elfarm-nabi.lo elfarmqnx-nabi.lo elf32-avr.lo elf32-cris.lo elf32-d10v.lo elf32-d30v.lo elf32-dlx.lo elf32-fr30.lo elf32-frv.lo elf32-gen.lo elf32-h8300.lo elf32-hppa.lo elf32-i370.lo elf32-i386.lo elf32-i386qnx.lo elf32-i860.lo elf32-i960.lo elf32-ia64.lo elf32-ip2k.lo elf32-m32r.lo elf32-m68hc11.lo elf32-m68hc12.lo elf32-m68k.lo elf32-m88k.lo elf-m10200.lo elf-m10300.lo elf32-mcore.lo elfxx-mips.lo elf32-mips.lo elf32-openrisc.lo elf32-or32.lo elf32-pj.lo elf32-ppc.lo elf32-s390.lo elf32-sh.lo elf32-sh-lin.lo elf32-sh64.lo elf32-sh64-com.lo elf32-sh-nbsd.lo elf32-sh64-nbsd.lo elf32-sparc.lo elf32-v850.lo elf32-vax.lo elf32-xstormy16.lo elf32.lo elflink.lo elf-strtab.lo elf-eh-frame.lo epoc-pe-arm.lo epoc-pei-arm.lo hp300bsd.lo hp300hpux.lo som.lo i386aout.lo i386bsd.lo i386dynix.lo i386freebsd.lo i386linux.lo i386lynx.lo i386msdos.lo i386netbsd.lo i386mach3.lo i386os9k.lo ieee.lo m68k4knetbsd.lo m68klinux.lo m68klynx.lo m68knetbsd.lo m88kmach3.lo mipsbsd.lo newsos3.lo nlm.lo nlm32-i386.lo nlm32-sparc.lo nlm32-ppc.lo nlm32.lo ns32knetbsd.lo oasys.lo pc532-mach.lo pdp11.lo pe-arm.lo pei-arm.lo pe-i386.lo pei-i386.lo pe-mcore.lo pei-mcore.lo pe-ppc.lo pei-ppc.lo pe-sh.lo pei-sh.lo pe-mips.lo pei-mips.lo peigen.lo ppcboot.lo reloc16.lo riscix.lo sparclinux.lo sparclynx.lo sparcnetbsd.lo sunos.lo vaxnetbsd.lo vax1knetbsd.lo vaxbsd.lo versados.lo vms.lo vms-gsd.lo vms-hdr.lo vms-misc.lo vms-tir.lo xcofflink.lo - - -BFD32_BACKENDS_CFILES = aout-adobe.c aout-arm.c aout-cris.c aout-ns32k.c aout-sparcle.c aout-tic30.c aout0.c aout32.c armnetbsd.c bout.c cf-i386lynx.c cf-m68klynx.c cf-sparclynx.c coff-a29k.c coff-apollo.c coff-arm.c coff-aux.c coff-h8300.c coff-h8500.c coff-i386.c coff-i860.c coff-go32.c coff-i960.c coff-m68k.c coff-m88k.c coff-mips.c coff-or32.c coff-rs6000.c coff-sh.c coff-sparc.c coff-stgo32.c coff-svm68k.c coff-tic30.c coff-tic54x.c coff-tic80.c coff-u68k.c coff-we32k.c coff-w65.c coff-z8k.c cofflink.c dwarf1.c ecoff.c ecofflink.c efi-app-ia32.c elf.c elf32-arc.c elfarm-oabi.c elfarm-nabi.c elfarmqnx-nabi.c elf32-avr.c elf32-cris.c elf32-d10v.c elf32-d30v.c elf32-dlx.c elf32-fr30.c elf32-frv.c elf32-gen.c elf32-h8300.c elf32-hppa.c elf32-i370.c elf32-i386.c elf32-i386qnx.c elf32-i860.c elf32-i960.c elf32-ip2k.c elf32-m32r.c elf32-m68k.c elf32-m68hc11.c elf32-m68hc12.c elf32-m88k.c elf-m10200.c elf-m10300.c elf32-mcore.c elfxx-mips.c elf32-mips.c elf32-openrisc.c elf32-or32.c elf32-pj.c elf32-ppc.c elf32-sh64.c elf32-sh64-com.c elf32-s390.c elf32-sh.c elf32-sh-lin.c elf32-sh-nbsd.c elf32-sh64-nbsd.c elf32-sparc.c elf32-v850.c elf32-vax.c elf32-xstormy16.c elf32.c elflink.c elf-strtab.c elf-eh-frame.c epoc-pe-arm.c epoc-pei-arm.c hp300bsd.c hp300hpux.c som.c i386aout.c i386bsd.c i386dynix.c i386freebsd.c i386linux.c i386lynx.c i386msdos.c i386netbsd.c i386mach3.c i386os9k.c ieee.c m68k4knetbsd.c m68klinux.c m68klynx.c m68knetbsd.c m88kmach3.c mipsbsd.c newsos3.c nlm.c nlm32-i386.c nlm32-sparc.c nlm32-ppc.c nlm32.c ns32knetbsd.c oasys.c pc532-mach.c pdp11.c pe-arm.c pei-arm.c pe-i386.c pei-i386.c pe-mcore.c pei-mcore.c pe-ppc.c pei-ppc.c pe-sh.c pei-sh.c pe-mips.c pei-mips.c ppcboot.c reloc16.c riscix.c sparclinux.c sparclynx.c sparcnetbsd.c sunos.c vaxnetbsd.c vax1knetbsd.c vaxbsd.c versados.c vms.c vms-gsd.c vms-hdr.c vms-misc.c vms-tir.c xcofflink.c +BFD32_BACKENDS = \ + aout-adobe.lo \ + aout-arm.lo \ + aout-cris.lo \ + aout-ns32k.lo \ + aout-sparcle.lo \ + aout-tic30.lo \ + aout0.lo \ + aout32.lo \ + armnetbsd.lo \ + bout.lo \ + cf-i386lynx.lo \ + cf-m68klynx.lo \ + cf-sparclynx.lo \ + coff-a29k.lo \ + coff-apollo.lo \ + coff-arm.lo \ + coff-aux.lo \ + coff-h8300.lo \ + coff-h8500.lo \ + coff-i386.lo \ + coff-go32.lo \ + coff-i860.lo \ + coff-i960.lo \ + coff-m68k.lo \ + coff-m88k.lo \ + coff-mips.lo \ + coff-or32.lo \ + coff-rs6000.lo \ + coff-sh.lo \ + coff-sparc.lo \ + coff-stgo32.lo \ + coff-svm68k.lo \ + coff-tic30.lo \ + coff-tic54x.lo \ + coff-tic80.lo \ + coff-u68k.lo \ + coff-we32k.lo \ + coff-w65.lo \ + coff-z8k.lo \ + cofflink.lo \ + dwarf1.lo \ + ecoff.lo \ + ecofflink.lo \ + efi-app-ia32.lo \ + elf.lo \ + elf32-arc.lo \ + elfarm-oabi.lo \ + elfarm-nabi.lo \ + elfarmqnx-nabi.lo \ + elf32-avr.lo \ + elf32-cris.lo \ + elf32-d10v.lo \ + elf32-d30v.lo \ + elf32-dlx.lo \ + elf32-fr30.lo \ + elf32-frv.lo \ + elf32-gen.lo \ + elf32-h8300.lo \ + elf32-hppa.lo \ + elf32-i370.lo \ + elf32-i386.lo \ + elf32-i386qnx.lo \ + elf32-i860.lo \ + elf32-i960.lo \ + elf32-ia64.lo \ + elf32-ip2k.lo \ + elf32-m32r.lo \ + elf32-m68hc11.lo \ + elf32-m68hc12.lo \ + elf32-m68k.lo \ + elf32-m88k.lo \ + elf-m10200.lo \ + elf-m10300.lo \ + elf32-mcore.lo \ + elfxx-mips.lo \ + elf32-mips.lo \ + elf32-openrisc.lo \ + elf32-or32.lo \ + elf32-pj.lo \ + elf32-ppc.lo \ + elf32-ppcqnx.lo \ + elf32-s390.lo \ + elf32-sh.lo \ + elf32-sh-lin.lo \ + elf32-sh64.lo \ + elf32-sh64-com.lo \ + elf32-sh-nbsd.lo \ + elf32-sh64-nbsd.lo \ + elf32-sparc.lo \ + elf32-v850.lo \ + elf32-vax.lo \ + elf32-xstormy16.lo \ + elf32.lo \ + elflink.lo \ + elf-strtab.lo \ + elf-eh-frame.lo \ + epoc-pe-arm.lo \ + epoc-pei-arm.lo \ + hp300bsd.lo \ + hp300hpux.lo \ + som.lo \ + i386aout.lo \ + i386bsd.lo \ + i386dynix.lo \ + i386freebsd.lo \ + i386linux.lo \ + i386lynx.lo \ + i386msdos.lo \ + i386netbsd.lo \ + i386mach3.lo \ + i386os9k.lo \ + ieee.lo \ + m68k4knetbsd.lo \ + m68klinux.lo \ + m68klynx.lo \ + m68knetbsd.lo \ + m88kmach3.lo \ + mipsbsd.lo \ + newsos3.lo \ + nlm.lo \ + nlm32-i386.lo \ + nlm32-sparc.lo \ + nlm32-ppc.lo \ + nlm32.lo \ + ns32knetbsd.lo \ + oasys.lo \ + pc532-mach.lo \ + pdp11.lo \ + pe-arm.lo \ + pei-arm.lo \ + pe-i386.lo \ + pei-i386.lo \ + pe-mcore.lo \ + pei-mcore.lo \ + pe-ppc.lo \ + pei-ppc.lo \ + pe-sh.lo \ + pei-sh.lo \ + pe-mips.lo \ + pei-mips.lo \ + peigen.lo \ + ppcboot.lo \ + reloc16.lo \ + riscix.lo \ + sparclinux.lo \ + sparclynx.lo \ + sparcnetbsd.lo \ + sunos.lo \ + vaxnetbsd.lo \ + vax1knetbsd.lo \ + vaxbsd.lo \ + versados.lo \ + vms.lo \ + vms-gsd.lo \ + vms-hdr.lo \ + vms-misc.lo \ + vms-tir.lo \ + xcofflink.lo + + +BFD32_BACKENDS_CFILES = \ + aout-adobe.c \ + aout-arm.c \ + aout-cris.c \ + aout-ns32k.c \ + aout-sparcle.c \ + aout-tic30.c \ + aout0.c \ + aout32.c \ + armnetbsd.c \ + bout.c \ + cf-i386lynx.c \ + cf-m68klynx.c \ + cf-sparclynx.c \ + coff-a29k.c \ + coff-apollo.c \ + coff-arm.c \ + coff-aux.c \ + coff-h8300.c \ + coff-h8500.c \ + coff-i386.c \ + coff-i860.c \ + coff-go32.c \ + coff-i960.c \ + coff-m68k.c \ + coff-m88k.c \ + coff-mips.c \ + coff-or32.c \ + coff-rs6000.c \ + coff-sh.c \ + coff-sparc.c \ + coff-stgo32.c \ + coff-svm68k.c \ + coff-tic30.c \ + coff-tic54x.c \ + coff-tic80.c \ + coff-u68k.c \ + coff-we32k.c \ + coff-w65.c \ + coff-z8k.c \ + cofflink.c \ + dwarf1.c \ + ecoff.c \ + ecofflink.c \ + efi-app-ia32.c \ + elf.c \ + elf32-arc.c \ + elfarm-oabi.c \ + elfarm-nabi.c \ + elfarmqnx-nabi.c \ + elf32-avr.c \ + elf32-cris.c \ + elf32-d10v.c \ + elf32-d30v.c \ + elf32-dlx.c \ + elf32-fr30.c \ + elf32-frv.c \ + elf32-gen.c \ + elf32-h8300.c \ + elf32-hppa.c \ + elf32-i370.c \ + elf32-i386.c \ + elf32-i386qnx.c \ + elf32-i860.c \ + elf32-i960.c \ + elf32-ip2k.c \ + elf32-m32r.c \ + elf32-m68k.c \ + elf32-m68hc11.c \ + elf32-m68hc12.c \ + elf32-m88k.c \ + elf-m10200.c \ + elf-m10300.c \ + elf32-mcore.c \ + elfxx-mips.c \ + elf32-mips.c \ + elf32-openrisc.c \ + elf32-or32.c \ + elf32-pj.c \ + elf32-ppc.c \ + elf32-ppcqnx.c \ + elf32-sh64.c \ + elf32-sh64-com.c \ + elf32-s390.c \ + elf32-sh.c \ + elf32-sh-lin.c \ + elf32-sh-nbsd.c \ + elf32-sh64-nbsd.c \ + elf32-sparc.c \ + elf32-v850.c \ + elf32-vax.c \ + elf32-xstormy16.c \ + elf32.c \ + elflink.c \ + elf-strtab.c \ + elf-eh-frame.c \ + epoc-pe-arm.c \ + epoc-pei-arm.c \ + hp300bsd.c \ + hp300hpux.c \ + som.c \ + i386aout.c \ + i386bsd.c \ + i386dynix.c \ + i386freebsd.c \ + i386linux.c \ + i386lynx.c \ + i386msdos.c \ + i386netbsd.c \ + i386mach3.c \ + i386os9k.c \ + ieee.c \ + m68k4knetbsd.c \ + m68klinux.c \ + m68klynx.c \ + m68knetbsd.c \ + m88kmach3.c \ + mipsbsd.c \ + newsos3.c \ + nlm.c \ + nlm32-i386.c \ + nlm32-sparc.c \ + nlm32-ppc.c \ + nlm32.c \ + ns32knetbsd.c \ + oasys.c \ + pc532-mach.c \ + pdp11.c \ + pe-arm.c \ + pei-arm.c \ + pe-i386.c \ + pei-i386.c \ + pe-mcore.c \ + pei-mcore.c \ + pe-ppc.c \ + pei-ppc.c \ + pe-sh.c \ + pei-sh.c \ + pe-mips.c \ + pei-mips.c \ + ppcboot.c \ + reloc16.c \ + riscix.c \ + sparclinux.c \ + sparclynx.c \ + sparcnetbsd.c \ + sunos.c \ + vaxnetbsd.c \ + vax1knetbsd.c \ + vaxbsd.c \ + versados.c \ + vms.c \ + vms-gsd.c \ + vms-hdr.c \ + vms-misc.c \ + vms-tir.c \ + xcofflink.c # The .o files needed by all of the 64 bit vectors that are configured into # target_vector in targets.c if configured with --enable-targets=all # and --enable-64-bit-bfd. -BFD64_BACKENDS = aix5ppc-core.lo aout64.lo coff-alpha.lo coff64-rs6000.lo demo64.lo efi-app-ia64.lo elf64-x86-64.lo elf64-alpha.lo elf64-hppa.lo elf64-ia64.lo elf64-gen.lo elfn32-mips.lo elf64-mips.lo elf64-mmix.lo elf64-sh64.lo elf64-sh64-nbsd.lo elf64-ppc.lo elf64-s390.lo elf64-sparc.lo elf64.lo mmo.lo nlm32-alpha.lo nlm64.lo pepigen.lo - - -BFD64_BACKENDS_CFILES = aix5ppc-core.c aout64.c coff-alpha.c coff64-rs6000.c demo64.c efi-app-ia64.c elf64-x86-64.c elf64-alpha.c elf64-hppa.c elf64-gen.c elfn32-mips.c elf64-mips.c elf64-mmix.c elf64-ppc.c elf64-s390.c elf64-sh64.c elf64-sh64-nbsd.c elf64-sparc.c elf64.c mmo.c nlm32-alpha.c nlm64.c - - -OPTIONAL_BACKENDS = aix386-core.lo hpux-core.lo irix-core.lo lynx-core.lo osf-core.lo sco5-core.lo trad-core.lo cisco-core.lo - - -OPTIONAL_BACKENDS_CFILES = aix386-core.c hpux-core.c irix-core.c lynx-core.c osf-core.c sco5-core.c trad-core.c cisco-core.c +BFD64_BACKENDS = \ + aix5ppc-core.lo \ + aout64.lo \ + coff-alpha.lo \ + coff64-rs6000.lo \ + demo64.lo \ + efi-app-ia64.lo \ + elf64-x86-64.lo \ + elf64-alpha.lo \ + elf64-hppa.lo \ + elf64-ia64.lo \ + elf64-gen.lo \ + elfn32-mips.lo \ + elf64-mips.lo \ + elf64-mmix.lo \ + elf64-sh64.lo \ + elf64-sh64-nbsd.lo \ + elf64-ppc.lo \ + elf64-s390.lo \ + elf64-sparc.lo \ + elf64.lo \ + mmo.lo \ + nlm32-alpha.lo \ + nlm64.lo \ + pepigen.lo + + +BFD64_BACKENDS_CFILES = \ + aix5ppc-core.c \ + aout64.c \ + coff-alpha.c \ + coff64-rs6000.c \ + demo64.c \ + efi-app-ia64.c \ + elf64-x86-64.c \ + elf64-alpha.c \ + elf64-hppa.c \ + elf64-gen.c \ + elfn32-mips.c \ + elf64-mips.c \ + elf64-mmix.c \ + elf64-ppc.c \ + elf64-s390.c \ + elf64-sh64.c \ + elf64-sh64-nbsd.c \ + elf64-sparc.c \ + elf64.c \ + mmo.c \ + nlm32-alpha.c \ + nlm64.c + + +OPTIONAL_BACKENDS = \ + aix386-core.lo \ + hpux-core.lo \ + irix-core.lo \ + lynx-core.lo \ + osf-core.lo \ + sco5-core.lo \ + trad-core.lo \ + cisco-core.lo + + +OPTIONAL_BACKENDS_CFILES = \ + aix386-core.c \ + hpux-core.c \ + irix-core.c \ + lynx-core.c \ + osf-core.c \ + sco5-core.c \ + trad-core.c \ + cisco-core.c # These are defined by configure.in: @@ -203,18 +687,33 @@ TDEFAULTS = @tdefaults@ INCLUDES = -D_GNU_SOURCE @HDEFINES@ @COREFLAG@ @TDEFINES@ $(CSEARCH) $(CSWITCHES) -I$(srcdir)/../intl -I../intl # C source files that correspond to .o's. -SOURCE_CFILES = $(BFD32_LIBS_CFILES) $(BFD64_LIBS_CFILES) $(ALL_MACHINES_CFILES) $(BFD32_BACKENDS_CFILES) $(BFD64_BACKENDS_CFILES) $(OPTIONAL_BACKENDS_CFILES) +SOURCE_CFILES = \ + $(BFD32_LIBS_CFILES) \ + $(BFD64_LIBS_CFILES) \ + $(ALL_MACHINES_CFILES) \ + $(BFD32_BACKENDS_CFILES) \ + $(BFD64_BACKENDS_CFILES) \ + $(OPTIONAL_BACKENDS_CFILES) -BUILD_CFILES = elf32-ia64.c elf64-ia64.c peigen.c pepigen.c +BUILD_CFILES = \ + elf32-ia64.c elf64-ia64.c peigen.c pepigen.c CFILES = $(SOURCE_CFILES) $(BUILD_CFILES) -SOURCE_HFILES = aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h elf-bfd.h elf-hppa.h elf32-arm.h elf32-hppa.h elf64-hppa.h elfcode.h elfcore.h elflink.h freebsd.h genlink.h go32stub.h libaout.h libbfd.h libcoff.h libecoff.h libhppa.h libieee.h libnlm.h liboasys.h libpei.h netbsd.h nlm-target.h nlmcode.h nlmswap.h ns32k.h peicode.h som.h vms.h libxcoff.h xcoff-target.h version.h +SOURCE_HFILES = \ + aout-target.h aoutf1.h aoutx.h coffcode.h coffswap.h ecoffswap.h \ + elf-bfd.h elf-hppa.h elf32-arm.h elf32-hppa.h elf64-hppa.h \ + elfcode.h elfcore.h elflink.h freebsd.h genlink.h go32stub.h \ + libaout.h libbfd.h libcoff.h libecoff.h libhppa.h \ + libieee.h libnlm.h liboasys.h libpei.h netbsd.h nlm-target.h \ + nlmcode.h nlmswap.h ns32k.h peicode.h som.h vms.h libxcoff.h \ + xcoff-target.h version.h -BUILD_HFILES = elf32-target.h elf64-target.h targmatch.h +BUILD_HFILES = \ + elf32-target.h elf64-target.h targmatch.h HFILES = $(SOURCE_HFILES) $(BUILD_HFILES) @@ -244,7 +743,8 @@ libbfd_a_SOURCES = BFD_H_DEPS = $(INCDIR)/ansidecl.h $(INCDIR)/symcat.h LOCAL_H_DEPS = libbfd.h sysdep.h config.h -BFD_H_FILES = bfd-in.h init.c opncls.c libbfd.c section.c archures.c reloc.c syms.c bfd.c archive.c corefile.c targets.c format.c version.h +BFD_H_FILES = bfd-in.h init.c opncls.c libbfd.c section.c archures.c \ + reloc.c syms.c bfd.c archive.c corefile.c targets.c format.c version.h BFD64_H_FILES = archive64.c LIBBFD_H_FILES = libbfd-in.h init.c libbfd.c cache.c reloc.c archures.c elf.c @@ -252,7 +752,8 @@ LIBCOFF_H_FILES = libcoff-in.h coffcode.h MOSTLYCLEANFILES = ofiles stamp-ofiles -CLEANFILES = bfd.h dep.sed stmp-bfd-h DEP DEPA DEP1 DEP2 libbfd.a stamp-lib stmp-bin2-h stmp-lbfd-h stmp-lcoff-h +CLEANFILES = bfd.h dep.sed stmp-bfd-h DEP DEPA DEP1 DEP2 libbfd.a stamp-lib \ + stmp-bin2-h stmp-lbfd-h stmp-lcoff-h DISTCLEANFILES = $(BUILD_CFILES) $(BUILD_HFILES) @@ -287,7 +788,7 @@ configure.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best SOURCES = $(libbfd_a_SOURCES) $(libbfd_la_SOURCES) OBJECTS = $(libbfd_a_OBJECTS) $(libbfd_la_OBJECTS) @@ -438,7 +939,7 @@ maintainer-clean-recursive: dot_seen=no; \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev="$$subdir $$rev"; \ - test "$$subdir" = "." && dot_seen=yes; \ + test "$$subdir" != "." || dot_seen=yes; \ done; \ test "$$dot_seen" = "no" && rev=". $$rev"; \ target=`echo $@ | sed s/-recursive//`; \ @@ -1132,7 +1633,7 @@ elfarm-nabi.lo: elfarm-nabi.c $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ elf32-arm.h elf32-target.h elfarmqnx-nabi.lo: elfarmqnx-nabi.c $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \ - $(INCDIR)/filenames.h elf-bfd.h $(INCDIR)/elf/common.h \ + $(INCDIR)/filenames.h elf-bfd.h elf32-qnx.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ elf32-arm.h elf32-target.h elf32-avr.lo: elf32-avr.c $(INCDIR)/filenames.h elf-bfd.h \ @@ -1182,7 +1683,7 @@ elf32-i386.lo: elf32-i386.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ $(INCDIR)/elf/external.h $(INCDIR)/elf/i386.h $(INCDIR)/elf/reloc-macros.h \ elf32-target.h elf32-i386qnx.lo: elf32-i386qnx.c elf32-i386.c $(INCDIR)/filenames.h \ - $(INCDIR)/bfdlink.h elf-bfd.h $(INCDIR)/elf/common.h \ + $(INCDIR)/bfdlink.h elf-bfd.h elf32-qnx.h $(INCDIR)/elf/common.h \ $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/elf/i386.h \ $(INCDIR)/elf/reloc-macros.h elf32-target.h elf32-i860.lo: elf32-i860.c $(INCDIR)/filenames.h elf-bfd.h \ @@ -1255,6 +1756,10 @@ elf32-ppc.lo: elf32-ppc.c $(INCDIR)/filenames.h $(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-ppcqnx.lo: elf32-ppcqnx.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ + elf-bfd.h elf32-qnx.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-sh64.lo: elf32-sh64.c $(INCDIR)/filenames.h elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/../opcodes/sh64-opc.h \ diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index da3307d..bb5fef0 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -1,6 +1,7 @@ /* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically - generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c" and - "section.c". + generated from "bfd-in.h", "init.c", "opncls.c", "libbfd.c", + "section.c", "archures.c", "reloc.c", "syms.c", "bfd.c", "archive.c", + "corefile.c", "targets.c" and "format.c". Run "make headers" in your build bfd/ to regenerate. */ /* Main header file for the bfd library -- portable access to object files. diff --git a/bfd/config.bfd b/bfd/config.bfd index bfd26f1..efc3655 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -870,6 +870,14 @@ case "${targ}" in targ_defvec=bfd_elf32_powerpc_vec targ_selvecs="nlm32_powerpc_vec rs6000coff_vec" ;; + powerpc-*-nto*) + targ_defvec=bfd_elf32_powerpcqnx_vec + targ_selvecs="rs6000coff_vec bfd_elf32_powerpcleqnx_vec ppcboot_vec" + ;; + powerpcle-*-nto*) + targ_defvec=bfd_elf32_powerpcleqnx_vec + targ_selvecs="rs6000coff_vec bfd_elf32_powerpcqnx_vec ppcboot_vec" + ;; powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\ powerpcle-*-rtems*) diff --git a/bfd/configure b/bfd/configure index 12e843b..34a8f31 100755 --- a/bfd/configure +++ b/bfd/configure @@ -6108,6 +6108,8 @@ do bfd_elf32_pjl_vec) tb="$tb elf32-pj.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_powerpcleqnx_vec) tb="$tb elf32-ppcqnx.lo elf32-ppc.lo elf32.lo $elf" ;; + bfd_elf32_powerpcqnx_vec) tb="$tb elf32-ppcqnx.lo elf32-ppc.lo elf32.lo $elf" ;; bfd_elf32_s390_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;; # FIXME: We include cofflink.lo not because it's needed for # bfd_elf32_sh64[l]_vec, but because we include bfd_elf32_sh[l]_vec @@ -6328,10 +6330,10 @@ case ${host64}-${target64}-${want64} in if test -n "$GCC" ; then bad_64bit_gcc=no; echo $ac_n "checking for gcc version with buggy 64-bit support""... $ac_c" 1>&6 -echo "configure:6332: checking for gcc version with buggy 64-bit support" >&5 +echo "configure:6334: checking for gcc version with buggy 64-bit support" >&5 # Add more tests for gcc versions with non-working 64-bit support here. cat > conftest.$ac_ext <<EOF -#line 6335 "configure" +#line 6337 "configure" #include "confdefs.h" :__GNUC__:__GNUC_MINOR__:__i386__: EOF @@ -6376,17 +6378,17 @@ for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:6380: checking for $ac_hdr" >&5 +echo "configure:6382: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6385 "configure" +#line 6387 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:6390: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:6392: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -6415,12 +6417,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6419: checking for $ac_func" >&5 +echo "configure:6421: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6424 "configure" +#line 6426 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6443,7 +6445,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6447: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6468,7 +6470,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:6472: checking for working mmap" >&5 +echo "configure:6474: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -6476,7 +6478,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <<EOF -#line 6480 "configure" +#line 6482 "configure" #include "confdefs.h" /* Thanks to Mike Haertel and Jim Avera for this test. @@ -6629,7 +6631,7 @@ main() } EOF -if { (eval echo configure:6633: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:6635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -6654,12 +6656,12 @@ fi for ac_func in madvise mprotect do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:6658: checking for $ac_func" >&5 +echo "configure:6660: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 6663 "configure" +#line 6665 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -6682,7 +6684,7 @@ $ac_func(); ; return 0; } EOF -if { (eval echo configure:6686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else diff --git a/bfd/configure.in b/bfd/configure.in index 9c86549..84cea63 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -609,6 +609,8 @@ do bfd_elf32_pjl_vec) tb="$tb elf32-pj.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_powerpcleqnx_vec) tb="$tb elf32-ppcqnx.lo elf32-ppc.lo elf32.lo $elf" ;; + bfd_elf32_powerpcqnx_vec) tb="$tb elf32-ppcqnx.lo elf32-ppc.lo elf32.lo $elf" ;; bfd_elf32_s390_vec) tb="$tb elf32-s390.lo elf32.lo $elf" ;; # FIXME: We include cofflink.lo not because it's needed for # bfd_elf32_sh64[l]_vec, but because we include bfd_elf32_sh[l]_vec diff --git a/bfd/doc/Makefile.in b/bfd/doc/Makefile.in index 3da8a9b..66a19d1 100644 --- a/bfd/doc/Makefile.in +++ b/bfd/doc/Makefile.in @@ -1,6 +1,6 @@ -# Makefile.in generated automatically by automake 1.4-p4 from Makefile.am +# Makefile.in generated automatically by automake 1.4-p5 from Makefile.am -# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -129,10 +129,19 @@ wordsize = @wordsize@ AUTOMAKE_OPTIONS = cygnus -DOCFILES = aoutx.texi archive.texi archures.texi bfdt.texi cache.texi coffcode.texi core.texi elf.texi elfcode.texi format.texi libbfd.texi opncls.texi reloc.texi section.texi syms.texi targets.texi init.texi hash.texi linker.texi mmo.texi +DOCFILES = aoutx.texi archive.texi archures.texi \ + bfdt.texi cache.texi coffcode.texi \ + core.texi elf.texi elfcode.texi format.texi libbfd.texi \ + opncls.texi reloc.texi section.texi \ + syms.texi targets.texi init.texi hash.texi linker.texi \ + mmo.texi -PROTOS = archive.p archures.p bfd.p core.p format.p libbfd.p opncls.p reloc.p section.p syms.p targets.p format.p core.p init.p +PROTOS = archive.p archures.p bfd.p \ + core.p format.p \ + libbfd.p opncls.p reloc.p \ + section.p syms.p targets.p \ + format.p core.p init.p IPROTOS = cache.ip libbfd.ip reloc.ip init.ip archures.ip coffcode.ip @@ -140,13 +149,30 @@ IPROTOS = cache.ip libbfd.ip reloc.ip init.ip archures.ip coffcode.ip # SRCDOC, SRCPROT, SRCIPROT only used to sidestep Sun Make bug in interaction # between VPATH and suffix rules. If you use GNU Make, perhaps other Makes, # you don't need these three: -SRCDOC = $(srcdir)/../aoutx.h $(srcdir)/../archive.c $(srcdir)/../archures.c $(srcdir)/../bfd.c $(srcdir)/../cache.c $(srcdir)/../coffcode.h $(srcdir)/../corefile.c $(srcdir)/../elf.c $(srcdir)/../elfcode.h $(srcdir)/../format.c $(srcdir)/../libbfd.c $(srcdir)/../opncls.c $(srcdir)/../reloc.c $(srcdir)/../section.c $(srcdir)/../syms.c $(srcdir)/../targets.c $(srcdir)/../hash.c $(srcdir)/../linker.c $(srcdir)/../mmo.c +SRCDOC = $(srcdir)/../aoutx.h $(srcdir)/../archive.c \ + $(srcdir)/../archures.c $(srcdir)/../bfd.c \ + $(srcdir)/../cache.c $(srcdir)/../coffcode.h \ + $(srcdir)/../corefile.c $(srcdir)/../elf.c \ + $(srcdir)/../elfcode.h $(srcdir)/../format.c \ + $(srcdir)/../libbfd.c $(srcdir)/../opncls.c \ + $(srcdir)/../reloc.c $(srcdir)/../section.c \ + $(srcdir)/../syms.c $(srcdir)/../targets.c \ + $(srcdir)/../hash.c $(srcdir)/../linker.c \ + $(srcdir)/../mmo.c -SRCPROT = $(srcdir)/../archive.c $(srcdir)/../archures.c $(srcdir)/../bfd.c $(srcdir)/../coffcode.h $(srcdir)/../corefile.c $(srcdir)/../format.c $(srcdir)/../libbfd.c $(srcdir)/../opncls.c $(srcdir)/../reloc.c $(srcdir)/../section.c $(srcdir)/../syms.c $(srcdir)/../targets.c $(srcdir)/../init.c +SRCPROT = $(srcdir)/../archive.c $(srcdir)/../archures.c \ + $(srcdir)/../bfd.c $(srcdir)/../coffcode.h $(srcdir)/../corefile.c \ + $(srcdir)/../format.c $(srcdir)/../libbfd.c \ + $(srcdir)/../opncls.c $(srcdir)/../reloc.c \ + $(srcdir)/../section.c $(srcdir)/../syms.c \ + $(srcdir)/../targets.c $(srcdir)/../init.c -SRCIPROT = $(srcdir)/../cache.c $(srcdir)/../libbfd.c $(srcdir)/../reloc.c $(srcdir)/../cpu-h8300.c $(srcdir)/../cpu-i960.c $(srcdir)/../archures.c $(srcdir)/../init.c +SRCIPROT = $(srcdir)/../cache.c $(srcdir)/../libbfd.c \ + $(srcdir)/../reloc.c $(srcdir)/../cpu-h8300.c \ + $(srcdir)/../cpu-i960.c $(srcdir)/../archures.c \ + $(srcdir)/../init.c TEXIDIR = $(srcdir)/../../texinfo/fsf @@ -155,13 +181,45 @@ info_TEXINFOS = bfd.texinfo MKDOC = chew$(EXEEXT_FOR_BUILD) -LIBBFD_H_DEP = $(srcdir)/../libbfd-in.h $(srcdir)/../init.c $(srcdir)/../libbfd.c $(srcdir)/../cache.c $(srcdir)/../reloc.c $(srcdir)/../archures.c $(srcdir)/../elf.c $(srcdir)/header.sed $(srcdir)/proto.str $(MKDOC) - - -LIBCOFF_H_DEP = $(srcdir)/../libcoff-in.h $(srcdir)/../coffcode.h $(srcdir)/header.sed $(srcdir)/proto.str $(MKDOC) - - -BFD_H_DEP = $(srcdir)/../bfd-in.h $(srcdir)/../init.c $(srcdir)/../opncls.c $(srcdir)/../libbfd.c $(srcdir)/../section.c $(srcdir)/../archures.c $(srcdir)/../reloc.c $(srcdir)/../syms.c $(srcdir)/../bfd.c $(srcdir)/../archive.c $(srcdir)/../corefile.c $(srcdir)/../targets.c $(srcdir)/../format.c $(srcdir)/header.sed $(srcdir)/proto.str $(srcdir)/../version.h $(MKDOC) +LIBBFD_H_DEP = \ + $(srcdir)/../libbfd-in.h \ + $(srcdir)/../init.c \ + $(srcdir)/../libbfd.c \ + $(srcdir)/../cache.c \ + $(srcdir)/../reloc.c \ + $(srcdir)/../archures.c \ + $(srcdir)/../elf.c \ + $(srcdir)/header.sed \ + $(srcdir)/proto.str \ + $(MKDOC) + + +LIBCOFF_H_DEP = \ + $(srcdir)/../libcoff-in.h \ + $(srcdir)/../coffcode.h \ + $(srcdir)/header.sed \ + $(srcdir)/proto.str \ + $(MKDOC) + + +BFD_H_DEP = \ + $(srcdir)/../bfd-in.h \ + $(srcdir)/../init.c \ + $(srcdir)/../opncls.c \ + $(srcdir)/../libbfd.c \ + $(srcdir)/../section.c \ + $(srcdir)/../archures.c \ + $(srcdir)/../reloc.c \ + $(srcdir)/../syms.c \ + $(srcdir)/../bfd.c \ + $(srcdir)/../archive.c \ + $(srcdir)/../corefile.c \ + $(srcdir)/../targets.c \ + $(srcdir)/../format.c \ + $(srcdir)/header.sed \ + $(srcdir)/proto.str \ + $(srcdir)/../version.h \ + $(MKDOC) noinst_TEXINFOS = bfdint.texi @@ -186,7 +244,7 @@ DIST_COMMON = ChangeLog Makefile.am Makefile.in DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = tar +TAR = gtar GZIP_ENV = --best all: all-redirect .SUFFIXES: diff --git a/bfd/elf32-i386qnx.c b/bfd/elf32-i386qnx.c index 5f2e111..523eecb 100644 --- a/bfd/elf32-i386qnx.c +++ b/bfd/elf32-i386qnx.c @@ -2,110 +2,29 @@ Copyright 2002 Free Software Foundation, Inc. -This file is part of BFD, the Binary File Descriptor library. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #define ELF32_I386_C_INCLUDED #include "elf32-i386.c" - /* Returns the end address of the segment + 1. */ -#define SEGMENT_END(segment, start) \ - (start + (segment->p_memsz > segment->p_filesz \ - ? segment->p_memsz : segment->p_filesz)) - -static boolean elf_i386qnx_copy_private_bfd_data_p - PARAMS ((bfd *, asection *, bfd *, asection *)); -static boolean elf_i386qnx_is_contained_by_filepos - PARAMS ((asection *, Elf_Internal_Phdr *)); -static void elf_i386qnx_set_nonloadable_filepos - PARAMS ((bfd *, Elf_Internal_Phdr *)); - -static boolean -elf_i386qnx_copy_private_bfd_data_p (ibfd, isec, obfd, osec) - bfd *ibfd; - asection *isec; - bfd *obfd; - asection *osec; -{ - /* We don't use these parameters, but another target might. */ - ibfd = ibfd; - obfd = obfd; - osec = osec; - return isec->next == NULL; -} - -static boolean -elf_i386qnx_is_contained_by_filepos (section, segment) - asection *section; - Elf_Internal_Phdr *segment; -{ - return ((bfd_vma) section->filepos >= segment->p_offset - && ((bfd_vma) section->filepos + section->_raw_size - <= SEGMENT_END (segment, segment->p_offset))); -} - -static void -elf_i386qnx_set_nonloadable_filepos (abfd, phdrs) - bfd *abfd; - Elf_Internal_Phdr *phdrs; -{ - struct elf_segment_map *m; - Elf_Internal_Phdr *p; - file_ptr off = 0; - - for (m = elf_tdata (abfd)->segment_map, p = phdrs; - m != NULL; - m = m->next, p++) - { - unsigned int i; - asection **secpp; - - for (i = 0, secpp = m->sections; i < m->count; i++, secpp++) - { - asection *sec; - - sec = *secpp; - - if (p->p_type == PT_LOAD) - off = sec->filepos; - else - { - if (i == 0) - { - if (sec->filepos) - p->p_offset = sec->filepos; - else - p->p_offset = off; - } - if (!sec->filepos) - { - off += sec->_raw_size; - p->p_filesz += sec->_raw_size; - } - } - } - } - return; -} +#include "elf32-qnx.h" #undef TARGET_LITTLE_SYM #define TARGET_LITTLE_SYM bfd_elf32_i386qnx_vec -#define elf_backend_set_nonloadable_filepos elf_i386qnx_set_nonloadable_filepos -#define elf_backend_is_contained_by_filepos elf_i386qnx_is_contained_by_filepos -#define elf_backend_copy_private_bfd_data_p elf_i386qnx_copy_private_bfd_data_p - #include "elf32-target.h" + diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c index 4ce1c45..d5ed0c4 100644 --- a/bfd/elf32-ppc.c +++ b/bfd/elf32-ppc.c @@ -3836,4 +3836,7 @@ ppc_elf_grok_psinfo (abfd, note) #define elf_backend_grok_psinfo ppc_elf_grok_psinfo #define elf_backend_reloc_type_class ppc_elf_reloc_type_class +#ifndef ELF32_PPC_C_INCLUDED #include "elf32-target.h" +#endif + diff --git a/bfd/elf32-qnx.h b/bfd/elf32-qnx.h new file mode 100644 index 0000000..454c2b4 --- /dev/null +++ b/bfd/elf32-qnx.h @@ -0,0 +1,111 @@ +/* QNX specific support for 32-bit ELF + Copyright 2002 Free Software Foundation, Inc. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + + /* Returns the end address of the segment + 1. */ +#define SEGMENT_END(segment, start) \ + (start + (segment->p_memsz > segment->p_filesz \ + ? segment->p_memsz : segment->p_filesz)) + +static boolean elf_i386qnx_copy_private_bfd_data_p + PARAMS ((bfd *, asection *, bfd *, asection *)); +static boolean elf_i386qnx_is_contained_by_filepos + PARAMS ((asection *, Elf_Internal_Phdr *)); +static void elf_i386qnx_set_nonloadable_filepos + PARAMS ((bfd *, Elf_Internal_Phdr *)); + +static boolean +elf_qnx_copy_private_bfd_data_p (ibfd, isec, obfd, osec) + bfd *ibfd; + asection *isec; + bfd *obfd; + asection *osec; +{ + /* We don't use these parameters, but another target might. */ + ibfd = ibfd; + obfd = obfd; + osec = osec; + + return isec->next == NULL; +} + +static boolean +elf_qnx_is_contained_by_filepos (section, segment) + asection *section; + Elf_Internal_Phdr *segment; +{ + return ((bfd_vma) section->filepos >= segment->p_offset + && ((bfd_vma) section->filepos + section->_raw_size + <= SEGMENT_END (segment, segment->p_offset))); +} + +static void +elf_qnx_set_nonloadable_filepos (abfd, phdrs) + bfd *abfd; + Elf_Internal_Phdr *phdrs; +{ + struct elf_segment_map *m; + Elf_Internal_Phdr *p; + file_ptr off = 0; + + for (m = elf_tdata (abfd)->segment_map, p = phdrs; + m != NULL; + m = m->next, p++) + { + unsigned int i; + asection **secpp; + + for (i = 0, secpp = m->sections; i < m->count; i++, secpp++) + { + asection *sec; + + sec = *secpp; + + if (p->p_type == PT_LOAD) + off = sec->filepos; + else + { + if (i == 0) + { + if (sec->filepos) + p->p_offset = sec->filepos; + else + p->p_offset = off; + } + if (!sec->filepos) + { + off += sec->_raw_size; + p->p_filesz += sec->_raw_size; + } + } + } + } + return; +} + +#ifndef elf_backend_set_nonloadable_filepos +#define elf_backend_set_nonloadable_filepos elf_qnx_set_nonloadable_filepos +#endif + +#ifndef elf_backend_is_contained_by_filepos +#define elf_backend_is_contained_by_filepos elf_qnx_is_contained_by_filepos +#endif + +#ifndef elf_backend_copy_private_bfd_data_p +#define elf_backend_copy_private_bfd_data_p elf_qnx_copy_private_bfd_data_p +#endif diff --git a/bfd/elfarmqnx-nabi.c b/bfd/elfarmqnx-nabi.c index 006eb52..7647b3d 100644 --- a/bfd/elfarmqnx-nabi.c +++ b/bfd/elfarmqnx-nabi.c @@ -1,5 +1,5 @@ -/* 32-bit ELF support for ARM new abi option, for QNX. - Copyright 2002 Free Software Foundation, Inc. +/* ARM new abi QNX specific support for 32-bit ELF + Copyright 2002 Free Software Foundation, Inc. This file is part of BFD, the Binary File Descriptor library. @@ -20,6 +20,8 @@ #define ELFARM_NABI_C_INCLUDED #include "elfarm-nabi.c" +#include "elf32-qnx.h" + #undef TARGET_LITTLE_SYM #define TARGET_LITTLE_SYM bfd_elf32_littlearmqnx_vec #undef TARGET_BIG_SYM @@ -30,4 +32,3 @@ #define ELF_MAXPAGESIZE 0x1000 #include "elf32-arm.h" - diff --git a/bfd/libbfd.h b/bfd/libbfd.h index ae1e753..f7c8cc1 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -1,5 +1,6 @@ /* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically - generated from "proto.str chew". + generated from "libbfd-in.h", "init.c", "libbfd.c", "cache.c", + "reloc.c", "archures.c" and "elf.c". Run "make headers" in your build bfd/ to regenerate. */ /* libbfd.h -- Declarations used by bfd library *implementation*. diff --git a/bfd/libcoff.h b/bfd/libcoff.h index e2f6786..88b0909 100644 --- a/bfd/libcoff.h +++ b/bfd/libcoff.h @@ -1,5 +1,5 @@ /* DO NOT EDIT! -*- buffer-read-only: t -*- This file is automatically - generated from "proto.str chew". + generated from "libcoff-in.h" and "coffcode.h". Run "make headers" in your build bfd/ to regenerate. */ /* BFD COFF object file private structure. diff --git a/bfd/targets.c b/bfd/targets.c index 3012169..ee37828 100644 --- a/bfd/targets.c +++ b/bfd/targets.c @@ -553,6 +553,8 @@ extern const bfd_target bfd_elf32_pj_vec; extern const bfd_target bfd_elf32_pjl_vec; extern const bfd_target bfd_elf32_powerpc_vec; extern const bfd_target bfd_elf32_powerpcle_vec; +extern const bfd_target bfd_elf32_powerpcleqnx_vec; +extern const bfd_target bfd_elf32_powerpcqnx_vec; extern const bfd_target bfd_elf32_s390_vec; extern const bfd_target bfd_elf32_sh64_vec; extern const bfd_target bfd_elf32_sh64l_vec; @@ -824,6 +826,8 @@ static const bfd_target * const _bfd_target_vector[] = { &bfd_elf32_pjl_vec, &bfd_elf32_powerpc_vec, &bfd_elf32_powerpcle_vec, + &bfd_elf32_powerpcleqnx_vec, + &bfd_elf32_powerpcqnx_vec, &bfd_elf32_s390_vec, &bfd_elf32_sh_vec, &bfd_elf32_shblin_vec, |