summaryrefslogtreecommitdiffstats
path: root/src/strip.c
diff options
context:
space:
mode:
authorRoland McGrath <[email protected]>2005-08-09 04:58:05 +0000
committerRoland McGrath <[email protected]>2005-08-09 04:58:05 +0000
commit8f31c2c6f18323daf2a6ce30a24fa4dfe0a70fb3 (patch)
treea4fdcb7857d3750769f6c2dd13c64e5af66a12df /src/strip.c
parent095a01b14c2562a33615f079f300ac86da95bc56 (diff)
2005-08-08 Roland McGrath <[email protected]>
* 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.
Diffstat (limited to 'src/strip.c')
-rw-r--r--src/strip.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/strip.c b/src/strip.c
index 2de5d6b8..37f9eb0e 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;
}