]>
Commit | Line | Data |
---|---|---|
dfcada68 JP |
1 | From 4830ed9885ed5d0a1609d072e383bd5ca2918cc2 Mon Sep 17 00:00:00 2001 |
2 | From: Jan Palus <jpalus@fastmail.com> | |
3 | Date: Mon, 2 Oct 2023 22:50:52 +0200 | |
4 | Subject: [PATCH] Set libtool tag per command instead of global one | |
5 | ||
6 | Global --tag=CC defined in configure.ac is not correct in all cases. For example | |
7 | linking objects that were compiled from C++ sources needs to be done with C++ | |
8 | compiler, however for link mode libtool will prefer compiler indicated with | |
9 | --tag. | |
10 | ||
11 | Fixes GH-12349 | |
12 | --- | |
13 | build/Makefile.global | 4 ++-- | |
14 | build/php.m4 | 12 ++++++------ | |
15 | configure.ac | 7 ++----- | |
16 | sapi/cgi/config9.m4 | 6 +++--- | |
17 | sapi/cli/config.m4 | 6 +++--- | |
18 | sapi/fpm/config.m4 | 4 ++-- | |
19 | sapi/fuzzer/Makefile.frag | 2 +- | |
20 | sapi/litespeed/config.m4 | 4 ++-- | |
21 | sapi/phpdbg/config.m4 | 4 ++-- | |
22 | 9 files changed, 23 insertions(+), 26 deletions(-) | |
23 | ||
24 | diff --git a/build/Makefile.global b/build/Makefile.global | |
25 | index aae5bf0de596..5415f1bbcdc4 100644 | |
26 | --- a/build/Makefile.global | |
27 | +++ b/build/Makefile.global | |
28 | @@ -16,16 +16,16 @@ | |
29 | build-binaries: $(PHP_BINARIES) | |
30 | ||
31 | libphp_common.la: $(PHP_GLOBAL_OBJS) | |
32 | - $(LIBTOOL) --mode=link $(CC) $(LIBPHP_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) -avoid-version $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ -release $(PHP_VERSION) | |
33 | - -@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 | |
34 | + $(LIBTOOL) --tag=CC --mode=link $(CC) $(LIBPHP_CFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) -avoid-version $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ -release $(PHP_VERSION) | |
35 | + -@$(LIBTOOL) --silent --tag=CC --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 | |
36 | ||
37 | libphp.la: libphp_common.la $(PHP_SAPI_OBJS) | |
38 | - $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(phptempdir)/libphp_common.la $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ | |
39 | - -@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 | |
40 | + $(LIBTOOL) --tag=CC --mode=link $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(phptempdir)/libphp_common.la $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ | |
41 | + -@$(LIBTOOL) --silent --tag=CC --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 | |
42 | ||
43 | $(LIBTOOL_SAPI): libphp_common.la $(PHP_SAPI_OBJS) | |
44 | - $(LIBTOOL) --mode=link $(CC) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(phptempdir)/libphp_common.la $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ | |
45 | - -@$(LIBTOOL) --silent --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 | |
46 | + $(LIBTOOL) --tag=CC --mode=link $(CC) -rpath $(phptempdir) $(EXTRA_LDFLAGS) $(LDFLAGS) $(PHP_RPATHS) $(phptempdir)/libphp_common.la $(PHP_SAPI_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) -o $@ | |
47 | + -@$(LIBTOOL) --silent --tag=CC --mode=install cp $@ $(phptempdir)/$@ >/dev/null 2>&1 | |
48 | ||
49 | libtool-sapi: $(LIBTOOL_SAPI) | |
50 | ||
51 | diff --git a/build/php.m4 b/build/php.m4 | |
52 | index adb2964e76d1..2d00cb0d10d8 100644 | |
53 | --- a/build/php.m4 | |
54 | +++ b/build/php.m4 | |
55 | @@ -786,10 +786,10 @@ dnl | |
56 | dnl PHP_BUILD_PROGRAM | |
57 | dnl | |
58 | AC_DEFUN([PHP_BUILD_PROGRAM],[ | |
59 | - php_c_pre='$(LIBTOOL) --mode=compile $(CC)' | |
60 | + php_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)' | |
61 | php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)' | |
62 | php_c_post= | |
63 | - php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' | |
64 | + php_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)' | |
65 | php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)' | |
66 | php_cxx_post= | |
67 | php_lo=lo | |
68 | @@ -799,10 +799,10 @@ AC_DEFUN([PHP_BUILD_PROGRAM],[ | |
69 | no) pic_setting='-prefer-non-pic';; | |
70 | esac | |
71 | ||
72 | - shared_c_pre='$(LIBTOOL) --mode=compile $(CC)' | |
73 | + shared_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)' | |
74 | shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting | |
75 | shared_c_post= | |
76 | - shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' | |
77 | + shared_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)' | |
78 | shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting | |
79 | shared_cxx_post= | |
80 | shared_lo=lo | |
81 | @@ -832,10 +832,10 @@ AC_DEFUN([PHP_SHARED_MODULE],[ | |
82 | PHP_SUBST($2) | |
83 | cat >>Makefile.objects<<EOF | |
84 | \$(phplibdir)/$1.$suffix: $3/$1.$suffix | |
85 | - \$(LIBTOOL) --mode=install cp $3/$1.$suffix \$(phplibdir) | |
86 | + \$(LIBTOOL) --tag=ifelse($4,,CC,CXX) --mode=install cp $3/$1.$suffix \$(phplibdir) | |
87 | ||
88 | $3/$1.$suffix: \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_DEPENDENCIES) | |
89 | - \$(LIBTOOL) --mode=link ifelse($4,,[\$(CC)],[\$(CXX)]) -shared \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(LDFLAGS) $additional_flags -o [\$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath \$(phplibdir) \$(EXTRA_LDFLAGS) \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_LIBADD) | |
90 | + \$(LIBTOOL) --tag=ifelse($4,,CC,CXX) --mode=link ifelse($4,,[\$(CC)],[\$(CXX)]) -shared \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(LDFLAGS) $additional_flags -o [\$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath \$(phplibdir) \$(EXTRA_LDFLAGS) \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_LIBADD) | |
91 | ||
92 | EOF | |
93 | ]) | |
94 | diff --git a/configure.ac b/configure.ac | |
95 | index 07fdab313cd4..e281b74bf3e3 100644 | |
96 | --- a/configure.ac | |
97 | +++ b/configure.ac | |
98 | @@ -1571,11 +1571,8 @@ PHP_SET_LIBTOOL_VARIABLE([--silent]) | |
99 | dnl libtool 1.4.3 needs this. | |
100 | PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps]) | |
101 | ||
102 | -dnl This needs to be passed explicitly to allow scan-build compiler overrides. | |
103 | -PHP_SET_LIBTOOL_VARIABLE([--tag CC]) | |
104 | - | |
105 | -test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<' | |
106 | -test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $<' | |
107 | +test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --tag=CC --mode=compile $(COMPILE) -c $<' | |
108 | +test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --tag=CXX --mode=compile $(CXX_COMPILE) -c $<' | |
109 | SHARED_LIBTOOL='$(LIBTOOL)' | |
110 | ||
111 | CC=$old_CC | |
112 | diff --git a/sapi/cgi/config9.m4 b/sapi/cgi/config9.m4 | |
113 | index 04bd70b269ee..f9d7b1b3943c 100644 | |
114 | --- a/sapi/cgi/config9.m4 | |
115 | +++ b/sapi/cgi/config9.m4 | |
116 | @@ -46,16 +46,16 @@ | |
117 | case $host_alias in | |
118 | *aix*) | |
119 | if test "$php_sapi_module" = "shared"; then | |
120 | - BUILD_CGI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CGI_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" | |
121 | + BUILD_CGI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CGI_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --tag=CC --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" | |
122 | else | |
123 | - BUILD_CGI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CGI_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" | |
124 | + BUILD_CGI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CGI_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --tag=CC --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_CGI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" | |
125 | fi | |
126 | ;; | |
127 | *darwin*) | |
128 | BUILD_CGI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_CGI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" | |
129 | ;; | |
130 | *) | |
131 | - BUILD_CGI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_CGI_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" | |
132 | + BUILD_CGI="\$(LIBTOOL) --tag=CC --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_CGI_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CGI_PATH)" | |
133 | ;; | |
134 | esac | |
135 | ||
136 | diff --git a/sapi/cli/config.m4 b/sapi/cli/config.m4 | |
137 | index d17d53168360..1b8e67f0b394 100644 | |
138 | --- a/sapi/cli/config.m4 | |
139 | +++ b/sapi/cli/config.m4 | |
140 | @@ -33,16 +33,16 @@ | |
141 | case $host_alias in | |
142 | *aix*) | |
143 | if test "$php_sapi_module" = "shared"; then | |
144 | - BUILD_CLI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)" | |
145 | + BUILD_CLI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/.libs\/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --tag=CC --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)" | |
146 | else | |
147 | - BUILD_CLI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)" | |
148 | + BUILD_CLI="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --tag=CC --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_CLI_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)" | |
149 | fi | |
150 | ;; | |
151 | *darwin*) | |
152 | BUILD_CLI="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_CLI_PATH)" | |
153 | ;; | |
154 | *) | |
155 | - BUILD_CLI="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) \$(READLINE_SHARED_LIBADD) -o \$(SAPI_CLI_PATH)" | |
156 | + BUILD_CLI="\$(LIBTOOL) --tag=CC --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_CLI_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) \$(READLINE_SHARED_LIBADD) -o \$(SAPI_CLI_PATH)" | |
157 | ;; | |
158 | esac | |
159 | ||
160 | diff --git a/sapi/fpm/config.m4 b/sapi/fpm/config.m4 | |
161 | index 09c3ae08195f..662a3bc839e9 100644 | |
162 | --- a/sapi/fpm/config.m4 | |
163 | +++ b/sapi/fpm/config.m4 | |
164 | @@ -617,7 +617,7 @@ | |
165 | return 0; | |
166 | } | |
167 | ]])], [ | |
168 | - AC_CHECK_LIB(acl, acl_free, | |
169 | + AC_CHECK_LIB(acl, acl_free, | |
170 | [PHP_ADD_LIBRARY(acl) | |
171 | have_fpm_acl=yes | |
172 | AC_MSG_RESULT([yes]) | |
173 | @@ -745,13 +745,13 @@ | |
174 | ||
175 | case $host_alias in | |
176 | *aix*) | |
177 | - BUILD_FPM="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FPM_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" | |
178 | + BUILD_FPM="echo '\#! .' > php.sym && echo >>php.sym && nm -BCpg \`echo \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FPM_OBJS) | sed 's/\([A-Za-z0-9_]*\)\.lo/\1.o/g'\` | \$(AWK) '{ if (((\$\$2 == \"T\") || (\$\$2 == \"D\") || (\$\$2 == \"B\")) && (substr(\$\$3,1,1) != \".\")) { print \$\$3 } }' | sort -u >> php.sym && \$(LIBTOOL) --tag=CC --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) -Wl,-brtl -Wl,-bE:php.sym \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_FASTCGI_OBJS) \$(PHP_FPM_OBJS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" | |
179 | ;; | |
180 | *darwin*) | |
181 | BUILD_FPM="\$(CC) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(NATIVE_RPATHS) \$(PHP_GLOBAL_OBJS:.lo=.o) \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_FPM_OBJS:.lo=.o) \$(PHP_FRAMEWORKS) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" | |
182 | ;; | |
183 | *) | |
184 | - BUILD_FPM="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_FPM_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" | |
185 | + BUILD_FPM="\$(LIBTOOL) --tag=CC --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_FASTCGI_OBJS:.lo=.o) \$(PHP_FPM_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(FPM_EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_FPM_PATH)" | |
186 | ;; | |
187 | esac | |
188 | ||
189 | diff --git a/sapi/fuzzer/Makefile.frag b/sapi/fuzzer/Makefile.frag | |
190 | index 50feac3a9ab2..569df2aa2ebc 100644 | |
191 | --- a/sapi/fuzzer/Makefile.frag | |
192 | +++ b/sapi/fuzzer/Makefile.frag | |
193 | @@ -1,6 +1,6 @@ | |
194 | fuzzer: $(PHP_FUZZER_BINARIES) | |
195 | ||
196 | -FUZZER_BUILD = $(LIBTOOL) --mode=link $(FUZZING_CC) -export-dynamic $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS_PROGRAM) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) $(FUZZING_LIB) -rpath /ORIGIN/lib | |
197 | +FUZZER_BUILD = $(LIBTOOL) --tag=CC --mode=link $(FUZZING_CC) -export-dynamic $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS_PROGRAM) $(LDFLAGS) $(PHP_RPATHS) $(PHP_GLOBAL_OBJS) $(PHP_BINARY_OBJS) $(EXTRA_LIBS) $(ZEND_EXTRA_LIBS) $(FUZZING_LIB) -rpath /ORIGIN/lib | |
198 | ||
199 | $(SAPI_FUZZER_PATH)/php-fuzz-parser: $(PHP_GLOBAL_OBJS) $(PHP_SAPI_OBJS) $(PHP_FUZZER_PARSER_OBJS) | |
200 | $(FUZZER_BUILD) $(PHP_FUZZER_PARSER_OBJS) -o $@ | |
201 | diff --git a/sapi/litespeed/config.m4 b/sapi/litespeed/config.m4 | |
202 | index 89074053852c..f18697203cb2 100644 | |
203 | --- a/sapi/litespeed/config.m4 | |
204 | +++ b/sapi/litespeed/config.m4 | |
205 | @@ -15,10 +15,10 @@ | |
206 | ;; | |
207 | *cygwin*) | |
208 | SAPI_LITESPEED_PATH=sapi/litespeed/php.exe | |
209 | - BUILD_LITESPEED="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_LITESPEED_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_LITESPEED_PATH)" | |
210 | + BUILD_LITESPEED="\$(LIBTOOL) --tag=CC --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \$(PHP_GLOBAL_OBJS) \$(PHP_BINARY_OBJS) \$(PHP_LITESPEED_OBJS) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_LITESPEED_PATH)" | |
211 | ;; | |
212 | *) | |
213 | - BUILD_LITESPEED="\$(LIBTOOL) --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_LITESPEED_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_LITESPEED_PATH)" | |
214 | + BUILD_LITESPEED="\$(LIBTOOL) --tag=CC --mode=link \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) libphp_common.la \$(PHP_BINARY_OBJS:.lo=.o) \$(PHP_LITESPEED_OBJS:.lo=.o) \$(EXTRA_LIBS) \$(ZEND_EXTRA_LIBS) -o \$(SAPI_LITESPEED_PATH)" | |
215 | ;; | |
216 | esac | |
217 | ||
218 | diff --git a/sapi/phpdbg/config.m4 b/sapi/phpdbg/config.m4 | |
219 | index 2f9a5e4a0f84..521f9dcb4641 100644 | |
220 | --- a/sapi/phpdbg/config.m4 | |
221 | +++ b/sapi/phpdbg/config.m4 | |
222 | @@ -85,7 +85,7 @@ | |
223 | BUILD_BINARY="sapi/phpdbg/phpdbg" | |
224 | BUILD_SHARED="sapi/phpdbg/libphpdbg.la" | |
225 | ||
226 | - BUILD_PHPDBG="\$(LIBTOOL) --mode=link \ | |
227 | + BUILD_PHPDBG="\$(LIBTOOL) --tag=CC --mode=link \ | |
228 | \$(CC) -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \ | |
229 | libphp_common.la \ | |
230 | \$(PHP_BINARY_OBJS:.lo=.o) \ | |
231 | @@ -96,7 +96,7 @@ | |
232 | \$(PHP_FRAMEWORKS) \ | |
233 | -o \$(BUILD_BINARY)" | |
234 | ||
235 | - BUILD_PHPDBG_SHARED="\$(LIBTOOL) --mode=link \ | |
236 | + BUILD_PHPDBG_SHARED="\$(LIBTOOL) --tag=CC --mode=link \ | |
237 | \$(CC) -shared -Wl,-soname,libphpdbg.so -export-dynamic \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(EXTRA_LDFLAGS_PROGRAM) \$(LDFLAGS) \$(PHP_RPATHS) \ | |
238 | libphp_common.la \ | |
239 | \$(PHP_BINARY_OBJS) \ | |
240 | --- php-8.2.11/build/php.m4.use-prog_sendmail.orig 2023-10-27 00:34:18.786790771 +0200 | |
241 | +++ php-8.2.11/build/php.m4.use-prog_sendmail 2023-10-27 00:38:28.656123856 +0200 | |
242 | @@ -785,10 +785,10 @@ | |
243 | dnl PHP_BUILD_PROGRAM | |
244 | dnl | |
245 | AC_DEFUN([PHP_BUILD_PROGRAM],[ | |
246 | - php_c_pre='$(LIBTOOL) --mode=compile $(CC)' | |
247 | + php_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)' | |
248 | php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)' | |
249 | php_c_post= | |
250 | - php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' | |
251 | + php_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)' | |
252 | php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)' | |
253 | php_cxx_post= | |
254 | php_lo=lo | |
255 | @@ -798,10 +798,10 @@ | |
256 | no) pic_setting='-prefer-non-pic';; | |
257 | esac | |
258 | ||
259 | - shared_c_pre='$(LIBTOOL) --mode=compile $(CC)' | |
260 | + shared_c_pre='$(LIBTOOL) --tag=CC --mode=compile $(CC)' | |
261 | shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting | |
262 | shared_c_post= | |
263 | - shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' | |
264 | + shared_cxx_pre='$(LIBTOOL) --tag=CXX --mode=compile $(CXX)' | |
265 | shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting | |
266 | shared_cxx_post= | |
267 | shared_lo=lo | |
268 | @@ -834,7 +834,7 @@ | |
269 | \$(LIBTOOL) --mode=install cp $3/$1.$suffix \$(phplibdir) | |
270 | ||
271 | $3/$1.$suffix: \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_DEPENDENCIES) | |
272 | - \$(LIBTOOL) --mode=link ifelse($4,,[\$(CC)],[\$(CXX)]) -shared \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(LDFLAGS) $additional_flags -o [\$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath \$(phplibdir) \$(EXTRA_LDFLAGS) \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_LIBADD) | |
273 | + \$(LIBTOOL) --tag=ifelse($4,,CC,CXX) --mode=link ifelse($4,,[\$(CC)],[\$(CXX)]) -shared \$(COMMON_FLAGS) \$(CFLAGS_CLEAN) \$(EXTRA_CFLAGS) \$(LDFLAGS) $additional_flags -o [\$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath \$(phplibdir) \$(EXTRA_LDFLAGS) \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_LIBADD) | |
274 | ||
275 | EOF | |
276 | ]) |