diff options
| author | Tiezhu Yang <yangtiezhu@loongson.cn> | 2023-06-29 20:58:44 +0800 | 
|---|---|---|
| committer | Huacai Chen <chenhuacai@loongson.cn> | 2023-06-29 20:58:44 +0800 | 
| commit | 19bc6cb6409289106d38f9ad1b2ecf73980df6b5 (patch) | |
| tree | 23e10110a9a710a1ae89e026f971e735a91ec19a /tools/lib/api/debug.h | |
| parent | 6e320363339b585a36bf40d74592db3db021e017 (diff) | |
LoongArch: Add uprobes support
Uprobes is the user-space counterpart to kprobes, this patch adds
uprobes support for LoongArch.
Here is a simple example with CONFIG_UPROBE_EVENTS=y:
  # cat test.c
  #include <stdio.h>
  int add(int a, int b)
  {
  	  return a + b;
  }
  int main()
  {
	  return add(2, 7);
  }
  # gcc test.c -o /tmp/test
  # nm /tmp/test | grep add
  0000000120004194 T add
  # cd /sys/kernel/debug/tracing
  # echo > uprobe_events
  # echo "p:myuprobe /tmp/test:0x4194 %r4 %r5" > uprobe_events
  # echo "r:myuretprobe /tmp/test:0x4194 %r4" >> uprobe_events
  # echo 1 > events/uprobes/enable
  # echo 1 > tracing_on
  # /tmp/test
  # cat trace
  ...
  #           TASK-PID     CPU#  |||||  TIMESTAMP  FUNCTION
  #              | |         |   |||||     |         |
              test-1060    [001] DNZff  1015.770620: myuprobe: (0x120004194) arg1=0x2 arg2=0x7
              test-1060    [001] DNZff  1015.770930: myuretprobe: (0x1200041f0 <- 0x120004194) arg1=0x9
Tested-by: Jeff Xie <xiehuan09@gmail.com>
Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Diffstat (limited to 'tools/lib/api/debug.h')
0 files changed, 0 insertions, 0 deletions
