[Toybox] [PATCH] readelf: Fix the section flags handling.
Rob Landley
rob at landley.net
Thu Nov 30 21:30:13 PST 2023
On 11/30/23 13:55, Rob Landley wrote:
> (This is why Mike Gancarz' book "the unix philosophy" talked about unix tool
> output being made to be easily parseable by programs rather than by humans.
> Alas, readelf is from gnu, not from unix, which is why it sucks at this. The nm
> tool has better unix design, which is why bloat-o-meter and make bloatcheck is
> built on top of it. Specifically the --size-sort output which has constant
> fields rather than this "the first word is missing half the time and the
> indentation easily lets a human know but is a pain for a script to deal with
> unless it wants to hardwire in column starting positions and break as soon as a
> field width changes" of the default output.)
Which I hit trying to rewrite this test, too! I was fiddling with it to make the
test specifically test what the patch had updated, and:
$ readelf -SW tests/files/elf/ndk-elf-note-shflags | sed -n 's/.*]//p' | while
read a b c d e f g h i; do printf "$g"; done
Flg0AAAAAAAAA04ALAIAMSAXAXWATWAWAWAWAMS0C26000
Because the output:
.comment PROGBITS 00000000 0006c8 0000cc 01 MS 0 0 1
.ARM.attributes ARM_ATTRIBUTES 00000000 000794 000042 00 0 0 1
Has BLANK COLUMNS. Which is BAD FOR SCRIPT PARSEABILITY. Also:
.relr.dyn 00000013: <unknown> 00000318 000318 00000c 04 A 0 0 4
It inserted an EXTRA COLUMN. (This is the debian version, by the way. I'm trying
to make TEST_HOST pass first...)
Does it have any sort of stat -c syntax where I can at least REQUEST what I want
out of it? No it does not. Because gnu. (Don't suggest it to them, they'll fsck
it up 100% guaranteed.)
Rob
More information about the Toybox
mailing list