mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-27 09:38:57 +00:00
Implement ld --print-output-format.
This commit is contained in:
11
ld/ChangeLog
11
ld/ChangeLog
@@ -1,3 +1,14 @@
|
||||
2011-07-16 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
* ld.h (args_type): New field print_output_format.
|
||||
* lexsup.c (enum option_values, ld_options, parse_args):
|
||||
Handle --print-output-format.
|
||||
* ldmain.c (main): Implement --print-output-format.
|
||||
* ld.texinfo (Options): Document it.
|
||||
|
||||
* ldlang.c (lang_get_output_target): Don't return current_target
|
||||
when it's NULL.
|
||||
|
||||
2011-07-15 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* Makefile.am (e*.c): Sort.
|
||||
|
||||
3
ld/ld.h
3
ld/ld.h
@@ -200,6 +200,9 @@ typedef struct {
|
||||
input files. */
|
||||
bfd_boolean accept_unknown_input_arch;
|
||||
|
||||
/* If TRUE we'll just print the default output on stdout. */
|
||||
bfd_boolean print_output_format;
|
||||
|
||||
/* Big or little endian as set on command line. */
|
||||
enum endian_enum endian;
|
||||
|
||||
|
||||
@@ -1401,6 +1401,13 @@ default behaviour (of not listing the sections that are removed) can
|
||||
be restored by specifying @samp{--no-print-gc-sections} on the command
|
||||
line.
|
||||
|
||||
@kindex --print-output-format
|
||||
@cindex output format
|
||||
@item --print-output-format
|
||||
Print the name of the default output format (perhaps influenced by
|
||||
other command-line options). This is the string that would appear
|
||||
in an @code{OUTPUT_FORMAT} linker script command (@pxref{File Commands}).
|
||||
|
||||
@cindex help
|
||||
@cindex usage
|
||||
@kindex --help
|
||||
|
||||
@@ -3052,7 +3052,7 @@ lang_get_output_target (void)
|
||||
|
||||
/* No - has the current target been set to something other than
|
||||
the default? */
|
||||
if (current_target != default_target)
|
||||
if (current_target != default_target && current_target != NULL)
|
||||
return current_target;
|
||||
|
||||
/* No - can we determine the format of the first input file? */
|
||||
|
||||
@@ -427,11 +427,14 @@ main (int argc, char **argv)
|
||||
info_msg ("\n==================================================\n");
|
||||
}
|
||||
|
||||
if (command_line.print_output_format)
|
||||
info_msg ("%s\n", lang_get_output_target ());
|
||||
|
||||
lang_final ();
|
||||
|
||||
if (!lang_has_input_file)
|
||||
{
|
||||
if (version_printed)
|
||||
if (version_printed || command_line.print_output_format)
|
||||
xexit (0);
|
||||
einfo (_("%P%F: no input files\n"));
|
||||
}
|
||||
|
||||
@@ -175,6 +175,7 @@ enum option_values
|
||||
OPTION_PLUGIN_OPT,
|
||||
#endif /* ENABLE_PLUGINS */
|
||||
OPTION_DEFAULT_SCRIPT,
|
||||
OPTION_PRINT_OUTPUT_FORMAT,
|
||||
};
|
||||
|
||||
/* The long options. This structure is used for both the option
|
||||
@@ -491,6 +492,8 @@ static const struct ld_option ld_options[] =
|
||||
{ {"oformat", required_argument, NULL, OPTION_OFORMAT},
|
||||
'\0', N_("TARGET"), N_("Specify target of output file"),
|
||||
EXACTLY_TWO_DASHES },
|
||||
{ {"print-output-format", no_argument, NULL, OPTION_PRINT_OUTPUT_FORMAT},
|
||||
'\0', NULL, N_("Print default output format"), TWO_DASHES },
|
||||
{ {"qmagic", no_argument, NULL, OPTION_IGNORE},
|
||||
'\0', NULL, N_("Ignored for Linux compatibility"), ONE_DASH },
|
||||
{ {"reduce-memory-overheads", no_argument, NULL,
|
||||
@@ -1059,6 +1062,9 @@ parse_args (unsigned argc, char **argv)
|
||||
case OPTION_OFORMAT:
|
||||
lang_add_output_format (optarg, NULL, NULL, 0);
|
||||
break;
|
||||
case OPTION_PRINT_OUTPUT_FORMAT:
|
||||
command_line.print_output_format = TRUE;
|
||||
break;
|
||||
#ifdef ENABLE_PLUGINS
|
||||
case OPTION_PLUGIN:
|
||||
if (plugin_opt_plugin (optarg))
|
||||
|
||||
Reference in New Issue
Block a user