Handle fatal errors for bccRegisterSymbolCallback.

Change-Id: Ifc4e076628c510aee184857e0f8b9df346ad93d7
diff --git a/lib/bcc/Script.cpp b/lib/bcc/Script.cpp
index f539cc0..ac74118 100644
--- a/lib/bcc/Script.cpp
+++ b/lib/bcc/Script.cpp
@@ -457,14 +457,16 @@
 }
 
 
-void Script::registerSymbolCallback(BCCSymbolLookupFn pFn, void *pContext) {
+int Script::registerSymbolCallback(BCCSymbolLookupFn pFn, void *pContext) {
   mpExtSymbolLookupFn = pFn;
   mpExtSymbolLookupFnContext = pContext;
 
   if (mStatus != ScriptStatus::Unknown) {
     mErrorCode = BCC_INVALID_OPERATION;
     LOGE("Invalid operation: %s\n", __func__);
+    return 1;
   }
+  return 0;
 }
 
 } // namespace bcc
diff --git a/lib/bcc/Script.h b/lib/bcc/Script.h
index b996a32..a5ba058 100644
--- a/lib/bcc/Script.h
+++ b/lib/bcc/Script.h
@@ -126,7 +126,7 @@
     void getFuncInfoList(size_t size, FuncInfo *list);
 
 
-    void registerSymbolCallback(BCCSymbolLookupFn pFn, void *pContext);
+    int registerSymbolCallback(BCCSymbolLookupFn pFn, void *pContext);
 
     char *getContext();
 
diff --git a/lib/bcc/bcc.cpp b/lib/bcc/bcc.cpp
index 696b20b..294842b 100644
--- a/lib/bcc/bcc.cpp
+++ b/lib/bcc/bcc.cpp
@@ -68,9 +68,9 @@
   delete unwrap(script);
 }
 
-extern "C" void bccRegisterSymbolCallback(BCCScriptRef script,
-                                          BCCSymbolLookupFn pFn,
-                                          void *pContext) {
+extern "C" int bccRegisterSymbolCallback(BCCScriptRef script,
+                                         BCCSymbolLookupFn pFn,
+                                         void *pContext) {
   BCC_FUNC_LOGGER();
   return unwrap(script)->registerSymbolCallback(pFn, pContext);
 }