diff options
author | Ed Maste <emaste@FreeBSD.org> | 2021-01-13 19:21:38 +0000 |
---|---|---|
committer | Ed Maste <emaste@FreeBSD.org> | 2021-01-14 20:09:08 +0000 |
commit | 3dfcb70b6ae9bcb9fd6a66721bebdb8c6a53c329 (patch) | |
tree | 8141c5042cb421ca3a528804f184eedec553928f | |
parent | b360682ac940a4cef1c922c33d685db24a67c96b (diff) | |
download | src-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.c | 10 |
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); |