binutils-gdb/ld/ldfile.h
Alexandre Oliva e3f2db7fa6 * ldfile.h (struct search_dirs): Added sysrooted field.
* ldlang.h (struct lang_input_statement_struct): Likewise.
* ldfile.c (ldfile_add_library_path): Mark sysrooted paths.
(ldfile_open_file_search): Look for sysrooted filename starting
with / in ld_sysroot instead of in the current directory.  Clear
sysrooted flag if it's found in the current directory.  Set it
from the search directory's sysrooted flag where it is found
otherwise.
* ldlang.c (ldlang_sysrooted_script): New static variable.
(new_afile): Mark search_file_enums as sysrooted if
ldlang_sysrooted_script.
(load_symbols): Set ldlang_sysrooted_script according to the
script's sysrooted field while processing it.
* ld.texinfo: Document INPUT behavior in sysroot.
2003-03-03 20:00:35 +00:00

65 lines
2.2 KiB
C

/* ldfile.h -
Copyright 1991, 1992, 1993, 1994, 1995, 2000, 2002, 2003
Free Software Foundation, Inc.
This file is part of GLD, the Gnu Linker.
GLD is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GLD is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GLD; see the file COPYING. If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef LDFILE_H
#define LDFILE_H
extern const char *ldfile_input_filename;
extern bfd_boolean ldfile_assumed_script;
extern unsigned long ldfile_output_machine;
extern enum bfd_architecture ldfile_output_architecture;
extern const char *ldfile_output_machine_name;
/* Structure used to hold the list of directories to search for
libraries. */
typedef struct search_dirs {
/* Next directory on list. */
struct search_dirs *next;
/* Name of directory. */
const char *name;
/* TRUE if this is from the command line. */
bfd_boolean cmdline;
/* true if this is from within the sys-root. */
bfd_boolean sysrooted;
} search_dirs_type;
extern search_dirs_type *search_head;
extern void ldfile_add_arch
PARAMS ((const char *));
extern void ldfile_add_library_path
PARAMS ((const char *, bfd_boolean cmdline));
extern void ldfile_open_command_file
PARAMS ((const char *name));
extern void ldfile_open_file
PARAMS ((struct lang_input_statement_struct *));
extern bfd_boolean ldfile_try_open_bfd
PARAMS ((const char *, struct lang_input_statement_struct *));
extern FILE *ldfile_find_command_file
PARAMS ((const char *name, const char *extend));
extern void ldfile_set_output_arch
PARAMS ((const char *));
extern bfd_boolean ldfile_open_file_search
PARAMS ((const char *arch, struct lang_input_statement_struct *,
const char *lib, const char *suffix));
#endif