#define OPTION_PREFIX_SYMBOLS (OPTION_ALT_MACH_CODE + 1)
#define OPTION_PREFIX_SECTIONS (OPTION_PREFIX_SYMBOLS + 1)
#define OPTION_PREFIX_ALLOC_SECTIONS (OPTION_PREFIX_SECTIONS + 1)
+#define OPTION_FORMATS_INFO (OPTION_PREFIX_ALLOC_SECTIONS + 1)
/* Options to handle if running as "strip". */
{"discard-locals", no_argument, 0, 'X'},
{"format", required_argument, 0, 'F'}, /* Obsolete */
{"help", no_argument, 0, 'h'},
+ {"info", no_argument, 0, OPTION_FORMATS_INFO},
{"input-format", required_argument, 0, 'I'}, /* Obsolete */
{"input-target", required_argument, 0, 'I'},
{"keep-symbol", required_argument, 0, 'K'},
{"format", required_argument, 0, 'F'}, /* Obsolete */
{"gap-fill", required_argument, 0, OPTION_GAP_FILL},
{"help", no_argument, 0, 'h'},
+ {"info", no_argument, 0, OPTION_FORMATS_INFO},
{"input-format", required_argument, 0, 'I'}, /* Obsolete */
{"input-target", required_argument, 0, 'I'},
{"interleave", required_argument, 0, 'i'},
-v --verbose List all object files modified\n\
-V --version Display this program's version number\n\
-h --help Display this output\n\
+ --info List object formats & architectures supported\n\
"));
list_supported_targets (program_name, stream);
if (exit_status == 0)
-v --verbose List all object files modified\n\
-V --version Display this program's version number\n\
-h --help Display this output\n\
+ --info List object formats & architectures supported\n\
-o <file> Place stripped output into <file>\n\
"));
int argc;
char *argv[];
{
- char *input_target = NULL, *output_target = NULL;
+ char *input_target = NULL;
+ char *output_target = NULL;
bfd_boolean show_version = FALSE;
- int c, i;
+ bfd_boolean formats_info = FALSE;
+ int c;
+ int i;
struct section_list *p;
char *output_file = NULL;
case 'V':
show_version = TRUE;
break;
+ case OPTION_FORMATS_INFO:
+ formats_info = TRUE;
+ break;
case 0:
/* We've been given a long option. */
break;
}
}
+ if (formats_info)
+ {
+ display_info ();
+ return 0;
+ }
+
if (show_version)
print_version ("strip");
char *argv[];
{
char * binary_architecture = NULL;
- char *input_filename = NULL, *output_filename = NULL;
- char *input_target = NULL, *output_target = NULL;
+ char *input_filename = NULL;
+ char *output_filename = NULL;
+ char *input_target = NULL;
+ char *output_target = NULL;
bfd_boolean show_version = FALSE;
bfd_boolean change_warn = TRUE;
+ bfd_boolean formats_info = FALSE;
int c;
struct section_list *p;
struct stat statbuf;
show_version = TRUE;
break;
+ case OPTION_FORMATS_INFO:
+ formats_info = TRUE;
+ break;
+
case OPTION_WEAKEN:
weaken = TRUE;
break;
}
}
+ if (formats_info)
+ {
+ display_info ();
+ return 0;
+ }
+
if (show_version)
print_version ("objcopy");
/* If there is no destination file then create a temp and rename
the result into the input. */
-
if (output_filename == (char *) NULL)
{
char *tmpname = make_tempname (input_filename);