* lexsup.c (parse_args): Accept -static as a synonym for
[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
c96386c4
ILT
64 /* If true, request BFD to use the traditional format. */
65 boolean traditional_format;
66
2a9fa50c
ILT
67 /* If true, doing a dynamic link. */
68 boolean dynamic_link;
69
2fa0b342 70 boolean build_constructors;
c1074477
DE
71
72 /* If true, warn about merging common symbols with others. */
73 boolean warn_common;
2fa0b342 74
b6316534 75 boolean sort_common;
2a9fa50c 76
c1074477
DE
77 boolean text_read_only;
78
2a9fa50c
ILT
79 char *map_filename;
80 FILE *map_file;
c1074477 81
2a9fa50c 82 boolean stats;
2fa0b342 83} ld_config_type;
2fa0b342 84
2a9fa50c 85extern ld_config_type config;
2fa0b342 86
2a9fa50c
ILT
87typedef enum
88{
2fa0b342
DHW
89 lang_first_phase_enum,
90 lang_allocating_phase_enum,
2a9fa50c
ILT
91 lang_final_phase_enum
92} lang_phase_type;
2fa0b342 93
2a9fa50c
ILT
94extern boolean had_script;
95extern boolean force_make_executable;
2fa0b342 96
2a9fa50c 97extern int yyparse PARAMS ((void));
c1074477 98
2a9fa50c 99#endif
This page took 0.140552 seconds and 4 git commands to generate.