From 0ba19b02591a32458df09756ba58c5aaeded2257 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Mon, 27 Mar 2017 21:30:31 -0700 Subject: [PATCH] vendor gopreload --- vendor-log | 1 + vendor/github.com/Xe/gopreload/doc.go | 7 ++++++ vendor/github.com/Xe/gopreload/preload.go | 26 +++++++++++++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 vendor/github.com/Xe/gopreload/doc.go create mode 100644 vendor/github.com/Xe/gopreload/preload.go diff --git a/vendor-log b/vendor-log index ca61de4..eeeba56 100644 --- a/vendor-log +++ b/vendor-log @@ -94,3 +94,4 @@ a1a5df8f92af764f378f07d6a3dd8eb3f7aa190a github.com/xtaci/smux 6c23252515492caf9b228a9d5cabcdbde29f7f82 golang.org/x/net/internal/netreflect 6c23252515492caf9b228a9d5cabcdbde29f7f82 golang.org/x/net/ipv4 8bf1e9bacbf65b10c81d0f4314cf2b1ebef728b5 github.com/streamrail/concurrent-map +a00a8beb369cafd88bb7b32f31fc4ff3219c3565 github.com/Xe/gopreload diff --git a/vendor/github.com/Xe/gopreload/doc.go b/vendor/github.com/Xe/gopreload/doc.go new file mode 100644 index 0000000..720c5c1 --- /dev/null +++ b/vendor/github.com/Xe/gopreload/doc.go @@ -0,0 +1,7 @@ +/* +Package gopreload is a bit of a hack to emulate the behavior of LD_PRELOAD [ld-preload]. +This allows you to have automatically starting instrumentation, etc. + +[ld-preload]: http://man7.org/linux/man-pages/man8/ld.so.8.html (see LD_PRELOAD section) +*/ +package gopreload diff --git a/vendor/github.com/Xe/gopreload/preload.go b/vendor/github.com/Xe/gopreload/preload.go new file mode 100644 index 0000000..1b5a0c9 --- /dev/null +++ b/vendor/github.com/Xe/gopreload/preload.go @@ -0,0 +1,26 @@ +//+build linux,go1.8 + +package gopreload + +import ( + "log" + "os" + "plugin" + "strings" +) + +func init() { + gpv := os.Getenv("GO_PRELOAD") + if gpv == "" { + return + } + + for _, elem := range strings.Split(gpv, ",") { + log.Printf("gopreload: trying to open: %s", elem) + _, err := plugin.Open(elem) + if err != nil { + log.Printf("%v from GO_PRELOAD cannot be loaded: %v", elem, err) + continue + } + } +}