<div dir="ltr">Hmm. that's a good point. It does look like a repeated structure. I will look into it.<div><br></div><div>-Matt</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 27, 2020 at 4:15 PM Romick <<a href="mailto:yellowrabbit2010@gmail.com">yellowrabbit2010@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I was probably lucky :) Of course, I could be wrong, but it seems to me<br>
that these pieces are not "fields" of the same structure, these are fields<br>
that belong to two records in the file. Is the order of these records<br>
guaranteed?<br>
<br>
I mean, it’s possible if I rebuild the world now, the linker will arrange<br>
these records in a different order and everything will be fine, or maybe<br>
not :)<br>
<br>
On Mon, Jan 27, 2020 at 03:56:25PM -0800, Matthew Dillon wrote:<br>
> That's ... weird. the 'zero' and the 'version' fields are transposed. Are you<br>
> compiling in any special way? I've tested -release and -master on a bunch of<br>
> boxes and they all have the version in the right spot.<br>
> <br>
> -Matt<br>
> <br>
> On Mon, Jan 27, 2020 at 1:45 PM Romick <<a href="mailto:yellowrabbit2010@gmail.com" target="_blank">yellowrabbit2010@gmail.com</a>> wrote:<br>
> <br>
> Hello,<br>
> It seems that dsynth defines the system version based on the .note.tag(s)<br>
> in<br>
> /bin/sh and a necessary condition is that these entries follow in a<br>
> certain order. On my system this is not so :)<br>
> <br>
> ==========<br>
> rabbit@fly ~% readelf -x .note.tag /bin/sh<br>
> <br>
> Hex dump of section '.note.tag':<br>
> 0x00400218 0a000000 04000000 20000000 44726167 ........ ...Drag<br>
> 0x00400228 6f6e466c 79000000 00000000 0a000000 onFly...........<br>
> 0x00400238 04000000 01000000 44726167 6f6e466c ........DragonFl<br>
> 0x00400248 79000000 e5a30700 y.......<br>
> <br>
> rabbit@fly ~%<br>
> ==========<br>
> <br>
> === /usr/src/usr.bin/dsynth/config.c ===<br>
> struct NoteTag {<br>
> Elf_Note note;<br>
> char osname1[12];<br>
> int version; /* e.g. 500702 -> 5.7 */<br>
> int x1;<br>
> int x2;<br>
> int x3;<br>
> char osname2[12];<br>
> int zero;<br>
> };<br>
> ========================================<br>
> <br>
> --<br>
> with best regards, <br>
> Yellow Rabbit @<a href="mailto:yrabbit@mastodon.sdf.org" target="_blank">yrabbit@mastodon.sdf.org</a><br>
> DragonFly 5.7-DEVELOPMENT x86_64<br>
> <br>
<br>
-- <br>
with best regards, <br>
Yellow Rabbit @<a href="mailto:yrabbit@mastodon.sdf.org" target="_blank">yrabbit@mastodon.sdf.org</a><br>
DragonFly 5.7-DEVELOPMENT x86_64<br>
</blockquote></div>