Add bccMarkExternalSymbol (to specify external symbol.)
By default libbcc will internalize every symbol, and perform
LTO. However, in many situations we have to export a specific
function, such as "root" or "init" for RenderScript, so we are
adding bccMarkExternalSymbol.
Change-Id: I136eb8ff68e9ccf8c6595eb470f9718e1cb1e4ab
diff --git a/lib/ExecutionEngine/ScriptCompiled.h b/lib/ExecutionEngine/ScriptCompiled.h
index 5972ddf..6a1a9e8 100644
--- a/lib/ExecutionEngine/ScriptCompiled.h
+++ b/lib/ExecutionEngine/ScriptCompiled.h
@@ -18,6 +18,7 @@
#define BCC_SCRIPTCOMPILED_H
#include "Compiler.h"
+#include "Script.h"
#include <bcc/bcc.h>
@@ -32,8 +33,6 @@
}
namespace bcc {
- class Script;
-
class ScriptCompiled {
friend class Compiler;
friend class CodeEmitter;
@@ -137,6 +136,10 @@
void getObjectSlotList(size_t objectSlotListSize,
uint32_t *objectSlotList);
+ std::vector<char const *> const & getUserDefinedExternalSymbols() const {
+ return mpOwner->getUserDefinedExternalSymbols();
+ }
+
#if USE_OLD_JIT
char *getContext() {
return mContext;