X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Fldmain.h;h=0f05821d1e8a1ecc11da8fed677831d71fa98a4e;hb=refs%2Fheads%2Fconcurrent-displaced-stepping-2020-04-01;hp=9f3fa1a63aebeaf1c13ebf70b7c682aeafe23ea2;hpb=3a69b3aca678a3caf3ade7f9d42d18233b097ec6;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ldmain.h b/ld/ldmain.h index 9f3fa1a63a..0f05821d1e 100644 --- a/ld/ldmain.h +++ b/ld/ldmain.h @@ -1,23 +1,62 @@ /* ldmain.h - + Copyright (C) 1991-2020 Free Software Foundation, Inc. - Copyright (C) 1991 Free Software Foundation, Inc. + This file is part of the GNU Binutils. - This file is part of GLD, the Gnu Linker. - - 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, 675 Mass Ave, Cambridge, MA 02139, 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 const char *ld_sysroot; +extern char *ld_canon_sysroot; +extern int ld_canon_sysroot_len; +extern FILE *saved_script_handle; +extern FILE *previous_script_handle; +extern bfd_boolean force_make_executable; +extern char *default_target; +extern unsigned int trace_files; +extern bfd_boolean verbose; +extern bfd_boolean version_printed; +extern bfd_boolean demangling; +extern int g_switch_value; +extern const char *output_filename; +extern struct bfd_link_info link_info; +extern int overflow_cutoff_limit; + +#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) -PROTO(void, Q_enter_global_ref,(asymbol **)); -PROTO(void, Q_read_file_symbols,(struct lang_input_statement_struct *)); +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 *); +#endif