[llgo] Force exporting __morestack from llgoi
Summary:
Force exporting __morestack from llgoi, so that
the symbol is available to the execution engine
when linking with libLLVM.so. The engine does
not reference __morestack explicitly, so must
be provided by the host program.
Reviewers: pcc
Subscribers: axw, llvm-commits
Differential Revision: http://reviews.llvm.org/D12625
llvm-svn: 254188
GitOrigin-RevId: b7394b22fd7ba13345b792b2d028461b457efbb4
diff --git a/cmd/llgoi/llgoi.go b/cmd/llgoi/llgoi.go
index e6e021b..401e8f3 100644
--- a/cmd/llgoi/llgoi.go
+++ b/cmd/llgoi/llgoi.go
@@ -38,6 +38,12 @@
"llvm.org/llvm/bindings/go/llvm"
)
+// /* Force exporting __morestack if it's available, so that it is
+// available to the engine when linking with libLLVM.so. */
+//
+// void *__morestack __attribute__((weak));
+import "C"
+
func getInstPrefix() (string, error) {
path, err := exec.LookPath(os.Args[0])
if err != nil {