[PATCH 0/2] [GSoC] add signalfd fdinfo decoding

Dmitry V. Levin ldv at strace.io
Thu Mar 30 22:09:57 UTC 2023


On Sun, Mar 26, 2023 at 01:06:01AM +0800, leedagee wrote:
[...]
> I'm not sure if it works on a BIG-endian machine because I've wrote some
> endianness dependent code. I currently cannot come up with a more elegant
> way to deal with this kind of situation: variable length of hex string to
> memory buffer conversion. And the CI on github covers only x86 platforms.

I found a few bigendian hosts, and indeed signalfd4-yy.gen test fails there.

Linux gcc203 6.0.0-6-powerpc64 #1 SMP Debian 6.0.12-1 (2022-12-09) ppc64 GNU/Linux:
-signalfd4(-1, [USR2], 8, SFD_CLOEXEC|SFD_NONBLOCK) = 3<signalfd:[USR2]>
-signalfd4(3<signalfd:[USR2]>, [USR2 CHLD], 8, 0) = 3<signalfd:[USR2 CHLD]>
+signalfd4(-1, [USR2], 8, SFD_CLOEXEC|SFD_NONBLOCK) = 3<signalfd:[RT_12]>
+signalfd4(3<signalfd:[RT_12]>, [USR2 CHLD], 8, 0) = 3<signalfd:[RT_12 RT_17]>

Linux lgentoo3.s390.dev.gentoo.org 6.0.9-gentoo #1 SMP Thu Nov 24 15:51:23 EST 2022 s390 8561 IBM GNU/Linux:
-signalfd4(-1, [USR2], 8, SFD_CLOEXEC|SFD_NONBLOCK) = 3<signalfd:[USR2]>
-signalfd4(3<signalfd:[USR2]>, [USR2 CHLD], 8, 0) = 3<signalfd:[USR2 CHLD]>
+signalfd4(-1, [USR2], 8, SFD_CLOEXEC|SFD_NONBLOCK) = 3<signalfd:[RT_12]>
+signalfd4(3<signalfd:[RT_12]>, [USR2 CHLD], 8, 0) = 3<signalfd:[RT_12 RT_17]>

Linux gcc102.fsffrance.org 6.1.0+ #1 SMP Tue Dec 13 08:35:29 CST 2022 sparc64 GNU/Linux:
-signalfd4(-1, [USR2], 8, SFD_CLOEXEC|SFD_NONBLOCK) = 3<signalfd:[USR2]>
-signalfd4(3<signalfd:[USR2]>, [CHLD USR2], 8, 0) = 3<signalfd:[CHLD USR2]>
+signalfd4(-1, [USR2], 8, SFD_CLOEXEC|SFD_NONBLOCK) = 3<signalfd:[RT_31]>
+signalfd4(3<signalfd:[RT_31]>, [CHLD USR2], 8, 0) = 3<signalfd:[RT_20 RT_31]>


-- 
ldv


More information about the Strace-devel mailing list