summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2023-04-20 18:12:32 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2023-04-20 18:12:32 -0400
commit6dce37203410b011c0ccae40acf2649f79c38242 (patch)
tree4497160ef7e25f4e16dc78fb013bf462b659201e
parent87d8ec3e47e4da80ede7765d03a5d7433f8811d6 (diff)
Use --strip-unneeded when stripping static libraries with GNU strip.
We've long used "--strip-unneeded" for shared libraries but plain "-x" for static libraries when stripping symbols with GNU strip. There doesn't seem to be any really good reason for that though, since --strip-unneeded produces smaller output (as "-x" alone does not remove debug symbols). Moreover it seems that llvm-strip, although it identifies as GNU strip, misbehaves when given "-x" for this purpose. It's unclear whether that's intentional or a bug in llvm-strip, but in any case it seems like changing to use --strip-unneeded in all cases should be a win. Note that this doesn't change our behavior when dealing with non-GNU strip. Per gripes from Ed Maste and Palle Girgensohn. Back-patch, in case anyone wants to use llvm-strip with stable branches. Discussion: https://postgr.es/m/17898-5308d09543463266@postgresql.org Discussion: https://postgr.es/m/20230420153338.bbj2g5jiyy3afhjz@awork3.anarazel.de
-rw-r--r--config/programs.m42
-rwxr-xr-xconfigure2
2 files changed, 2 insertions, 2 deletions
diff --git a/config/programs.m4 b/config/programs.m4
index 6a118ece24e..e936dbd07a5 100644
--- a/config/programs.m4
+++ b/config/programs.m4
@@ -327,7 +327,7 @@ AC_DEFUN([PGAC_CHECK_STRIP],
AC_MSG_CHECKING([whether it is possible to strip libraries])
if test x"$STRIP" != x"" && "$STRIP" -V 2>&1 | grep "GNU strip" >/dev/null; then
- STRIP_STATIC_LIB="$STRIP -x"
+ STRIP_STATIC_LIB="$STRIP --strip-unneeded"
STRIP_SHARED_LIB="$STRIP --strip-unneeded"
AC_MSG_RESULT(yes)
else
diff --git a/configure b/configure
index e68498e6cf6..5dc35d4c6b6 100755
--- a/configure
+++ b/configure
@@ -9201,7 +9201,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is possible to strip libraries" >&5
$as_echo_n "checking whether it is possible to strip libraries... " >&6; }
if test x"$STRIP" != x"" && "$STRIP" -V 2>&1 | grep "GNU strip" >/dev/null; then
- STRIP_STATIC_LIB="$STRIP -x"
+ STRIP_STATIC_LIB="$STRIP --strip-unneeded"
STRIP_SHARED_LIB="$STRIP --strip-unneeded"
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }