.note.tag, readelf and dsynth version detection

Matthew Dillon dillon at backplane.com
Mon Jan 27 17:05:18 PST 2020


Hmm.  that's a good point.  It does look like a repeated structure.  I will
look into it.

-Matt

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

> I was probably lucky :) Of course, I could be wrong, but it seems to me
> that these pieces are not "fields" of the same structure, these are fields
> that belong to two records in the file. Is the order of these records
> guaranteed?
>
> I mean, it’s possible if I rebuild the world now, the linker will arrange
> these records in a different order and everything will be fine, or maybe
> not :)
>
> On Mon, Jan 27, 2020 at 03:56:25PM -0800, Matthew Dillon wrote:
> > 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
> >
>
> --
>   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/062f2a9c/attachment-0001.htm>


More information about the Users mailing list