crash-stack: Make ptrace callstack feature selective 00/107100/1 accepted/tizen/3.0/common/20161227.102347 accepted/tizen/3.0/ivi/20161227.011727 accepted/tizen/3.0/mobile/20161227.011714 accepted/tizen/3.0/tv/20161227.011720 accepted/tizen/3.0/wearable/20161227.011722 submit/tizen_3.0/20161226.231846
authorSunmin Lee <sunm.lee@samsung.com>
Mon, 26 Dec 2016 11:31:43 +0000 (20:31 +0900)
committerSunmin Lee <sunm.lee@samsung.com>
Mon, 26 Dec 2016 11:46:36 +0000 (20:46 +0900)
In Tizen 3.0, the crash-stack using ptrace to generate callstack
will be offered as a choice.
Developers can enable this feature through setting a variable as on:
TIZEN_FEATURE_PTRACE_CALLSTACK

Change-Id: I7dfbf563144174abcd5e50677eb8943cdb8d8ebe
Signed-off-by: Sunmin Lee <sunm.lee@samsung.com>
CMakeLists.txt
packaging/crash-worker.spec
src/crash-manager/crash-manager.c
src/crash-manager/crash-manager.h.in

index 7dc9668..a3ca59d 100644 (file)
@@ -11,7 +11,9 @@ IF("${SYS_ASSERT}" STREQUAL "ON")
 ENDIF("${SYS_ASSERT}" STREQUAL "ON")
 
 ADD_SUBDIRECTORY(src/crash-pipe)
-ADD_SUBDIRECTORY(src/crash-stack)
+IF(TIZEN_FEATURE_PTRACE_CALLSTACK STREQUAL on)
+       ADD_SUBDIRECTORY(src/crash-stack)
+ENDIF()
 
 ADD_SUBDIRECTORY(src/dump_systemstate)
 ADD_SUBDIRECTORY(src/log_dump)
index c6d1b9b..a7dddc6 100644 (file)
@@ -2,6 +2,7 @@
 %define on_off() %{expand:%%{?with_%{1}:ON}%%{!?with_%{1}:OFF}}
 
 %define _with_sys_assert on
+%define TIZEN_FEATURE_PTRACE_CALLSTACK off
 %bcond_with doc
 %bcond_with core_dump
 %bcond_with sys_assert
@@ -96,10 +97,13 @@ export CFLAGS+=" -Werror"
           -DCRASH_PATH=%{crash_path} \
           -DCRASH_TEMP=%{crash_temp} \
           -DCRASH_PIPE_PATH=%{_libexecdir}/crash-pipe \
+%if "%{TIZEN_FEATURE_PTRACE_CALLSTACK}" == "on"
           -DCRASH_STACK_PATH=%{_libexecdir}/crash-stack \
+%endif
           -DSYS_ASSERT=%{on_off sys_assert} \
           -DUPGRADE_SCRIPT_PATH=%{upgrade_script_path} \
-          -DWITH_CORE_DUMP=%{on_off core_dump}
+          -DWITH_CORE_DUMP=%{on_off core_dump} \
+          -DTIZEN_FEATURE_PTRACE_CALLSTACK=%{TIZEN_FEATURE_PTRACE_CALLSTACK}
 
 make %{?jobs:-j%jobs}
 %if %{with doc}
@@ -170,7 +174,9 @@ sed -i "/${pattern}/D" %{_sysconfdir}/ld.so.preload
 %endif
 
 %{_libexecdir}/crash-pipe
+%if "%{TIZEN_FEATURE_PTRACE_CALLSTACK}" == "on"
 %{_libexecdir}/crash-stack
+%endif
 
 #upgrade script
 %attr(-,root,root) %{upgrade_script_path}/500.crash-manager-upgrade.sh
index 43994ba..9a02e4d 100644 (file)
@@ -458,6 +458,7 @@ static void execute_crash_modules(int argc, char *argv[], int debug)
        }
        system_command(command);
 
+#ifdef TIZEN_FEATURE_PTRACE_CALLSTACK
        /* Execute crash-stack */
        /*
        if (argc > 8)
@@ -479,6 +480,7 @@ static void execute_crash_modules(int argc, char *argv[], int debug)
        }
        system_command(command);
        */
+#endif /* TIZEN_FEATURE_PTRACE_CALLSTACK */
 }
 
 static int lock_dumpdir(void)
index 90de995..772177e 100644 (file)
@@ -23,7 +23,9 @@
 #define CRASH_PATH       "@CRASH_PATH@"
 #define CRASH_TEMP       "@CRASH_TEMP@"
 #define SYS_ASSERT       "@SYS_ASSERT@"
+#ifdef TIZEN_FEATURE_PTRACE_CALLSTACK
 #define CRASH_STACK_PATH "@CRASH_STACK_PATH@"
+#endif
 #define CRASH_PIPE_PATH  "@CRASH_PIPE_PATH@"
 
 #define DEBUG 1