public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [patch] Alter syscall.brk and syscall.mremap to support IA64
@ 2007-09-18 14:20 Lai Jiangshan
  2007-09-18 16:31 ` Wenji Huang
  0 siblings, 1 reply; 4+ messages in thread
From: Lai Jiangshan @ 2007-09-18 14:20 UTC (permalink / raw)
  To: systemtap

Hi, all
     In the current tapset, kernel function sys_brk and sys_mremap are
used to probe syscall.brk and syscall.mremap. But on IA64, the entries
of syscall brk and mremap are actually ia64_brk and ia64_mremap, but not
sys_brk and sys_mremap. Though I think ia64's kernel function will be
finally changed to sys_brk and sys_mremap, it will be a long time so it
is inconvenient for users to probe these 2 syscalls on IA64. So I added
the probe points to syscall.brk and syscall.mremap for IA64 as following:

diff -Nur /usr/share/systemtap/tapset/syscalls.stp tapset/syscalls.stp
--- /usr/share/systemtap/tapset/syscalls.stp	2007-09-18 10:11:15.000000000 +0900
+++ tapset/syscalls.stp	2007-09-18 12:07:19.000000000 +0900
@@ -178,12 +178,14 @@
 
 # brk ________________________________________________________
 # unsigned long sys_brk(unsigned long brk)
-probe syscall.brk = kernel.function("sys_brk") {
+probe syscall.brk = kernel.function("sys_brk"),
+		kernel.function("ia64_brk") ? {
 	name = "brk"
 	brk = $brk
 	argstr = sprintf("%p", brk)
 }
-probe syscall.brk.return = kernel.function("sys_brk").return {
+probe syscall.brk.return = kernel.function("sys_brk").return,
+		kernel.function("ia64_brk").return ? {
 	name = "brk"
 	retstr = returnstr(1)
 }
@@ -2546,7 +2548,8 @@
 #            unsigned long flags,
 #            unsigned long new_addr)
 #
-probe syscall.mremap = kernel.function("sys_mremap") {
+probe syscall.mremap = kernel.function("sys_mremap"),
+		kernel.function("ia64_mremap") ? {
 	name = "mremap"
 	old_address = $addr
 	old_size = $old_len
@@ -2556,7 +2559,8 @@
 	argstr = sprintf("%p, %d, %d, %s, %p", $addr, $old_len, $new_len,
 		_mmap_flags($flags), $new_addr)
 }
-probe syscall.mremap.return = kernel.function("sys_mremap").return {
+probe syscall.mremap.return = kernel.function("sys_mremap").return,
+		kernel.function("ia64_mremap").return ? {
 	name = "mremap"
 	retstr = returnstr(2)
 }



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-09-25  3:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-09-18 14:20 [patch] Alter syscall.brk and syscall.mremap to support IA64 Lai Jiangshan
2007-09-18 16:31 ` Wenji Huang
2007-09-19  9:30   ` Lai Jiangshan
2007-09-25 15:17     ` Lai Jiangshan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).