Skip to content

Commit dab899a

Browse files
authored
Merge pull request #1593 from tkatila/build-flag-changes
build: use stricter build flags
2 parents 37b40af + b2ca7d3 commit dab899a

19 files changed

+89
-38
lines changed

build/docker/intel-deviceplugin-operator.Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,16 @@ ARG GOLANG_BASE=golang:1.21-bookworm
3939
FROM ${GOLANG_BASE} as builder
4040
ARG DIR=/intel-device-plugins-for-kubernetes
4141
ARG GO111MODULE=on
42-
ARG BUILDFLAGS="-ldflags=-w -s"
42+
ARG LDFLAGS="-ldflags=all=-w -s"
43+
ARG GOFLAGS=-trimpath
44+
ARG GCFLAGS="-gcflags=all=-spectre=all -N -l"
45+
ARG ASMFLAGS="-asmflags=all=-spectre=all"
4346
ARG GOLICENSES_VERSION
4447
ARG EP=/usr/local/bin/intel_deviceplugin_operator
4548
ARG CMD
4649
WORKDIR ${DIR}
4750
COPY . .
48-
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
51+
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} GOFLAGS=${GOFLAGS} CGO_ENABLED=0 go install "${GCFLAGS}" "${ASMFLAGS}" "${LDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
4952
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
5053
&& if [ ! -d "licenses/$CMD" ] ; then \
5154
GO111MODULE=on go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \

build/docker/intel-dlb-plugin.Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,16 @@ ARG GOLANG_BASE=golang:1.21-bookworm
3939
FROM ${GOLANG_BASE} as builder
4040
ARG DIR=/intel-device-plugins-for-kubernetes
4141
ARG GO111MODULE=on
42-
ARG BUILDFLAGS="-ldflags=-w -s"
42+
ARG LDFLAGS="-ldflags=all=-w -s"
43+
ARG GOFLAGS=-trimpath
44+
ARG GCFLAGS="-gcflags=all=-spectre=all -N -l"
45+
ARG ASMFLAGS="-asmflags=all=-spectre=all"
4346
ARG GOLICENSES_VERSION
4447
ARG EP=/usr/local/bin/intel_dlb_device_plugin
4548
ARG CMD
4649
WORKDIR ${DIR}
4750
COPY . .
48-
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
51+
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} GOFLAGS=${GOFLAGS} CGO_ENABLED=0 go install "${GCFLAGS}" "${ASMFLAGS}" "${LDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
4952
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
5053
&& if [ ! -d "licenses/$CMD" ] ; then \
5154
GO111MODULE=on go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \

build/docker/intel-dsa-plugin.Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,16 @@ ARG GOLANG_BASE=golang:1.21-bookworm
3939
FROM ${GOLANG_BASE} as builder
4040
ARG DIR=/intel-device-plugins-for-kubernetes
4141
ARG GO111MODULE=on
42-
ARG BUILDFLAGS="-ldflags=-w -s"
42+
ARG LDFLAGS="-ldflags=all=-w -s"
43+
ARG GOFLAGS=-trimpath
44+
ARG GCFLAGS="-gcflags=all=-spectre=all -N -l"
45+
ARG ASMFLAGS="-asmflags=all=-spectre=all"
4346
ARG GOLICENSES_VERSION
4447
ARG EP=/usr/local/bin/intel_dsa_device_plugin
4548
ARG CMD
4649
WORKDIR ${DIR}
4750
COPY . .
48-
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
51+
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} GOFLAGS=${GOFLAGS} CGO_ENABLED=0 go install "${GCFLAGS}" "${ASMFLAGS}" "${LDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
4952
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
5053
&& if [ ! -d "licenses/$CMD" ] ; then \
5154
GO111MODULE=on go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \

build/docker/intel-fpga-admissionwebhook.Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,16 @@ ARG GOLANG_BASE=golang:1.21-bookworm
3939
FROM ${GOLANG_BASE} as builder
4040
ARG DIR=/intel-device-plugins-for-kubernetes
4141
ARG GO111MODULE=on
42-
ARG BUILDFLAGS="-ldflags=-w -s"
42+
ARG LDFLAGS="-ldflags=all=-w -s"
43+
ARG GOFLAGS=-trimpath
44+
ARG GCFLAGS="-gcflags=all=-spectre=all -N -l"
45+
ARG ASMFLAGS="-asmflags=all=-spectre=all"
4346
ARG GOLICENSES_VERSION
4447
ARG EP=/usr/local/bin/intel_fpga_admissionwebhook
4548
ARG CMD
4649
WORKDIR ${DIR}
4750
COPY . .
48-
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
51+
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} GOFLAGS=${GOFLAGS} CGO_ENABLED=0 go install "${GCFLAGS}" "${ASMFLAGS}" "${LDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
4952
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
5053
&& if [ ! -d "licenses/$CMD" ] ; then \
5154
GO111MODULE=on go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \

build/docker/intel-fpga-initcontainer.Dockerfile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,17 @@ ARG GOLANG_BASE=golang:1.21-bookworm
3838
FROM ${GOLANG_BASE} as builder
3939
ARG DIR=/intel-device-plugins-for-kubernetes
4040
ARG GO111MODULE=on
41-
ARG BUILDFLAGS="-ldflags=-w -s"
41+
ARG LDFLAGS="-ldflags=all=-w -s"
42+
ARG GOFLAGS=-trimpath
43+
ARG GCFLAGS="-gcflags=all=-spectre=all -N -l"
44+
ARG ASMFLAGS="-asmflags=all=-spectre=all"
4245
ARG GOLICENSES_VERSION
4346
ARG CRI_HOOK=intel-fpga-crihook
4447
ARG CMD=fpga_crihook
4548
ARG EP=/usr/local/fpga-sw/$CRI_HOOK
4649
WORKDIR ${DIR}
4750
COPY . .
48-
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
51+
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} GOFLAGS=${GOFLAGS} CGO_ENABLED=0 go install "${GCFLAGS}" "${ASMFLAGS}" "${LDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
4952
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
5053
&& if [ ! -d "licenses/$CMD" ] ; then \
5154
GO111MODULE=on go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \
@@ -56,7 +59,7 @@ ARG CMD=fpga_tool
5659
ARG EP=/usr/local/fpga-sw/$CMD
5760
WORKDIR ${DIR}
5861
COPY . .
59-
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
62+
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} GOFLAGS=${GOFLAGS} CGO_ENABLED=0 go install "${GCFLAGS}" "${ASMFLAGS}" "${LDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
6063
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
6164
&& if [ ! -d "licenses/$CMD" ] ; then \
6265
GO111MODULE=on go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \

build/docker/intel-fpga-plugin.Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,16 @@ ARG GOLANG_BASE=golang:1.21-bookworm
3939
FROM ${GOLANG_BASE} as builder
4040
ARG DIR=/intel-device-plugins-for-kubernetes
4141
ARG GO111MODULE=on
42-
ARG BUILDFLAGS="-ldflags=-w -s"
42+
ARG LDFLAGS="-ldflags=all=-w -s"
43+
ARG GOFLAGS=-trimpath
44+
ARG GCFLAGS="-gcflags=all=-spectre=all -N -l"
45+
ARG ASMFLAGS="-asmflags=all=-spectre=all"
4346
ARG GOLICENSES_VERSION
4447
ARG EP=/usr/local/bin/intel_fpga_device_plugin
4548
ARG CMD
4649
WORKDIR ${DIR}
4750
COPY . .
48-
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
51+
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} GOFLAGS=${GOFLAGS} CGO_ENABLED=0 go install "${GCFLAGS}" "${ASMFLAGS}" "${LDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
4952
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
5053
&& if [ ! -d "licenses/$CMD" ] ; then \
5154
GO111MODULE=on go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \

build/docker/intel-gpu-fakedev.Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,16 @@ ARG GOLANG_BASE=golang:1.21-bookworm
3939
FROM ${GOLANG_BASE} as builder
4040
ARG DIR=/intel-device-plugins-for-kubernetes
4141
ARG GO111MODULE=on
42-
ARG BUILDFLAGS="-ldflags=-w -s"
42+
ARG LDFLAGS="-ldflags=all=-w -s"
43+
ARG GOFLAGS=-trimpath
44+
ARG GCFLAGS="-gcflags=all=-spectre=all -N -l"
45+
ARG ASMFLAGS="-asmflags=all=-spectre=all"
4346
ARG GOLICENSES_VERSION
4447
ARG EP=/usr/local/bin/intel_gpu_fakedev
4548
ARG CMD
4649
WORKDIR ${DIR}
4750
COPY . .
48-
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
51+
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} GOFLAGS=${GOFLAGS} CGO_ENABLED=0 go install "${GCFLAGS}" "${ASMFLAGS}" "${LDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
4952
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
5053
&& if [ ! -d "licenses/$CMD" ] ; then \
5154
GO111MODULE=on go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \

build/docker/intel-gpu-initcontainer.Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,18 @@ ARG GOLANG_BASE=golang:1.21-bookworm
3838
FROM ${GOLANG_BASE} as builder
3939
ARG DIR=/intel-device-plugins-for-kubernetes
4040
ARG GO111MODULE=on
41-
ARG BUILDFLAGS="-ldflags=-w -s"
41+
ARG LDFLAGS="-ldflags=all=-w -s"
42+
ARG GOFLAGS=-trimpath
43+
ARG GCFLAGS="-gcflags=all=-spectre=all -N -l"
44+
ARG ASMFLAGS="-asmflags=all=-spectre=all"
4245
ARG GOLICENSES_VERSION
4346
ARG EP=/usr/local/bin/gpu-sw/intel-gpu-nfdhook
4447
ARG CMD=gpu_nfdhook
4548
ARG NFD_HOOK=intel-gpu-nfdhook
4649
ARG SRC_DIR=/usr/local/bin/gpu-sw
4750
WORKDIR ${DIR}
4851
COPY . .
49-
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
52+
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} GOFLAGS=${GOFLAGS} CGO_ENABLED=0 go install "${GCFLAGS}" "${ASMFLAGS}" "${LDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
5053
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
5154
&& if [ ! -d "licenses/$CMD" ] ; then \
5255
GO111MODULE=on go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \

build/docker/intel-gpu-plugin.Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,16 @@ ARG GOLANG_BASE=golang:1.21-bookworm
3939
FROM ${GOLANG_BASE} as builder
4040
ARG DIR=/intel-device-plugins-for-kubernetes
4141
ARG GO111MODULE=on
42-
ARG BUILDFLAGS="-ldflags=-w -s"
42+
ARG LDFLAGS="-ldflags=all=-w -s"
43+
ARG GOFLAGS=-trimpath
44+
ARG GCFLAGS="-gcflags=all=-spectre=all -N -l"
45+
ARG ASMFLAGS="-asmflags=all=-spectre=all"
4346
ARG GOLICENSES_VERSION
4447
ARG EP=/usr/local/bin/intel_gpu_device_plugin
4548
ARG CMD
4649
WORKDIR ${DIR}
4750
COPY . .
48-
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
51+
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} GOFLAGS=${GOFLAGS} CGO_ENABLED=0 go install "${GCFLAGS}" "${ASMFLAGS}" "${LDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
4952
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
5053
&& if [ ! -d "licenses/$CMD" ] ; then \
5154
GO111MODULE=on go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \

build/docker/intel-iaa-plugin.Dockerfile

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,16 @@ ARG GOLANG_BASE=golang:1.21-bookworm
3939
FROM ${GOLANG_BASE} as builder
4040
ARG DIR=/intel-device-plugins-for-kubernetes
4141
ARG GO111MODULE=on
42-
ARG BUILDFLAGS="-ldflags=-w -s"
42+
ARG LDFLAGS="-ldflags=all=-w -s"
43+
ARG GOFLAGS=-trimpath
44+
ARG GCFLAGS="-gcflags=all=-spectre=all -N -l"
45+
ARG ASMFLAGS="-asmflags=all=-spectre=all"
4346
ARG GOLICENSES_VERSION
4447
ARG EP=/usr/local/bin/intel_iaa_device_plugin
4548
ARG CMD
4649
WORKDIR ${DIR}
4750
COPY . .
48-
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
51+
RUN (cd cmd/${CMD}; GO111MODULE=${GO111MODULE} GOFLAGS=${GOFLAGS} CGO_ENABLED=0 go install "${GCFLAGS}" "${ASMFLAGS}" "${LDFLAGS}") && install -D /go/bin/${CMD} /install_root${EP}
4952
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
5053
&& if [ ! -d "licenses/$CMD" ] ; then \
5154
GO111MODULE=on go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \

0 commit comments

Comments
 (0)