.note.tag, readelf and dsynth version detection

Matthew Dillon dillon at backplane.com
Mon Jan 27 15:56:25 PST 2020


That's ... weird.  the 'zero' and the 'version' fields are transposed.  Are
you compiling in any special way?   I've tested -release and -master on a
bunch of boxes and they all have the version in the right spot.

-Matt

On Mon, Jan 27, 2020 at 1:45 PM Romick <yellowrabbit2010 at gmail.com> wrote:

> Hello,
> It seems that dsynth defines the system version based on the .note.tag(s)
> in
> /bin/sh and a necessary condition is that these entries follow in a
> certain order.  On my system this is not so :)
>
> ==========
> rabbit at fly ~% readelf -x .note.tag /bin/sh
>
> Hex dump of section '.note.tag':
>   0x00400218 0a000000 04000000 20000000 44726167 ........ ...Drag
>   0x00400228 6f6e466c 79000000 00000000 0a000000 onFly...........
>   0x00400238 04000000 01000000 44726167 6f6e466c ........DragonFl
>   0x00400248 79000000 e5a30700                   y.......
>
> rabbit at fly ~%
> ==========
>
> === /usr/src/usr.bin/dsynth/config.c ===
> struct NoteTag {
>         Elf_Note note;
>         char osname1[12];
>         int version;            /* e.g. 500702 -> 5.7 */
>         int x1;
>         int x2;
>         int x3;
>         char osname2[12];
>         int zero;
> };
> ========================================
>
> --
>   with best regards,
>   Yellow Rabbit @yrabbit at mastodon.sdf.org
>   DragonFly 5.7-DEVELOPMENT x86_64
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dragonflybsd.org/pipermail/users/attachments/20200127/3cc6e014/attachment.htm>


More information about the Users mailing list