* gdbtypes.c (check_stub_method): Make sure we get back a function
[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
943fbd5b 19 the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
2fa0b342 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;
809ee7e0
ILT
52
53 /* Name of runtime interpreter to invoke. */
54 char *interpreter;
55
56 /* Name to give runtime libary from the -soname argument. */
57 char *soname;
58
59 /* Runtime library search path from the -rpath argument. */
60 char *rpath;
943fbd5b
KR
61
62 /* Big or little endian as set on command line. */
63 enum { ENDIAN_UNSET = 0, ENDIAN_BIG, ENDIAN_LITTLE } endian;
64
65 /* If true, export all symbols in the dynamic symbol table of an ELF
66 executable. */
67 boolean export_dynamic;
68
69 /* If true, build MIPS embedded PIC relocation tables in the output
70 file. */
71 boolean embedded_relocs;
2fa0b342
DHW
72} args_type;
73
2a9fa50c
ILT
74extern args_type command_line;
75
2fa0b342
DHW
76typedef int token_code_type;
77
78typedef struct
79{
c1074477 80 bfd_size_type specified_data_size;
2fa0b342
DHW
81 boolean magic_demand_paged;
82 boolean make_executable;
2fa0b342 83
c96386c4
ILT
84 /* If true, request BFD to use the traditional format. */
85 boolean traditional_format;
86
2a9fa50c
ILT
87 /* If true, doing a dynamic link. */
88 boolean dynamic_link;
89
2fa0b342 90 boolean build_constructors;
c1074477
DE
91
92 /* If true, warn about merging common symbols with others. */
93 boolean warn_common;
2fa0b342 94
809ee7e0
ILT
95 /* If true, only warn once about a particular undefined symbol. */
96 boolean warn_once;
97
b6316534 98 boolean sort_common;
2a9fa50c 99
c1074477
DE
100 boolean text_read_only;
101
2a9fa50c
ILT
102 char *map_filename;
103 FILE *map_file;
c1074477 104
2a9fa50c 105 boolean stats;
943fbd5b
KR
106
107 int split_by_reloc;
108 boolean split_by_file;
2fa0b342 109} ld_config_type;
2fa0b342 110
2a9fa50c 111extern ld_config_type config;
2fa0b342 112
2a9fa50c
ILT
113typedef enum
114{
2fa0b342
DHW
115 lang_first_phase_enum,
116 lang_allocating_phase_enum,
2a9fa50c
ILT
117 lang_final_phase_enum
118} lang_phase_type;
2fa0b342 119
2a9fa50c
ILT
120extern boolean had_script;
121extern boolean force_make_executable;
2fa0b342 122
2a9fa50c 123extern int yyparse PARAMS ((void));
c1074477 124
2a9fa50c 125#endif
This page took 0.162473 seconds and 4 git commands to generate.