X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=ld%2Fldmain.h;h=0f05821d1e8a1ecc11da8fed677831d71fa98a4e;hb=b0eb7e3ea662525545e60fcb092272afaa1cddb2;hp=4f15d55b994b2caea684eb6b2fdc30c70c21aa69;hpb=01f0fe5e0450edf168c1f612feb93cf588e4e7ea;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ldmain.h b/ld/ldmain.h index 4f15d55b99..0f05821d1e 100644 --- a/ld/ldmain.h +++ b/ld/ldmain.h @@ -1,23 +1,22 @@ /* ldmain.h - - Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2002, 2003, 2004, - 2005 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, 51 Franklin Street - Fifth Floor, Boston, MA - 02110-1301, 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 @@ -26,22 +25,38 @@ extern char *program_name; 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 bfd_boolean force_make_executable; extern char *default_target; -extern bfd_boolean trace_files; -extern bfd_boolean trace_file_tries; +extern unsigned int trace_files; +extern bfd_boolean verbose; 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 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) + 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