X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Fldmain.h;h=0f05821d1e8a1ecc11da8fed677831d71fa98a4e;hb=8948cc6971fb82feffc49e2d21747111466ad642;hp=041bf3d31fba7f81a4eb982e2e4b4c225715424b;hpb=dc9e099fc0eced486ae2b49455c9da113c11f4ff;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ldmain.h b/ld/ldmain.h index 041bf3d31f..0f05821d1e 100644 --- a/ld/ldmain.h +++ b/ld/ldmain.h @@ -1,40 +1,62 @@ /* ldmain.h - - Copyright 1991, 92, 93, 94, 95, 96, 1999 Free Software Foundation, Inc. + Copyright (C) 1991-2020 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 bfd *output_bfd; +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 boolean trace_files; -extern boolean trace_file_tries; -extern boolean version_printed; -extern boolean whole_archive; -extern boolean demangling; +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 void add_ysym PARAMS ((const char *)); -extern void add_wrap PARAMS ((const char *)); -extern void add_keepsyms_file PARAMS ((const char *filename)); +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) + +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