Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit eab2d31

Browse files
committed
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
1 parent a9781ae commit eab2d31

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

config/programs.m4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ AC_DEFUN([PGAC_CHECK_STRIP],
307307
308308
AC_MSG_CHECKING([whether it is possible to strip libraries])
309309
if test x"$STRIP" != x"" && "$STRIP" -V 2>&1 | grep "GNU strip" >/dev/null; then
310-
STRIP_STATIC_LIB="$STRIP -x"
310+
STRIP_STATIC_LIB="$STRIP --strip-unneeded"
311311
STRIP_SHARED_LIB="$STRIP --strip-unneeded"
312312
AC_MSG_RESULT(yes)
313313
else

configure

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9712,7 +9712,7 @@ fi
97129712
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is possible to strip libraries" >&5
97139713
$as_echo_n "checking whether it is possible to strip libraries... " >&6; }
97149714
if test x"$STRIP" != x"" && "$STRIP" -V 2>&1 | grep "GNU strip" >/dev/null; then
9715-
STRIP_STATIC_LIB="$STRIP -x"
9715+
STRIP_STATIC_LIB="$STRIP --strip-unneeded"
97169716
STRIP_SHARED_LIB="$STRIP --strip-unneeded"
97179717
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
97189718
$as_echo "yes" >&6; }

src/makefiles/meson.build

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ if strip_bin.found()
1616
strip_version.stdout().contains('GNU strip') or
1717
strip_version.stderr().contains('GNU strip'))
1818
working_strip = true
19-
strip_static_cmd = strip_cmd + ['-x']
19+
strip_static_cmd = strip_cmd + ['--strip-unneeded']
2020
strip_shared_cmd = strip_cmd + ['--strip-unneeded']
2121
elif host_system == 'darwin'
2222
working_strip = true

0 commit comments

Comments
 (0)