Restore sparc64 targets clobbered in 1994/04/07 checkin.
[deliverable/binutils-gdb.git] / ld / ld.h
CommitLineData
2fa0b342
DHW
1/* ld.h -
2
c1074477 3 Copyright (C) 1991, 1993 Free Software Foundation, Inc.
2fa0b342
DHW
4
5 This file is part of GLD, the Gnu Linker.
6
7 GLD is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
c1074477 9 the Free Software Foundation; either version 2, or (at your option)
2fa0b342
DHW
10 any later version.
11
12 GLD 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.
16
17 You should have received a copy of the GNU General Public License
18 along with GLD; see the file COPYING. If not, write to
19 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
20
2a9fa50c
ILT
21#ifndef LD_H
22#define LD_H
2fa0b342 23
2fa0b342 24/* Extra information we hold on sections */
2a9fa50c
ILT
25typedef struct user_section_struct
26{
2fa0b342
DHW
27 /* Pointer to the section where this data will go */
28 struct lang_input_statement_struct *file;
29} section_userdata_type;
30
31
32#define get_userdata(x) ((x)->userdata)
2fa0b342 33
c1074477
DE
34#define BYTE_SIZE (1)
35#define SHORT_SIZE (2)
36#define LONG_SIZE (4)
2a9fa50c 37#define QUAD_SIZE (8)
2fa0b342 38
c1074477
DE
39/* ALIGN macro changed to ALIGN_N to avoid */
40/* conflict in /usr/include/machine/machparam.h */
2a9fa50c 41/* WARNING: If THIS is a 64 bit address and BOUNDARY is a 32 bit int,
73f5d5fe
DE
42 you must coerce boundary to the same type as THIS.
43 ??? Is there a portable way to avoid this. */
2a9fa50c
ILT
44#define ALIGN_N(this, boundary) \
45 ((( (this) + ((boundary) -1)) & (~((boundary)-1))))
2fa0b342 46
2a9fa50c
ILT
47typedef struct
48{
2fa0b342
DHW
49 /* 1 => assign space to common symbols even if `relocatable_output'. */
50 boolean force_common_definition;
c1074477 51 boolean relax;
2fa0b342
DHW
52} args_type;
53
2a9fa50c
ILT
54extern args_type command_line;
55
2fa0b342
DHW
56typedef int token_code_type;
57
58typedef struct
59{
c1074477 60 bfd_size_type specified_data_size;
2fa0b342
DHW
61 boolean magic_demand_paged;
62 boolean make_executable;
2fa0b342 63
2a9fa50c
ILT
64 /* If true, doing a dynamic link. */
65 boolean dynamic_link;
66
2fa0b342 67 boolean build_constructors;
c1074477
DE
68
69 /* If true, warn about merging common symbols with others. */
70 boolean warn_common;
2fa0b342 71
b6316534 72 boolean sort_common;
2a9fa50c 73
c1074477
DE
74 boolean text_read_only;
75
2a9fa50c
ILT
76 char *map_filename;
77 FILE *map_file;
c1074477 78
2a9fa50c 79 boolean stats;
2fa0b342 80} ld_config_type;
2fa0b342 81
2a9fa50c 82extern ld_config_type config;
2fa0b342 83
2a9fa50c
ILT
84typedef enum
85{
2fa0b342
DHW
86 lang_first_phase_enum,
87 lang_allocating_phase_enum,
2a9fa50c
ILT
88 lang_final_phase_enum
89} lang_phase_type;
2fa0b342 90
2a9fa50c
ILT
91extern boolean had_script;
92extern boolean force_make_executable;
2fa0b342 93
2a9fa50c 94extern int yyparse PARAMS ((void));
c1074477 95
2a9fa50c 96#endif
This page took 0.114262 seconds and 4 git commands to generate.