ubuntu 11.10, systemtap and building my own kernel

Robert P. J. Day rpjday at crashcourse.ca
Tue Apr 10 16:17:25 EDT 2012


On Tue, 10 Apr 2012, Frank Ch. Eigler wrote:

>
> rpjday wrote:
>
> > [...]
> > $ stap -e 'probe kernel.function("sys_open") {log("hello world") exit()}'
> > and got:
> > ===== start =====
> > [...]
> > cc1: all warnings being treated as errors
> > make[1]: *** [/tmp/stapadEYdA/stap_59bddd394f89d5f186da7e250db36434_876.o] Error 1
> > make: *** [_module_/tmp/stapadEYdA] Error 2
> > Pass 4: compilation failed.  Try again with another '--vp 0001' option.
>
> Please try systemtap 1.7, or build one out of
> <git://sourceware.org/git/systemtap.git>.  Newer kernels sometimes
> break systemtap assumptions; these are fixed pretty quickly in the
> source tree, and get rolled into later releases.
>
> Please report any further problems at <systemtap at sourceware.org>,
> including /usr/bin/stap-report output, if able.

  just FYI, this is the current problem:

===== begin =====

$ git show 615399c84d1b8d8d8752629e5e5ab4e5044d6918
commit 615399c84d1b8d8d8752629e5e5ab4e5044d6918
Author: Rusty Russell <rusty at rustcorp.com.au>
Date:   Thu Mar 29 15:38:31 2012 +1030

    cpumask: remove old cpu_*_map.

    These are obsolete: cpu_*_mask provides (const) pointers.

    Signed-off-by: Rusty Russell <rusty at rustcorp.com.au>

diff --git a/include/linux/cpumask.h b/include/linux/cpumask.h
index 1ffdb98..a2c819d 100644
--- a/include/linux/cpumask.h
+++ b/include/linux/cpumask.h
@@ -764,12 +764,6 @@ static inline const struct cpumask *get_cpu_mask(unsigned int cpu)
  *
  */
 #ifndef CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS
-/* These strip const, as traditionally they weren't const. */
-#define cpu_possible_map       (*(cpumask_t *)cpu_possible_mask)
-#define cpu_online_map         (*(cpumask_t *)cpu_online_mask)
-#define cpu_present_map                (*(cpumask_t *)cpu_present_mask)
-#define cpu_active_map         (*(cpumask_t *)cpu_active_mask)
-
 #define cpumask_of_cpu(cpu) (*get_cpu_mask(cpu))

 #define CPU_MASK_LAST_WORD BITMAP_LAST_WORD_MASK(NR_CPUS)

===== end =====

  in current systemtap, runtime.h:

#define stp_for_each_cpu(cpu)  for_each_cpu_mask((cpu), cpu_possible_map)

so that's definitely going to fail.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================



More information about the Kernelnewbies mailing list