On Friday 27 of November 2015 02:50:27 Ed Maste wrote: > On 20 September 2015 at 12:12, Ed Maste <ema...@freebsd.org> wrote: > > On 27 May 2015 at 13:59, Ed Maste <ema...@freebsd.org> wrote: > >>> Currently libtool does not properly detect elftoolchain's version of > >>> strip(1). > >>> The proposed patch fixes this. > >> > >> For reference, this issue has been discussed in FreeBSD at > >> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=198611 > >> > >> It's possible to simplify the test a little bit; $EGREP is already > >> used in libtool.m4. This is what I had: > >> > >> --- a/m4/libtool.m4 > >> +++ b/m4/libtool.m4 > >> @@ -2207,7 +2207,8 @@ m4_defun([_LT_CMD_STRIPLIB], > >> striplib= > >> old_striplib= > >> AC_MSG_CHECKING([whether stripping libraries is possible]) > >> -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then > >> +if test -n "$STRIP" && $STRIP -V 2>&1 | > >> + $EGREP "GNU strip|strip.*elftoolchain" >/dev/null; then > >> test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" > >> test -z "$striplib" && striplib="$STRIP --strip-unneeded" > >> AC_MSG_RESULT([yes]) > > > > Following up again to see about including this patch in libtool. Is > > there anything else I can do to have this considered? > > Ping?
Xin Li and Ed, thanks and sorry for the delay. Can you please check the attached patch on FreeBSD? There is separate code fork for freebsd/elftoolchain so we could possibly use different options than the defaults which are used with GNU strip. Pavel
>From fcbfc068ca2e711b6a8231b1e4237325cb923a82 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup <prais...@redhat.com> Date: Mon, 30 Nov 2015 08:37:18 +0100 Subject: [PATCH] m4/libtool.m4: FreeBSD elftoolchain strip support References: http://savannah.gnu.org/patch/?8675 Message-Id: <20150523-002056.sv85487.59...@savannah.gnu.org> * m4/libtool.m4 (_LT_CMD_STRIPLIB): Remove the redundant tests for empty $old_striplib and $striplib. Move the test for empty $STRIP variable up. Allow elftoolchain strip (with the same arguments we used to have with GNU strip) on FreeBSD. --- NO-THANKS | 2 ++ m4/libtool.m4 | 39 ++++++++++++++++++++++++--------------- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/NO-THANKS b/NO-THANKS index 51ec8eb..13a3c4b 100644 --- a/NO-THANKS +++ b/NO-THANKS @@ -37,6 +37,7 @@ Bruno Haible hai...@ilog.fr Dalibor Topic robi...@kaffe.org David Edelsohn edels...@gnu.org DJ Delorie d...@delorie.com +Ed Maste ema...@freebsd.org Erez Zadok e...@cs.columbia.edu Eric Blake e...@byu.net H.J. Lu h...@gnu.org @@ -140,5 +141,6 @@ Ulrich Drepper drep...@ipd.info.uni-karlsruhe.de Václav Zeman vhais...@gmail.com Warren Dodge warren.l.do...@tektronix.com Xavier Pianet xav...@xingo.com +Xin Li Юрий Андреевич Пухальский p...@cryptopro.ru Дилян Палаузов dilyan.palau...@aegee.org diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 2e8c3cf..1b44f02 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -2220,26 +2220,35 @@ m4_defun([_LT_CMD_STRIPLIB], striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) +if test -z "$STRIP"; then + AC_MSG_RESULT([no]) else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP"; then + if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + case $host_os in + darwin*) + # FIXME - insert some real tests, host_os isn't really good enough striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) - else + ;; + freebsd*) + if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then + old_striplib="$STRIP --strip-debug" + striplib="$STRIP --strip-unneeded" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + ;; + *) AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac + ;; + esac + fi fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) -- 2.5.0