summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2020-04-03 17:25:38 -0600
committerJason A. Donenfeld <Jason@zx2c4.com>2020-04-03 19:07:33 -0600
commit9fe0019ec1abd6f440238f458f990d7c87f590f8 (patch)
tree2b1e9d7f6050971eabe5e36da034bbd22bf401d8
parent84654a0302a2057ef0ebb525e90593d7f996d5d3 (diff)
tunnel: libwg-go: use deterministic verdef name
From the ld.gold source: const char* name = parameters->options().soname(); if (name == NULL) name = parameters->options().output_file_name(); That means by default it uses `-o {output}` as the verdef aux name, which is random every time due to Go's build system. By passing in `--soname={somethingexplicit}` we can instead have a deterministic verdef. This commit makes wireguard-android reproducible. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--tunnel/tools/libwg-go/Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/tunnel/tools/libwg-go/Makefile b/tunnel/tools/libwg-go/Makefile
index 1a83959a..abb42884 100644
--- a/tunnel/tools/libwg-go/Makefile
+++ b/tunnel/tools/libwg-go/Makefile
@@ -14,7 +14,7 @@ NDK_GO_ARCH_MAP_mips64 := mips64x
CLANG_FLAGS := --target=$(ANDROID_LLVM_TRIPLE) --gcc-toolchain=$(ANDROID_TOOLCHAIN_ROOT) --sysroot=$(ANDROID_SYSROOT)
export CGO_CFLAGS := $(CLANG_FLAGS) $(CFLAGS)
-export CGO_LDFLAGS := $(CLANG_FLAGS) $(LDFLAGS)
+export CGO_LDFLAGS := $(CLANG_FLAGS) $(LDFLAGS) -Wl,-soname=libwg-go.so
export CC := $(ANDROID_C_COMPILER)
export GOARCH := $(NDK_GO_ARCH_MAP_$(ANDROID_ARCH_NAME))
export GOOS := android