From 8f31c2c6f18323daf2a6ce30a24fa4dfe0a70fb3 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Tue, 9 Aug 2005 04:58:05 +0000 Subject: [PATCH] 2005-08-08 Roland McGrath * strip.c (options, parse_opt): Grok -R .comment for compatibility with binutils strip. Likewise -d, -S, as aliases for -g. Likewise ignore -s/--strip-all. --- src/ChangeLog | 6 ++++++ src/strip.c | 20 ++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index 8122903..a285ac5 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2005-08-08 Roland McGrath + + * strip.c (options, parse_opt): Grok -R .comment for compatibility + with binutils strip. Likewise -d, -S, as aliases for -g. + Likewise ignore -s/--strip-all. + 2005-08-07 Roland McGrath * strip.c (process_file): Open read-only when using a different output diff --git a/src/strip.c b/src/strip.c index 2de5d6b..37f9eb0 100644 --- a/src/strip.c +++ b/src/strip.c @@ -63,11 +63,15 @@ static const struct argp_option options[] = { NULL, 'F', "FILE", 0, N_("Embed name FILE instead of -f argument"), 0 }, { NULL, 0, NULL, 0, N_("Output options:"), 0 }, + { "strip-all", 's', NULL, OPTION_HIDDEN, NULL, 0 }, { "strip-debug", 'g', NULL, 0, N_("Remove all debugging symbols"), 0 }, + { NULL, 'd', NULL, OPTION_ALIAS, NULL, 0 }, + { NULL, 'S', NULL, OPTION_ALIAS, NULL, 0 }, { "preserve-dates", 'p', NULL, 0, N_("Copy modified/access timestamps to the output"), 0 }, { "remove-comment", OPT_REMOVE_COMMENT, NULL, 0, N_("Remove .comment section"), 0 }, + { "remove-section", 'R', "SECTION", OPTION_HIDDEN, NULL, 0 }, { "permissive", OPT_PERMISSIVE, NULL, 0, N_("Relax a few rules to handle slightly broken ELF files"), 0 }, { NULL, 0, NULL, 0, NULL, 0 } @@ -235,7 +239,20 @@ parse_opt (int key, char *arg, remove_comment = true; break; + case 'R': + if (!strcmp (arg, ".comment")) + remove_comment = true; + else + { + argp_error (state, + gettext ("-R option supports only .comment section")); + return EINVAL; + } + break; + case 'g': + case 'd': + case 'S': remove_debug = true; break; @@ -243,6 +260,9 @@ parse_opt (int key, char *arg, permissive = true; break; + case 's': /* Ignored for compatibility. */ + break; + default: return ARGP_ERR_UNKNOWN; } -- 2.7.4