From c32c7d13b871903d78782f3cc4f9ef6ed9c77b37 Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Thu, 13 Nov 2025 14:55:35 +0800 Subject: [PATCH 1/2] =?UTF-8?q?linux=20=E7=8E=AF=E5=A2=83=E4=B8=8B=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8F=AF=E9=80=89=E9=A1=B9=20=E5=90=AF?= =?UTF-8?q?=E7=94=A8=20static-pie=20=E9=93=BE=E6=8E=A5=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/linux-aarch64.yml | 2 +- .github/workflows/linux-x86_64.yml | 2 +- docs/options.md | 4 ++++ sapi/src/template/make.php | 11 ++++++++--- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/linux-aarch64.yml b/.github/workflows/linux-aarch64.yml index c100cde0ea..c041625c1c 100644 --- a/.github/workflows/linux-aarch64.yml +++ b/.github/workflows/linux-aarch64.yml @@ -131,7 +131,7 @@ jobs: ./bin/swoole-cli -m ./bin/swoole-cli --ri gd ./bin/swoole-cli --ri swoole - ldd ./bin/swoole-cli + { ldd ./bin/swoole-cli ; } || { echo $? ; } file ./bin/swoole-cli readelf -h ./bin/swoole-cli APP_VERSION=$(./bin/swoole-cli -v | awk '{print $2}') diff --git a/.github/workflows/linux-x86_64.yml b/.github/workflows/linux-x86_64.yml index 275c5361d3..076366039e 100644 --- a/.github/workflows/linux-x86_64.yml +++ b/.github/workflows/linux-x86_64.yml @@ -138,7 +138,7 @@ jobs: ./bin/swoole-cli -m ./bin/swoole-cli --ri gd ./bin/swoole-cli --ri swoole - ldd ./bin/swoole-cli + { ldd ./bin/swoole-cli ; } || { echo $? ; } file ./bin/swoole-cli readelf -h ./bin/swoole-cli APP_VERSION=$(./bin/swoole-cli -v | awk '{print $2}') diff --git a/docs/options.md b/docs/options.md index 78ee45e6dc..bfa46675fa 100644 --- a/docs/options.md +++ b/docs/options.md @@ -166,3 +166,7 @@ GD库支持 AVIF图片格式 with-iouring ---- swoole 启用支持 iouring 特性 + +with-static-pie +----- +linux 环境下启用 static-pie diff --git a/sapi/src/template/make.php b/sapi/src/template/make.php index bbb905e5ae..83fee2decc 100755 --- a/sapi/src/template/make.php +++ b/sapi/src/template/make.php @@ -248,8 +248,11 @@ export_variables isLinux()) : ?> export CFLAGS="$CFLAGS -fPIE" - export LDFLAGS="$LDFLAGS -static -all-static -static-pie" - + export LDFLAGS="$LDFLAGS -static -all-static" + getInputOption('with-static-pie')) : ?> + export LDFLAGS="$LDFLAGS -static-pie" + + export LDFLAGS="$LDFLAGS extraLdflags ?>" export EXTRA_CFLAGS='extraCflags ?>' make -j maxJob ?> ; @@ -258,9 +261,11 @@ xattr -cr getWorkDir() ?>/bin/swoole-cli otool -L getWorkDir() ?>/bin/swoole-cli - ldd getWorkDir() ?>/bin/swoole-cli + { ldd getWorkDir() ?>/bin/swoole-cli ; } || { echo $? ; } file getWorkDir() ?>/bin/swoole-cli readelf -h getWorkDir() ?>/bin/swoole-cli + { readelf -l getWorkDir() ?>/bin/swoole-cli ; } || { echo $? ; } + { objdump -p getWorkDir() ?>/bin/swoole-cli ; } || { echo $? ; } } From daf30e61513d6970cd2e05db8a67b72e17fd2473 Mon Sep 17 00:00:00 2001 From: jingjingxyk Date: Thu, 13 Nov 2025 21:08:19 +0800 Subject: [PATCH 2/2] add -fPIE --- sapi/src/template/make.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sapi/src/template/make.php b/sapi/src/template/make.php index 83fee2decc..4bd693690c 100755 --- a/sapi/src/template/make.php +++ b/sapi/src/template/make.php @@ -250,7 +250,8 @@ export CFLAGS="$CFLAGS -fPIE" export LDFLAGS="$LDFLAGS -static -all-static" getInputOption('with-static-pie')) : ?> - export LDFLAGS="$LDFLAGS -static-pie" + export CFLAGS="$CFLAGS -fPIE" + export LDFLAGS="$LDFLAGS -static-pie" export LDFLAGS="$LDFLAGS extraLdflags ?>"