X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=ld%2Fldmain.h;h=f6d05a02f597a1c4c49bdcdbb3f232444b12f075;hb=5bbe6ec5b155886cab036f15ec65ca1476c3bee2;hp=976810ebd168ad6e674acf031f6a301b06fb7a47;hpb=e56f61be758d90c463cc220c50ad7f30b955c2af;p=binutils-gdb.git diff --git a/ld/ldmain.h b/ld/ldmain.h index 976810ebd16..f6d05a02f59 100644 --- a/ld/ldmain.h +++ b/ld/ldmain.h @@ -1,47 +1,66 @@ /* ldmain.h - - Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2002, 2003, 2004 - Free Software Foundation, Inc. + Copyright (C) 1991-2022 Free Software Foundation, Inc. - This file is part of GLD, the Gnu Linker. + This file is part of the GNU Binutils. - GLD is free software; you can redistribute it and/or modify + This program 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 1, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. - GLD is distributed in the hope that it will be useful, + This program 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. */ + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ #ifndef LDMAIN_H #define LDMAIN_H extern char *program_name; -extern char *ld_sysroot; +extern const char *ld_sysroot; extern char *ld_canon_sysroot; extern int ld_canon_sysroot_len; -extern bfd *output_bfd; +extern FILE *saved_script_handle; +extern FILE *previous_script_handle; +extern bool force_make_executable; extern char *default_target; -extern bfd_boolean trace_files; -extern bfd_boolean trace_file_tries; -extern bfd_boolean version_printed; -extern bfd_boolean whole_archive; -extern bfd_boolean as_needed; -extern bfd_boolean add_needed; -extern bfd_boolean demangling; +extern unsigned int trace_files; +extern bool verbose; +extern bool version_printed; +extern bool demangling; extern int g_switch_value; extern const char *output_filename; extern struct bfd_link_info link_info; extern int overflow_cutoff_limit; +#if SUPPORT_ERROR_HANDLING_SCRIPT +extern char *error_handling_script; +#endif + +#define RELAXATION_DISABLED_BY_DEFAULT \ + (link_info.disable_target_specific_optimizations < 0) +#define RELAXATION_DISABLED_BY_USER \ + (link_info.disable_target_specific_optimizations > 1) +#define RELAXATION_ENABLED \ + (link_info.disable_target_specific_optimizations == 0 \ + || link_info.disable_target_specific_optimizations == 1) +#define RELAXATION_ENABLED_BY_USER \ + (link_info.disable_target_specific_optimizations == 0) +#define TARGET_ENABLE_RELAXATION \ + do { link_info.disable_target_specific_optimizations = 1; } while (0) +#define DISABLE_RELAXATION \ + do { link_info.disable_target_specific_optimizations = 2; } while (0) +#define ENABLE_RELAXATION \ + do { link_info.disable_target_specific_optimizations = 0; } while (0) extern void add_ysym (const char *); extern void add_wrap (const char *); +extern void add_ignoresym (struct bfd_link_info *, const char *); extern void add_keepsyms_file (const char *); +extern void track_dependency_files (const char *); #endif