eggo/0017-fix-Makefile-build-error.patch
zhangxiaoyu 4d2b584c03 fix makefile build error
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
2022-09-19 20:03:33 +08:00

75 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 ace481915286e8973821d80642ec56457331d07f Mon Sep 17 00:00:00 2001
From: zhangxiaoyu <zhangxiaoyu58@huawei.com>
Date: Mon, 19 Sep 2022 16:37:07 +0800
Subject: [PATCH 17/17] fix Makefile build error
Signed-off-by: zhangxiaoyu <zhangxiaoyu58@huawei.com>
---
Makefile | 28 ++++++++++++++++++++++------
1 file changed, 22 insertions(+), 6 deletions(-)
diff --git a/Makefile b/Makefile
index 4b6d7c7..d2c4d9e 100644
--- a/Makefile
+++ b/Makefile
@@ -9,26 +9,40 @@ 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 "-static-pie -Wl,-z,now" \
+ -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 +52,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