Re: [PATCH] perf test shell: Add -D to check dynamic symbols for ubuntu/debian

From: Li Zhijian
Date: Wed May 09 2018 - 03:38:58 EST


Sorry, just noticed this path is out-of-date
i will rebase it


On 05/09/2018 03:36 PM, Li Zhijian wrote:
ping


On 12/27/2017 04:50 PM, Li Zhijian wrote:
On Ubuntu and Debian, we can't find any symbol including "inet_pton" from 'nm -g'
root@vm-lkp-nex04-8G-5 ~# nm -g /lib/x86_64-linux-gnu/libc-2.25.so | grep inet_pton
nm: /lib/x86_64-linux-gnu/libc-2.25.so: no symbols

it looks libc.so has different symbol compositions at different distros

Usage: nm [option(s)] [file(s)]
 List symbols in [file(s)] (a.out by default).
 The options are:
...snip...
ÂÂ -D, --dynamicÂÂÂÂÂÂÂÂÂ Display dynamic symbols instead of normal symbols
ÂÂÂÂÂÂ --defined-onlyÂÂÂÂ Display only defined symbols
ÂÂ -eÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ (ignored)
 -f, --format=FORMAT Use the output format FORMAT. FORMAT can be `bsd',
 `sysv' or `posix'. The default is `bsd'
ÂÂ -g, --extern-onlyÂÂÂÂÂ Display only external symbols

I tested both debian/ubuntu and RHEL, they work as expected

CC: Thomas Richter <tmricht@xxxxxxxxxxxxxxxxxx>
CC: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Signed-off-by: Li Zhijian <lizhijian@xxxxxxxxxxxxxx>
---
 tools/perf/tests/shell/trace+probe_libc_inet_pton.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh b/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
index 8b3da21..f939bd6 100755
--- a/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
+++ b/tools/perf/tests/shell/trace+probe_libc_inet_pton.sh
@@ -11,7 +11,7 @@
 . $(dirname $0)/lib/probe.sh
  libc=$(grep -w libc /proc/self/maps | head -1 | sed -r 's/.*[[:space:]](\/.*)/\1/g')
-nm -g $libc 2>/dev/null | fgrep -q inet_pton || exit 254
+nm -gD $libc 2>/dev/null | fgrep -q inet_pton || exit 254
  trace_libc_inet_pton_backtrace() {
ÂÂÂÂÂ idx=0

--
Best regards.
Li Zhijian (8528)