On Mon, Dec 23, 2019 at 11:12:04PM -0800, Rich Felker wrote:<br>
> (Apologies if this is a duplicate of something already reported here or elsewhere. I could have sworn I already reported and had communication about it, but I can't find record of that anywhere.)<br>
<br>
Yes, you've commented on this subject already, see<br>
https://lists.strace.io/pipermail/strace-devel/2019-November/009223.html<br>
<br>
> strace gets the structure definitions and command macro values from `sys/ipc.h`, `sys/sem.h`, etc. only falling back to the kernel uapi headers if these are missing. However, for moving 32-bit archs to 64-bit `time_t`, the application-facing/libc types for `semid_ds`, etc. must necessarily mismatch the kernel types since the existing time fields lack correct alignment (and on some archs, even lack padding) to be expanded/used in-place.<br>
> <br>
> Since strace wants to be working with the structures and command numbers present in the tracee's interface with the kernel, not its own interface with libc, it should be including the kernel uapi headers for these definitions.<br>
<br>
According to strace testsuite, this change, unfortunately, causes<br>
regressions: the structures returned by msgctl and shmctl syscalls are<br>
no longer printed correctly for some architectures. For example, this<br>
happens with x32 tracee on x86_64 and with 32-bit tracee on sparc64.<br>
Compared with glibc headers, kernel UAPI headers are apparently not good<br>
enough for this job and have to be fixed first.<br>
<br>
https://lists.strace.io/pipermail/strace-devel/2019-November/009250.html<br>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/strace/strace/issues/116?email_source=notifications&email_token=AAFX7DFTGHQBLN6LPTB7EO3Q5UOFNA5CNFSM4J63O5QKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI3AWII#issuecomment-573967137">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAFX7DFLQWUCJIVH5ZUHQ6LQ5UOFNANCNFSM4J63O5QA">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AAFX7DFRNB2LRTH7VFCILWTQ5UOFNA5CNFSM4J63O5QKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI3AWII.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/strace/strace/issues/116?email_source=notifications\u0026email_token=AAFX7DFTGHQBLN6LPTB7EO3Q5UOFNA5CNFSM4J63O5QKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI3AWII#issuecomment-573967137",
"url": "https://github.com/strace/strace/issues/116?email_source=notifications\u0026email_token=AAFX7DFTGHQBLN6LPTB7EO3Q5UOFNA5CNFSM4J63O5QKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEI3AWII#issuecomment-573967137",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>