eggo/0017-fix-Makefile-build-error.patch
zhangxiaoyu ec5ea5316d fix makefile build error and strip eggo
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
2022-09-20 12:18:06 +08:00

76 lines
2.5 KiB
Diff
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 797418a74eba6b67abed5c180e9e312a733336dd Mon Sep 17 00:00:00 2001
From: zhangxiaoyu <zhangxiaoyu58@huawei.com>
Date: Tue, 20 Sep 2022 12:17:03 +0800
Subject: [PATCH] fix Makefile build error
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
---
Makefile | 29 +++++++++++++++++++++++------
1 file changed, 23 insertions(+), 6 deletions(-)
diff --git a/Makefile b/Makefile
index 4b6d7c7..a8070d0 100644
--- a/Makefile
+++ b/Makefile
@@ -9,26 +9,41 @@ ARCH = arm64
endif
endif
+TMP_PATH := /tmp/xxeggo
+
EXTRALDFLAGS :=
LDFLAGS := -X isula.org/eggo/cmd.Version=$(VERSION) \
-X isula.org/eggo/cmd.Commit=$(GIT_COMMIT) \
-X isula.org/eggo/cmd.BuildTime=$(SOURCE_DATE_EPOCH) \
-X isula.org/eggo/cmd.Arch=$(ARCH) \
$(EXTRALDFLAGS)
-STATIC_LDFLAGS := -extldflags=-static -linkmode=external
-SAFEBUILDFLAGS := -buildmode=pie -extldflags=-ftrapv -extldflags=-zrelro -extldflags=-znow -tmpdir=/tmp/xxeggo $(LDFLAGS)
+STATIC_LDFLAGS := -extldflags=-static -linkmode=external
+SAFEBUILDFLAGS := -buildmode=pie \
+ -extldflags=-ftrapv -extldflags=-zrelro -extldflags=-znow \
+ -linkmode=external \
+ -extldflags "-Wl,-z,now" \
+ -extldflags=-static \
+ -tmpdir=$(TMP_PATH) \
+ $(LDFLAGS)
GO := go
-GO_BUILD := CGO_ENABLED=0 GOARCH=$(ARCH) $(GO)
+GO_BUILD := CGO_ENABLED=1 GOARCH=$(ARCH) $(GO)
+GO_SAFE_BUILD:= CGO_ENABLE=1 \
+ CGO_CFLAGS="-fstack-protector-strong -fPIE" \
+ CGO_CPPFLAGS="-fstack-protector-strong -fPIE" \
+ CGO_LDFLAGS_ALLOW="-Wl,-z,relro,-z,now" \
+ CGO_LDFLAGS="-Wl,-z,relro,-z,now -Wl,-z,noexecstack" \
+ GOARCH=$(ARCH) \
+ $(GO)
.PHONY: eggo
eggo:
@echo "build eggo of $(ARCH) starting..."
- @$(GO_BUILD) build -ldflags '$(LDFLAGS) $(STATIC_LDFLAGS)' -o bin/eggo .
+ @$(GO_BUILD) build -ldflags '$(LDFLAGS) $(STATIC_LDFLAGS)' -o bin/eggo . 2>/dev/null
@echo "build eggo done!"
local:
@echo "build eggo use vendor starting..."
- @$(GO_BUILD) build -ldflags '$(LDFLAGS) $(STATIC_LDFLAGS)' -mod vendor -o bin/eggo .
+ @$(GO_BUILD) build -ldflags '$(LDFLAGS) $(STATIC_LDFLAGS)' -mod vendor -o bin/eggo . 2>/dev/null
@echo "build eggo use vendor done!"
test:
@echo "Unit tests starting..."
@@ -38,7 +53,9 @@ test:
.PHONY: safe
safe:
@echo "build safe eggo starting..."
- $(GO_BUILD) build -ldflags '$(SAFEBUILDFLAGS) $(STATIC_LDFLAGS)' -o bin/eggo .
+ mkdir -p $(TMP_PATH)
+ $(GO_SAFE_BUILD) build -ldflags '$(SAFEBUILDFLAGS)' -o bin/eggo .
+ rm -rf $(TMP_PATH)
@echo "build safe eggo done!"
images: image-eggo
--
2.25.1