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:34:05 +0000 (18:34 -0500)
commita6f96dc38527626b38e86c88712c3c1bab506b80
tree2144c743530dc69575cbf2ceacc805884779bddf
parent302b7a6dbc695a07383b5fcb0c6b435c9f4dd136
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.026685 seconds and 4 git commands to generate.