1ERROR::PASS4(7stap)                                        ERROR::PASS4(7stap)
2
3
4

NAME

6       error::pass4 - systemtap pass-4 errors
7
8
9

DESCRIPTION

11       Errors that occur during pass 4 (compilation) have generally only a few
12       causes:
13
14
15       kernel or OS version changes
16              The systemtap runtime and embedded-C  fragments  in  the  tapset
17              library  are  designed  to be portable across a wide range of OS
18              versions.  However, incompatibilities can  occur  when  some  OS
19              changes  occur,  such  as kernel modifications that change func‐
20              tions, types,  or  macros  referenced  by  systemtap.   Upstream
21              (git://sourceware.org/git/systemtap.git) builds of systemtap are
22              often quickly updated to include relevant fixes, so try  getting
23              or  making an updated build.  Reworded: build systemtap from git
24              for use with very young kernels.  If the issue persists,  report
25              the problem to the systemtap developers.
26
27
28       buggy embedded-C code
29              Embedded-C  code  in your own guru-mode script cannot be checked
30              by systemtap, and is passed through verbatim  to  the  compiler.
31              Errors  in  such snippets of code may be found during the pass-4
32              compiler invocation, though may be hard to identify by the  com‐
33              piler errors.
34
35
36       incompatible embedded-C code
37              The  interface  standards  between  systemtap-generated code and
38              embedded-C code occasionally change.  For example,  before  ver‐
39              sion  1.8,  arguments  were  passed  using  macros THIS->foo and
40              THIS->__retvalue but from version 1.8 onward, using STAP_ARG_foo
41              and STAP_RETVALUE.  Adjust your embedded-C code to current stan‐
42              dards, or use the stap --compatible=VERSION option to make  sys‐
43              temtap use a different one.
44
45
46       compiler bugs and mysteries
47              Messages  such  as  "internal  compiler  error" suggest compiler
48              problems.  These should be reported to the  compiler  developers
49              in the form of a preprocessed .i file, plus the compiler command
50              line.  To gather relevant information, run
51
52              stap -k --vp 0003 -p4 ....
53
54              Systemtap will report the saved  temporary  directory,  and  the
55              compiler command line it attempted.  Go to the directory to find
56              he main generated file stap_NNNNN_src.c.  Force the compiler  to
57              produce a preprocessed file with:
58
59              make -C /lib/modules/`uname -r`/build M=`pwd` stap_NNNNN_src.i
60
61              (note the .i suffix), and the compiler command line should be in
62              the file .stap_NNNNN_src.i.cmd.
63
64

SEE ALSO

66       stap(1),
67       error::reporting(7stap)
68
69
70
71                                                           ERROR::PASS4(7stap)
Impressum