* vaxbsd.c: New BFD backend for VAX BSD and Ultrix.

* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
	Run "make dep-am".
	* config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
	host_aout_vec.
	* configure.in (vaxbsd_vec): Add.
	* targets.c (vaxbsd_vec): Add.
	* Makefile.in: Rebuild.
	* configure: Rebuild.
	* po/SRC-POTFILES.in: Rebuild.
This commit is contained in:
Alan Modra 2002-07-01 08:31:53 +00:00
parent e3e942e990
commit ba26fd966c
9 changed files with 260 additions and 168 deletions

View file

@ -1,3 +1,16 @@
2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
* vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
Run "make dep-am".
* config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
host_aout_vec.
* configure.in (vaxbsd_vec): Add.
* targets.c (vaxbsd_vec): Add.
* Makefile.in: Rebuild.
* configure: Rebuild.
* po/SRC-POTFILES.in: Rebuild.
2002-07-01 Alan Modra <amodra@bigpond.net.au> 2002-07-01 Alan Modra <amodra@bigpond.net.au>
* elflink.h (elf_gc_mark): Pass in the section whose relocs we are * elflink.h (elf_gc_mark): Pass in the section whose relocs we are

View file

@ -297,6 +297,7 @@ BFD32_BACKENDS = \
sunos.lo \ sunos.lo \
vaxnetbsd.lo \ vaxnetbsd.lo \
vax1knetbsd.lo \ vax1knetbsd.lo \
vaxbsd.lo \
versados.lo \ versados.lo \
vms.lo \ vms.lo \
vms-gsd.lo \ vms-gsd.lo \
@ -451,6 +452,7 @@ BFD32_BACKENDS_CFILES = \
sunos.c \ sunos.c \
vaxnetbsd.c \ vaxnetbsd.c \
vax1knetbsd.c \ vax1knetbsd.c \
vaxbsd.c \
versados.c \ versados.c \
vms.c \ vms.c \
vms-gsd.c \ vms-gsd.c \
@ -1113,9 +1115,9 @@ elf32-fr30.lo: elf32-fr30.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/fr30.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/fr30.h $(INCDIR)/elf/reloc-macros.h \
elf32-target.h elf32-target.h
elf32-frv.lo: elf32-frv.c elf-bfd.h $(INCDIR)/elf/common.h \ elf32-frv.lo: elf32-frv.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/elf/frv.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/frv.h $(INCDIR)/elf/reloc-macros.h \
elf32-target.h elf32-target.h
elf32-gen.lo: elf32-gen.c $(INCDIR)/filenames.h elf-bfd.h \ elf32-gen.lo: elf32-gen.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
@ -1435,6 +1437,9 @@ vaxnetbsd.lo: vaxnetbsd.c netbsd.h $(INCDIR)/filenames.h \
vax1knetbsd.lo: vax1knetbsd.c netbsd.h $(INCDIR)/filenames.h \ vax1knetbsd.lo: vax1knetbsd.c netbsd.h $(INCDIR)/filenames.h \
libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \ libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
vaxbsd.lo: vaxbsd.c $(INCDIR)/filenames.h libaout.h \
$(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
versados.lo: versados.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h versados.lo: versados.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h
vms.lo: vms.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ vms.lo: vms.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
vms.h vms.h

View file

@ -425,6 +425,7 @@ BFD32_BACKENDS = \
sunos.lo \ sunos.lo \
vaxnetbsd.lo \ vaxnetbsd.lo \
vax1knetbsd.lo \ vax1knetbsd.lo \
vaxbsd.lo \
versados.lo \ versados.lo \
vms.lo \ vms.lo \
vms-gsd.lo \ vms-gsd.lo \
@ -580,6 +581,7 @@ BFD32_BACKENDS_CFILES = \
sunos.c \ sunos.c \
vaxnetbsd.c \ vaxnetbsd.c \
vax1knetbsd.c \ vax1knetbsd.c \
vaxbsd.c \
versados.c \ versados.c \
vms.c \ vms.c \
vms-gsd.c \ vms-gsd.c \
@ -1643,9 +1645,9 @@ elf32-fr30.lo: elf32-fr30.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/bfdlink.h $(INCDIR)/elf/fr30.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/fr30.h $(INCDIR)/elf/reloc-macros.h \
elf32-target.h elf32-target.h
elf32-frv.lo: elf32-frv.c elf-bfd.h $(INCDIR)/elf/common.h \ elf32-frv.lo: elf32-frv.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h $(INCDIR)/bfdlink.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
$(INCDIR)/elf/frv.h $(INCDIR)/elf/reloc-macros.h \ $(INCDIR)/bfdlink.h $(INCDIR)/elf/frv.h $(INCDIR)/elf/reloc-macros.h \
elf32-target.h elf32-target.h
elf32-gen.lo: elf32-gen.c $(INCDIR)/filenames.h elf-bfd.h \ elf32-gen.lo: elf32-gen.c $(INCDIR)/filenames.h elf-bfd.h \
$(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \
@ -1965,6 +1967,9 @@ vaxnetbsd.lo: vaxnetbsd.c netbsd.h $(INCDIR)/filenames.h \
vax1knetbsd.lo: vax1knetbsd.c netbsd.h $(INCDIR)/filenames.h \ vax1knetbsd.lo: vax1knetbsd.c netbsd.h $(INCDIR)/filenames.h \
libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \ libaout.h $(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h $(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
vaxbsd.lo: vaxbsd.c $(INCDIR)/filenames.h libaout.h \
$(INCDIR)/bfdlink.h aout-target.h $(INCDIR)/aout/aout64.h \
$(INCDIR)/aout/stab_gnu.h $(INCDIR)/aout/stab.def $(INCDIR)/aout/ar.h
versados.lo: versados.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h versados.lo: versados.c $(INCDIR)/filenames.h $(INCDIR)/libiberty.h
vms.lo: vms.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \ vms.lo: vms.c $(INCDIR)/filenames.h $(INCDIR)/bfdlink.h \
vms.h vms.h

View file

@ -1097,12 +1097,6 @@ case "${targ}" in
v850ea-*-*) v850ea-*-*)
targ_defvec=bfd_elf32_v850_vec targ_defvec=bfd_elf32_v850_vec
;; ;;
#if HAVE_host_aout_vec
vax-*-bsd* | vax-*-ultrix*)
targ_defvec=host_aout_vec
targ_underscore=yes
;;
#endif
vax-*-netbsdelf*) vax-*-netbsdelf*)
targ_defvec=bfd_elf32_vax_vec targ_defvec=bfd_elf32_vax_vec
@ -1115,6 +1109,11 @@ case "${targ}" in
targ_underscore=yes targ_underscore=yes
;; ;;
vax-*-bsd* | vax-*-ultrix*)
targ_defvec=vaxbsd_vec
targ_underscore=yes
;;
vax*-*-*vms*) vax*-*-*vms*)
targ_defvec=vms_vax_vec targ_defvec=vms_vax_vec
;; ;;

339
bfd/configure vendored

File diff suppressed because it is too large Load diff

View file

@ -739,6 +739,7 @@ do
tic80coff_vec) tb="$tb coff-tic80.lo cofflink.lo" ;; tic80coff_vec) tb="$tb coff-tic80.lo cofflink.lo" ;;
vaxnetbsd_vec) tb="$tb vaxnetbsd.lo aout32.lo" ;; vaxnetbsd_vec) tb="$tb vaxnetbsd.lo aout32.lo" ;;
vax1knetbsd_vec) tb="$tb vax1knetbsd.lo aout32.lo" ;; vax1knetbsd_vec) tb="$tb vax1knetbsd.lo aout32.lo" ;;
vaxbsd_vec) tb="$tb vaxbsd.lo aout32.lo" ;;
versados_vec) tb="$tb versados.lo" ;; versados_vec) tb="$tb versados.lo" ;;
vms_alpha_vec) tb="$tb vms.lo vms-hdr.lo vms-gsd.lo vms-tir.lo vms-misc.lo"; target_size=64 ;; vms_alpha_vec) tb="$tb vms.lo vms-hdr.lo vms-gsd.lo vms-tir.lo vms-misc.lo"; target_size=64 ;;
vms_vax_vec) tb="$tb vms.lo vms-hdr.lo vms-gsd.lo vms-tir.lo vms-misc.lo" ;; vms_vax_vec) tb="$tb vms.lo vms-hdr.lo vms-gsd.lo vms-tir.lo vms-misc.lo" ;;

View file

@ -278,6 +278,7 @@ targets.c
tekhex.c tekhex.c
trad-core.c trad-core.c
vax1knetbsd.c vax1knetbsd.c
vaxbsd.c
vaxnetbsd.c vaxnetbsd.c
versados.c versados.c
version.h version.h

View file

@ -679,6 +679,7 @@ extern const bfd_target tic54x_coff1_vec;
extern const bfd_target tic54x_coff2_beh_vec; extern const bfd_target tic54x_coff2_beh_vec;
extern const bfd_target tic54x_coff2_vec; extern const bfd_target tic54x_coff2_vec;
extern const bfd_target tic80coff_vec; extern const bfd_target tic80coff_vec;
extern const bfd_target vaxbsd_vec;
extern const bfd_target vaxnetbsd_vec; extern const bfd_target vaxnetbsd_vec;
extern const bfd_target vax1knetbsd_vec; extern const bfd_target vax1knetbsd_vec;
extern const bfd_target versados_vec; extern const bfd_target versados_vec;
@ -993,6 +994,7 @@ static const bfd_target * const _bfd_target_vector[] = {
&tic54x_coff2_beh_vec, &tic54x_coff2_beh_vec,
&tic54x_coff2_vec, &tic54x_coff2_vec,
&tic80coff_vec, &tic80coff_vec,
&vaxbsd_vec,
&vaxnetbsd_vec, &vaxnetbsd_vec,
&vax1knetbsd_vec, &vax1knetbsd_vec,
&versados_vec, &versados_vec,

39
bfd/vaxbsd.c Normal file
View file

@ -0,0 +1,39 @@
/* BFD back-end for BSD and Ultrix/VAX (1K page size) a.out-ish binaries.
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. */
#define N_HEADER_IN_TEXT(x) 0
#define BYTES_IN_WORD 4
#define ENTRY_CAN_BE_ZERO
#define N_SHARED_LIB(x) 0 /* Avoids warning */
#define TEXT_START_ADDR 0
#define TARGET_PAGE_SIZE 1024
#define SEGMENT_SIZE TARGET_PAGE_SIZE
#define DEFAULT_ARCH bfd_arch_vax
/* Do not "beautify" the CONCAT* macro args. Traditional C will not remove whitespace added here, and thus will fail to concatenate the tokens. */
#define MY(OP) CONCAT2 (vaxbsd_,OP)
#define TARGETNAME "a.out-vax-bsd"
#include "bfd.h"
#include "sysdep.h"
#include "libbfd.h"
#include "libaout.h"
#include "aout-target.h"