xref: /netbsd/external/gpl3/gdb.old/dist/ld/ldfile.h (revision 56bb7041)
1*56bb7041Schristos /* ldfile.h -
2*56bb7041Schristos    Copyright (C) 1991-2020 Free Software Foundation, Inc.
3*56bb7041Schristos 
4*56bb7041Schristos    This file is part of the GNU Binutils.
5*56bb7041Schristos 
6*56bb7041Schristos    This program is free software; you can redistribute it and/or modify
7*56bb7041Schristos    it under the terms of the GNU General Public License as published by
8*56bb7041Schristos    the Free Software Foundation; either version 3 of the License, or
9*56bb7041Schristos    (at your option) any later version.
10*56bb7041Schristos 
11*56bb7041Schristos    This program is distributed in the hope that it will be useful,
12*56bb7041Schristos    but WITHOUT ANY WARRANTY; without even the implied warranty of
13*56bb7041Schristos    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14*56bb7041Schristos    GNU General Public License for more details.
15*56bb7041Schristos 
16*56bb7041Schristos    You should have received a copy of the GNU General Public License
17*56bb7041Schristos    along with this program; if not, write to the Free Software
18*56bb7041Schristos    Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
19*56bb7041Schristos    MA 02110-1301, USA.  */
20*56bb7041Schristos 
21*56bb7041Schristos #ifndef LDFILE_H
22*56bb7041Schristos #define LDFILE_H
23*56bb7041Schristos 
24*56bb7041Schristos extern bfd_boolean ldfile_assumed_script;
25*56bb7041Schristos extern unsigned long ldfile_output_machine;
26*56bb7041Schristos extern enum bfd_architecture ldfile_output_architecture;
27*56bb7041Schristos extern const char *ldfile_output_machine_name;
28*56bb7041Schristos 
29*56bb7041Schristos /* Structure used to hold the list of directories to search for
30*56bb7041Schristos    libraries.  */
31*56bb7041Schristos 
32*56bb7041Schristos typedef struct search_dirs {
33*56bb7041Schristos   /* Next directory on list.  */
34*56bb7041Schristos   struct search_dirs *next;
35*56bb7041Schristos   /* Name of directory.  */
36*56bb7041Schristos   const char *name;
37*56bb7041Schristos   /* TRUE if this is from the command line.  */
38*56bb7041Schristos   bfd_boolean cmdline;
39*56bb7041Schristos } search_dirs_type;
40*56bb7041Schristos 
41*56bb7041Schristos extern search_dirs_type *search_head;
42*56bb7041Schristos 
43*56bb7041Schristos extern void ldfile_add_arch
44*56bb7041Schristos   (const char *);
45*56bb7041Schristos extern void ldfile_add_library_path
46*56bb7041Schristos   (const char *, bfd_boolean cmdline);
47*56bb7041Schristos extern void ldfile_open_command_file
48*56bb7041Schristos   (const char *name);
49*56bb7041Schristos extern void ldfile_open_script_file
50*56bb7041Schristos   (const char *name);
51*56bb7041Schristos extern void ldfile_open_default_command_file
52*56bb7041Schristos   (const char *name);
53*56bb7041Schristos extern void ldfile_open_file
54*56bb7041Schristos   (struct lang_input_statement_struct *);
55*56bb7041Schristos extern bfd_boolean ldfile_try_open_bfd
56*56bb7041Schristos   (const char *, struct lang_input_statement_struct *);
57*56bb7041Schristos extern void ldfile_set_output_arch
58*56bb7041Schristos   (const char *, enum bfd_architecture);
59*56bb7041Schristos extern bfd_boolean ldfile_open_file_search
60*56bb7041Schristos   (const char *arch, struct lang_input_statement_struct *,
61*56bb7041Schristos    const char *lib, const char *suffix);
62*56bb7041Schristos 
63*56bb7041Schristos #endif
64