aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Maste <emaste@FreeBSD.org>2021-01-13 19:21:38 +0000
committerEd Maste <emaste@FreeBSD.org>2021-01-14 20:09:08 +0000
commit3dfcb70b6ae9bcb9fd6a66721bebdb8c6a53c329 (patch)
tree8141c5042cb421ca3a528804f184eedec553928f
parentb360682ac940a4cef1c922c33d685db24a67c96b (diff)
downloadsrc-3dfcb70b6ae9bcb9fd6a66721bebdb8c6a53c329.tar.gz
src-3dfcb70b6ae9bcb9fd6a66721bebdb8c6a53c329.zip
elfctl: add backwards compatibility for "no" prefixes
I am going to prefix opt-out ELF feature flag names with "no" to make their meaning more clear (review D28139), but there are some uses of the existing names already (e.g., the PR referenced below). For now accept the older, unprefixed name as well, and emit a warning. We can revert this after FreeBSD 13 branches. % elfctl -e +aslr foo elfctl: interpreting aslr as noaslr; please specify noaslr PR: 239873 (related) MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D28140
-rw-r--r--usr.bin/elfctl/elfctl.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/usr.bin/elfctl/elfctl.c b/usr.bin/elfctl/elfctl.c
index 9d75c002d82c..570bdba2e2be 100644
--- a/usr.bin/elfctl/elfctl.c
+++ b/usr.bin/elfctl/elfctl.c
@@ -232,6 +232,16 @@ convert_to_feature_val(char *feature_str, uint32_t *feature_val)
input |= featurelist[i].value;
break;
}
+ /* XXX Backwards compatibility for "no"-prefix flags. */
+ if (strncmp(featurelist[i].alias, "no", 2) == 0 &&
+ strcmp(featurelist[i].alias + 2, feature) == 0) {
+ input |= featurelist[i].value;
+ warnx(
+ "interpreting %s as %s; please specify %s",
+ feature, featurelist[i].alias,
+ featurelist[i].alias);
+ break;
+ }
}
if (i == len) {
warnx("%s is not a valid feature", feature);