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 Permalink 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