Page MenuHomeFreeBSD

readelf: simplify Xen string note printing
ClosedPublic

Authored by emaste on Mar 20 2020, 4:52 PM.
Tags
None
Referenced Files
F105928115: D24140.diff
Sun, Dec 22, 6:23 PM
Unknown Object (File)
Sun, Dec 22, 6:08 AM
Unknown Object (File)
Tue, Dec 10, 6:35 PM
Unknown Object (File)
Tue, Dec 10, 7:09 AM
Unknown Object (File)
Nov 3 2024, 3:02 AM
Unknown Object (File)
Nov 2 2024, 10:13 AM
Unknown Object (File)
Nov 2 2024, 9:25 AM
Unknown Object (File)
Nov 2 2024, 8:08 AM
Subscribers

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

contrib/elftoolchain/readelf/readelf.c
3710 ↗(On Diff #69725)

I noticed that this type==0 case didn't exist before. Is this needed? If not, I think you can get rid of the function pointer field in struct note_desc.

contrib/elftoolchain/readelf/readelf.c
3685 ↗(On Diff #69725)

Why don't we dump data in this case anymore?

3710 ↗(On Diff #69725)

It's needed to ensure that loop iteration over xen_notes[] terminates. One common trick which eliminates the need for the nul terminator is to iterate using this pattern:

for (i = 0; i < sizeof(xen_notes) / sizeof(xen_notes[0]) /* sometimes written "nitems(xen_notes)" */; i++)

but existing practice in this code seems to be what Ed is doing, so I think it is ok.

I don't have a strong feeling about the function pointer. Indeed, it can be dropped, but if in the future a note is added that requires a custom print function, it'll need to be re-added.

contrib/elftoolchain/readelf/readelf.c
3685 ↗(On Diff #69725)

returning false now falls through to the unknown: case in dump_notes_data and prints it as hex

3710 ↗(On Diff #69725)

Yeah, my goal is to extend this to add custom print functions, and move all note printing to be done via tables like this.

markj added inline comments.
contrib/elftoolchain/readelf/readelf.c
3685 ↗(On Diff #69725)

Oh, I mixed up the handling of nd->fp's return value.

This revision is now accepted and ready to land.Mar 20 2020, 9:17 PM
This revision was automatically updated to reflect the committed changes.