File it-hooks-target.patch of Package itrace

---
 src/driver/Makefile           |   27 ++++++++++++++++++++++++++-
 src/driver/generate_header.sh |    5 +++++
 2 files changed, 31 insertions(+), 1 deletion(-)

--- a/src/driver/Makefile
+++ b/src/driver/Makefile
@@ -1,6 +1,9 @@
 src := $(ITRACE_DIR)/obj/ppc64
 EXTRA_CFLAGS += -D_LINUX -D_ST_ITRACE_ONLY
 EXTRA_CFLAGS += -I$(src)/../../include
+# for hooks.h
+EXTRA_CFLAGS += -I$(src)
+
 
 obj-m := pitrace.o
 pitrace-objs := pi_init.o pi_hash.o pi_hooks.o
@@ -9,9 +12,31 @@ pitrace-objs += ppc64/pi_itrace.o ppc64/
 pitrace-objs += pi_btrace.o pi_ioctl.o pi_entries.o pi_inspector.o
 
 PI_INSPECTOR_DIR := $(src)
+GH_PROG := ${PI_INSPECTOR_DIR}/generate_header.sh
+HF := ${PI_INSPECTOR_DIR}/hooks.h
+SW := '-systemmapfile'
+
+hooks.h:
+	@echo "generating hooks.h ...................."
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'generate_prolog' 'HOOKS_H')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_switch_to' '[^dD] [.]{0,1}__switch_to$$')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_schedule' '[^dD] [.]{0,1}schedule$$')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_schedule_end' '[^dD] [.]{0,1}io_schedule$$' )
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_ret_from_fork_address' '[^dD] [.]{0,1}ret_from_fork$$')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_schedule2' '[^dD] [.]{0,1}__schedule$$')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'ppc_tb_freq_location' ' ppc_tb_freq$$')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_DoSyscall' '[^dD] [.]{0,1}DoSyscall$$')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_system_call' '[^dD] [.]{0,1}system_call$$')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_page_fault' '[^dD] [.]{0,1}do_page_fault$$')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_force_sig' '[^dD] [.]{0,1}force_sig$$')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_do_syscall_trace_leave' '[^dD] [.]{0,1}do_syscall_trace_leave$$')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_restore_address' '[^dD] restore$$')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_irq' 'hardware_interrupt_entry')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'pi_exit' '\.do_exit')
+	$(shell ${GH_PROG} ${SW} ${SYSMAP} ${HF} 'generate_epilog')
 
 
-modules:
+modules kernelrelease kernelversion:
 	$(MAKE) -C $(KERNEL_SOURCE) SUBDIRS=$(shell pwd) $@
 
 
--- a/src/driver/generate_header.sh
+++ b/src/driver/generate_header.sh
@@ -68,6 +68,11 @@ generate_epilog()
 
 #==============================================================================
 
+if test "$1" = "-systemmapfile" ; then
+	KSYM_SRC=$2
+	shift 2
+fi
+
 HEADER_FILE="${1}"
 if [ "$2" = "generate_prolog" ]; then
 	generate_prolog "$3"
openSUSE Build Service is sponsored by