diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2023-04-20 18:12:32 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2023-04-20 18:12:32 -0400 |
commit | 6dce37203410b011c0ccae40acf2649f79c38242 (patch) | |
tree | 4497160ef7e25f4e16dc78fb013bf462b659201e | |
parent | 87d8ec3e47e4da80ede7765d03a5d7433f8811d6 (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.m4 | 2 | ||||
-rwxr-xr-x | configure | 2 |
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; } |