1
/* BFD back-end for i386 a.out binaries.
2
Copyright 1990, 1991, 1993, 1994, 1995, 1997, 2001
3
Free Software Foundation, Inc.
5
This file is part of BFD, the Binary File Descriptor library.
7
This program is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 2 of the License, or
10
(at your option) any later version.
12
This program is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
17
You should have received a copy of the GNU General Public License
18
along with this program; if not, write to the Free Software
19
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
21
/* This is for Mach 3, which uses a.out, not Mach-O. */
23
/* There is no magic number or anything which lets us distinguish this target
24
from i386aout or i386bsd. So this target is only useful if it is the
27
#define TARGET_PAGE_SIZE 1
28
#define SEGMENT_SIZE 0x1000
29
#define TEXT_START_ADDR 0x10000
31
#define BYTES_IN_WORD 4
32
/* This macro is only relevant when N_MAGIC(x) == ZMAGIC. */
33
#define N_HEADER_IN_TEXT(x) 1
35
#define N_TXTSIZE(x) ((x).a_text)
40
#include "aout/aout64.h"
41
#include "aout/stab_gnu.h"
43
#include "libaout.h" /* BFD a.out internal data structures */
45
#define DEFAULT_ARCH bfd_arch_i386
47
/* Do not "beautify" the CONCAT* macro args. Traditional C will not
48
remove whitespace added here, and thus will fail to concatenate
50
#define MY(OP) CONCAT2 (i386mach3_,OP)
51
#define TARGETNAME "a.out-mach3"
53
static boolean MY (set_sizes) PARAMS ((bfd *));
54
#define MY_backend_data &MY(backend_data)
55
static const struct aout_backend_data MY(backend_data) = {
56
0, /* zmagic contiguous */
57
1, /* text incl header */
58
0, /* entry is text address */
59
0, /* exec_hdr_flags */
62
1, /* exec header not counted */
63
0, /* add_dynamic_symbols */
64
0, /* add_one_symbol */
65
0, /* link_dynamic_object */
66
0, /* write_dynamic_symbol */
67
0, /* check_dynamic_reloc */
68
0 /* finish_dynamic_link */
71
#include "aout-target.h"