syscalls: Make clone()'s `flags` field a 2 enum struct.
authorGeneviève Bastien <gbastien@versatic.net>
Wed, 1 Apr 2020 18:31:49 +0000 (14:31 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 21 Oct 2020 15:30:24 +0000 (11:30 -0400)
commitd775625e2ba4825b73b5897e7701ad6e2bdba115
treed35dd174dd722818665861fba3ec21efb9e6528c
parent092ffe9764a1f127a33dc8eed682f7cd5e81bed1
syscalls: Make clone()'s `flags` field a 2 enum struct.

The clone system call has a flags field, whose values are defined in
uapi/linux/sched.h file. This field is now a struct made of 2
enumerations to make the values more readable/meaningful.

The `flags` field has two parts:
  1. exit signal: the least significant byte of the `unsigned long` is
      the signal the kernel need to send to the parent process on child
      exit,
  2. clone options: the remaining bytes of the `unsigned long` is used a
      bitwise flag for the clone options.

Those 2-in-1 fields should be printed using two different CTF fields.

Here's an example babeltrace output of the clone system call:
  syscall_entry_clone: { cpu_id = 2 }, { flags = { exit_signal = ( "SIGCHLD" : container = 0x11 ), options = ( "CLONE_CHILD_CLEARTID" | "CLONE_CHILD_SETTID" : container = 0x12000 ) }

Change-Id: Ic375b59fb3b6564f036e1af24d66c0c7069b47d6
Signed-off-by: Geneviève Bastien <gbastien@versatic.net>
Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/instrumentation/syscalls/headers/syscalls_pointers_override.h
This page took 0.026098 seconds and 4 git commands to generate.