Fix: system call instrumentation overrides
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 25 Feb 2016 15:46:54 +0000 (10:46 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 7 Mar 2016 23:25:18 +0000 (18:25 -0500)
commit769ad37074a5979b6eef686352c17fb3ba8c9a4d
treeef528bb8fbde1e13ed526829e0712042ef7aef02
parent397c12b422ce844037885f5c35d824dd5ae4fec6
Fix: system call instrumentation overrides

* All architectures

- For mmap, print the "ret" value as an hexadecimal integer (rather than
  base 10), which better suits a pointer.
- Add missing "clone" override define, which ensures the clone
  system call override is used rather than leaving it as an
  "unknown" system call.

* ARM32

- Add missing output return values to arm_fadvise64_64,
  sync_file_range2.
- Handle the 64-bit parameters of both arm_fadvise64_64 and
  sync_file_range2 correctly on arm32, on big and little endian builds.
- Move the mmap2 system call instrumentation from "pointers" to
  "integers" override header, and add the missing return value
  (sc_exit).

* PPC32

- Add sync_file_range2 system call instrumentation. Handle the
  64-bit parameters on big and little endian builds.
- Move the mmap2 system call instrumentation from "pointers" to
  "integers" override header, and add the missing return value
  (sc_exit).

* PPC64 compat

- Include compatibility (ppc32) header in ppc64 build to trace compat
  system calls on PPC64 big endian.

* x86-32

- Add mmap2 system call instrumentation override.
- Add sync_file_range instrumentation override, correctly combining
  the low/high parts of offset and nbytes into 64-bit fields.

Tested-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
instrumentation/syscalls/headers/arm-32-syscalls-3.4.25_integers_override.h
instrumentation/syscalls/headers/arm-32-syscalls-3.4.25_pointers_override.h
instrumentation/syscalls/headers/compat_syscalls_integers.h
instrumentation/syscalls/headers/compat_syscalls_pointers.h
instrumentation/syscalls/headers/powerpc-32-syscalls-3.0.34_integers_override.h
instrumentation/syscalls/headers/powerpc-32-syscalls-3.0.34_pointers_override.h
instrumentation/syscalls/headers/syscalls_integers_override.h
instrumentation/syscalls/headers/syscalls_pointers_override.h
instrumentation/syscalls/headers/x86-32-syscalls-3.1.0-rc6_integers_override.h
This page took 0.027314 seconds and 4 git commands to generate.