Use --strip-unneeded when stripping static libraries with GNU strip.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 20 Apr 2023 22:12:32 +0000 (18:12 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 20 Apr 2023 22:12:32 +0000 (18:12 -0400)
commiteab2d3147e3c13aca4a9aca52c0a9a581a8d224a
treef70323df97e12ad3b722eca2a2ef5ab86bbaa9a0
parenta9781ae11ba2fdb44a3a72c9a7ebb727140b25c5
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
config/programs.m4
configure
src/makefiles/meson.build