Re: [PATCH] libtool: LT_PATH_NM: default to ${ac_tool_prefix}nm

Peter Rosin <[email protected]>
Newsgroups gmane.comp.gnu.libtool.patches
Message-ID <[email protected]>
On 2013-04-27 22:38, Mike Frysinger wrote:
> On Saturday 27 April 2013 13:53:28 Peter Rosin wrote:
>> On 2013-04-27 07:58, Mike Frysinger wrote:
>>> The current code tries to locate a compatible nm tool.  It starts with
>>> a prefixed nm tool (great!) and includes a plain nm too (that's fine).
>>> The problem is that the code searches for the prefixed nm before the
>>> plain nm (normally fine), but doesn't break once it has found a valid
>>> match.  It does this so that it if it finds an "OK", but "not great",
>>> tool, it'll keep on searching.
>>
>> I agree this sounds like the wrong this to do, but isn't it better to
>> just break all the way out when a "great" nm is found?
> 
> for some reason i thought the [n] arg to break wasn't portable.  this should 
> work though.
> -mike

And on re-reading, my IFS changes are not very constructive. I removed
those. I will push the attached in a couple of days, if there are no
objections.

Cheers,
Peter
0001-libtool-break-all-the-way-out-when-a-good-nm-is-foun.patch (text/x-patch, 1.3 KB)
From a4629ebff263dcb2e05feb9e41df649ea5ce3f78 Mon Sep 17 00:00:00 2001
From: Peter Rosin <[email protected]>
Date: Sun, 28 Apr 2013 09:16:56 +0200
Subject: [PATCH] libtool: break all the way out when a good nm is found

The current code tries to locate a compatible nm tool.  It starts with
a prefixed nm tool (great!) and includes a plain nm too (that's fine).
The problem is that the code searches for the prefixed nm before the
plain nm (normally fine), but doesn't break once it has found a valid
match, and the plain nm ends up the winner.

Report and analysis by Mike Frysinger.

* m4/libtool.m4 (LT_PATH_NM): Break all the way out on a good match.

Signed-off-by: Peter Rosin <[email protected]>
---
 m4/libtool.m4 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 3f50b0c..d7013c5 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -3397,13 +3397,13 @@ else
 	case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
 	*/dev/null* | *'Invalid file or object type'*)
 	  lt_cv_path_NM="$tmp_nm -B"
-	  break
+	  break 2
 	  ;;
 	*)
 	  case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
 	  */dev/null*)
 	    lt_cv_path_NM="$tmp_nm -p"
-	    break
+	    break 2
 	    ;;
 	  *)
 	    lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-- 
1.7.9
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.