elfctl: avoid touching file if no change made
Suggested by: brooks Reviewed by: brooks, markj MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D30452
This commit is contained in:
parent
df8437a93d
commit
3f2508b7f3
@ -291,7 +291,7 @@ convert_to_feature_val(char *feature_str, uint32_t *feature_val)
|
||||
static bool
|
||||
edit_file_features(Elf *elf, int phcount, int fd, char *val, bool endian_swap)
|
||||
{
|
||||
uint32_t features;
|
||||
uint32_t features, prev_features;
|
||||
uint64_t off;
|
||||
|
||||
if (!get_file_features(elf, phcount, fd, &features, &off,
|
||||
@ -300,8 +300,12 @@ edit_file_features(Elf *elf, int phcount, int fd, char *val, bool endian_swap)
|
||||
return (false);
|
||||
}
|
||||
|
||||
prev_features = features;
|
||||
if (!convert_to_feature_val(val, &features))
|
||||
return (false);
|
||||
/* Avoid touching file if no change. */
|
||||
if (features == prev_features)
|
||||
return (true);
|
||||
|
||||
if (endian_swap)
|
||||
features = bswap32(features);
|
||||
|
Loading…
Reference in New Issue
Block a user