mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-22 23:04:43 +00:00
liblockdep: Wrap kernel/locking/lockdep.c to allow usage from userspace
kernel/locking/lockdep.c deals with validating locking scenarios for various architectures supported by the kernel. There isn't anything kernel specific going on in lockdep, and when we compare userspace to other architectures that don't have to deal with irqs such as s390, they become all too similar. We wrap kernel/locking/lockdep.c and include/linux/lockdep.h with several headers which allow us to build and use lockdep from userspace. We don't touch the kernel code itself which means that any work done on lockdep in the kernel will automatically benefit userspace lockdep as well! Signed-off-by: Sasha Levin <sasha.levin@oracle.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: torvalds@linux-foundation.org Link: http://lkml.kernel.org/r/1371163284-6346-3-git-send-email-sasha.levin@oracle.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
parent
8dce7a9a6f
commit
5634bd7d2a
40 changed files with 720 additions and 0 deletions
32
tools/lib/lockdep/uinclude/linux/kallsyms.h
Normal file
32
tools/lib/lockdep/uinclude/linux/kallsyms.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
#ifndef _LIBLOCKDEP_LINUX_KALLSYMS_H_
|
||||
#define _LIBLOCKDEP_LINUX_KALLSYMS_H_
|
||||
|
||||
#include <linux/kernel.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define KSYM_NAME_LEN 128
|
||||
|
||||
struct module;
|
||||
|
||||
static inline const char *kallsyms_lookup(unsigned long addr,
|
||||
unsigned long *symbolsize,
|
||||
unsigned long *offset,
|
||||
char **modname, char *namebuf)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#include <execinfo.h>
|
||||
#include <stdlib.h>
|
||||
static inline void print_ip_sym(unsigned long ip)
|
||||
{
|
||||
char **name;
|
||||
|
||||
name = backtrace_symbols((void **)&ip, 1);
|
||||
|
||||
printf("%s\n", *name);
|
||||
|
||||
free(name);
|
||||
}
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue