/* Parse options for the GNU linker.
- Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012
- Free Software Foundation, Inc.
+ Copyright (C) 1991-2014 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
'\0', NULL, N_("Ignored for GCC LTO option compatibility"),
ONE_DASH },
#endif /* ENABLE_PLUGINS */
+ { {"fuse-ld=", required_argument, NULL, OPTION_IGNORE},
+ '\0', NULL, N_("Ignored for GCC linker option compatibility"),
+ ONE_DASH },
{ {"Qy", no_argument, NULL, OPTION_IGNORE},
'\0', NULL, N_("Ignored for SVR4 compatibility"), ONE_DASH },
{ {"emit-relocs", no_argument, NULL, 'q'},
{ {"pic-executable", no_argument, NULL, OPTION_PIE},
'\0', NULL, NULL, TWO_DASHES },
{ {"sort-common", optional_argument, NULL, OPTION_SORT_COMMON},
- '\0', N_("[=ascending|descending]"),
- N_("Sort common symbols by alignment [in specified order]"),
+ '\0', N_("[=ascending|descending]"),
+ N_("Sort common symbols by alignment [in specified order]"),
TWO_DASHES },
{ {"sort_common", no_argument, NULL, OPTION_SORT_COMMON},
'\0', NULL, NULL, NO_HELP },
{ {"sort-section", required_argument, NULL, OPTION_SORT_SECTION},
- '\0', N_("name|alignment"),
+ '\0', N_("name|alignment"),
N_("Sort sections by name or maximum alignment"), TWO_DASHES },
{ {"spare-dynamic-tags", required_argument, NULL, OPTION_SPARE_DYNAMIC_TAGS},
'\0', N_("COUNT"), N_("How many tags to reserve in .dynamic section"),
'\0', N_("ADDRESS"), N_("Set address of .text section"), ONE_DASH },
{ {"Ttext-segment", required_argument, NULL, OPTION_TTEXT_SEGMENT},
'\0', N_("ADDRESS"), N_("Set address of text segment"), ONE_DASH },
+ { {"Trodata-segment", required_argument, NULL, OPTION_TRODATA_SEGMENT},
+ '\0', N_("ADDRESS"), N_("Set address of rodata segment"), ONE_DASH },
+ { {"Tldata-segment", required_argument, NULL, OPTION_TLDATA_SEGMENT},
+ '\0', N_("ADDRESS"), N_("Set address of ldata segment"), ONE_DASH },
{ {"unresolved-symbols=<method>", required_argument, NULL,
OPTION_UNRESOLVED_SYMBOLS},
'\0', NULL, N_("How to handle unresolved symbols. <method> is:\n"
TWO_DASHES },
{ {"wrap", required_argument, NULL, OPTION_WRAP},
'\0', N_("SYMBOL"), N_("Use wrapper functions for SYMBOL"), TWO_DASHES },
+ { {"ignore-unresolved-symbol", required_argument, NULL,
+ OPTION_IGNORE_UNRESOLVED_SYMBOL},
+ '\0', N_("SYMBOL"),
+ N_("Unresolved SYMBOL will not cause an error or warning"), TWO_DASHES },
};
#define OPTION_COUNT ARRAY_SIZE (ld_options)
break;
#ifdef ENABLE_PLUGINS
case OPTION_PLUGIN:
- if (plugin_opt_plugin (optarg))
- einfo (_("%P%F: %s: error loading plugin\n"),
- plugin_error_plugin ());
+ plugin_opt_plugin (optarg);
break;
case OPTION_PLUGIN_OPT:
if (plugin_opt_plugin_arg (optarg))
case OPTION_TTEXT_SEGMENT:
set_segment_start (".text-segment", optarg);
break;
+ case OPTION_TRODATA_SEGMENT:
+ set_segment_start (".rodata-segment", optarg);
+ break;
+ case OPTION_TLDATA_SEGMENT:
+ set_segment_start (".ldata-segment", optarg);
+ break;
case OPTION_TRADITIONAL_FORMAT:
link_info.traditional_format = TRUE;
break;
case OPTION_VERBOSE:
ldversion (1);
version_printed = TRUE;
- trace_file_tries = TRUE;
+ verbose = TRUE;
overflow_cutoff_limit = -2;
if (optarg != NULL)
{
case OPTION_WRAP:
add_wrap (optarg);
break;
+ case OPTION_IGNORE_UNRESOLVED_SYMBOL:
+ add_ignoresym (&link_info, optarg);
+ break;
case OPTION_DISCARD_NONE:
link_info.discard = discard_none;
break;