You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
2.4 KiB

/* BFD backend for local host's a.out binaries
Copyright (C) 1990-1991 Free Software Foundation, Inc.
Written by Cygnus Support. Probably John Gilmore's fault.
36 years ago
This file is part of BFD, the Binary File Descriptor library.
36 years ago
This program is free software; you can redistribute it and/or modify
36 years ago
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.
36 years ago
This program is distributed in the hope that it will be useful,
36 years ago
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., 675 Mass Ave, Cambridge, MA 02139, USA. */
36 years ago
#include "bfd.h"
#include "sysdep.h"
36 years ago
#include "libbfd.h"
#define ARCH_SIZE 32
/* When porting to a new system, you must supply:
HOST_PAGE_SIZE (optional)
HOST_SEGMENT_SIZE (optional -- defaults to page size)
HOST_MACHINE_ARCH (optional)
HOST_MACHINE_MACHINE (optional)
HOST_TEXT_START_ADDR (optional)
HOST_STACK_END_ADDR (not used, except by trad-core ???)
HOST_SHORT_HEADER_HACK (optional)
in the ./hosts/h-systemname.h file.
For most of these, you can get by with the values computed
by the program aout-gen, which writes the result into aout-params.h. */
#include "aout-params.h"
#ifdef HOST_PAGE_SIZE
#define PAGE_SIZE HOST_PAGE_SIZE
#endif
#ifdef HOST_SEGMENT_SIZE
#define SEGMENT_SIZE HOST_SEGMENT_SIZE
#else
#define SEGMENT_SIZE PAGE_SIZE
#endif
#ifdef HOST_TEXT_START_ADDR
#define TEXT_START_ADDR HOST_TEXT_START_ADDR
#endif
#ifdef HOST_STACK_END_ADDR
#define STACK_END_ADDR HOST_STACK_END_ADDR
#endif
#ifndef N_HEADER_IN_TEXT
#ifdef HOST_SHORT_HEADER_HACK
#define N_HEADER_IN_TEXT(x) 1
#else
#define N_HEADER_IN_TEXT(x) 0
#endif
#endif
#include "libaout.h" /* BFD a.out internal data structures */
#include "aout/aout64.h"
36 years ago
#ifdef HOST_MACHINE_ARCH
#ifdef HOST_MACHINE_MACHINE
#define SET_ARCH_MACH(abfd, execp) \
bfd_default_set_arch_mach(abfd, HOST_MACHINE_ARCH, HOST_MACHINE_MACHINE)
#else
#define SET_ARCH_MACH(abfd, execp) \
bfd_default_set_arch_mach(abfd, HOST_MACHINE_ARCH, 0)
#endif
#endif /* HOST_MACHINE_ARCH */
36 years ago
#define MY(OP) CAT(host_aout_,OP)
#define TARGETNAME "a.out"
36 years ago
#include "aout-target.h"