From: Waldemar Kozaczuk <[email protected]>
Committer: Waldemar Kozaczuk <[email protected]>
Branch: master
Added Golang examples built using -buildmode=pie
Signed-off-by: Waldemar Kozaczuk <[email protected]>
---
diff --git a/golang-pie-example/.gitignore b/golang-pie-example/.gitignore
--- a/golang-pie-example/.gitignore
+++ b/golang-pie-example/.gitignore
@@ -0,0 +1,3 @@
+hello*.so
+hello.h
+usr.manifest
diff --git a/golang-pie-example/Makefile b/golang-pie-example/Makefile
--- a/golang-pie-example/Makefile
+++ b/golang-pie-example/Makefile
@@ -0,0 +1,9 @@
+.PHONY: module
+module: hello.so
+ echo '/hello.so: $${MODULE_DIR}/hello.so' > usr.manifest
+
+hello.so: hello.go
+ go build -buildmode=pie -o hello.so hello.go
+
+clean:
+ rm -f hello*.so usr.manifest
diff --git a/golang-pie-example/hello.go b/golang-pie-example/hello.go
--- a/golang-pie-example/hello.go
+++ b/golang-pie-example/hello.go
@@ -0,0 +1,11 @@
+package main
+
+import (
+ "runtime"
+ "fmt"
+)
+
+func main() {
+ fmt.Println("Hello, 世界");
+ fmt.Println("Go version:", runtime.Version());
+}
diff --git a/golang-pie-example/module.py b/golang-pie-example/module.py
--- a/golang-pie-example/module.py
+++ b/golang-pie-example/module.py
@@ -0,0 +1,3 @@
+from osv.modules import api
+
+default = api.run(cmdline="/hello.so")
diff --git a/golang-pie-httpserver/.gitignore
b/golang-pie-httpserver/.gitignore
--- a/golang-pie-httpserver/.gitignore
+++ b/golang-pie-httpserver/.gitignore
@@ -0,0 +1,2 @@
+httpserver*.so
+usr.manifest
diff --git a/golang-pie-httpserver/Makefile b/golang-pie-httpserver/Makefile
--- a/golang-pie-httpserver/Makefile
+++ b/golang-pie-httpserver/Makefile
@@ -0,0 +1,9 @@
+.PHONY: module
+module: httpserver.so
+ echo '/httpserver.so: $${MODULE_DIR}/httpserver.so' > usr.manifest
+
+httpserver.so: httpserver.go
+ go build -buildmode=pie -o httpserver.so httpserver.go
+
+clean:
+ rm -f httpserver*.so usr.manifest
diff --git a/golang-pie-httpserver/httpserver.go
b/golang-pie-httpserver/httpserver.go
--- a/golang-pie-httpserver/httpserver.go
+++ b/golang-pie-httpserver/httpserver.go
@@ -0,0 +1,22 @@
+package main
+
+import (
+ "io"
+ "net/http"
+ "runtime"
+ "fmt"
+ "os"
+)
+
+func hello(w http.ResponseWriter, r *http.Request) {
+ hostname, err := os.Hostname()
+ if( err == nil ) {
+ io.WriteString(w, "Hello world from " + runtime.Version() + " at " +
hostname)
+ }
+}
+
+func main() {
+ fmt.Println("Go version:", runtime.Version());
+ http.HandleFunc("/", hello)
+ http.ListenAndServe(":8000", nil)
+}
diff --git a/golang-pie-httpserver/module.py
b/golang-pie-httpserver/module.py
--- a/golang-pie-httpserver/module.py
+++ b/golang-pie-httpserver/module.py
@@ -0,0 +1,3 @@
+from osv.modules import api
+
+default = api.run(cmdline="/httpserver.so")
--
You received this message because you are subscribed to the Google Groups "OSv
Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.