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

From: Li Zhijian
Date: Wed May 09 2018 - 21:11:44 EST


The input file is from
lizhijian@haswell-OptiPlex-9020:~/lkp/linux/tools/perf/tests/shell$ grep libc= -A1 record+probe_libc_inet_pton.sh
libc=$(grep -w libc /proc/self/maps | head -1 | sed -r 's/.*[[:space:]](\/.*)/\1/g')
nm -gD $libc 2>/dev/null | fgrep -q inet_pton || exit 254

It mostly points to a striped libc.so(the runtime library)
lizhijian@haswell-OptiPlex-9020:~/lkp/linux/tools/perf/tests/shell$ grep -w libc /proc/self/maps | head -1 | sed -r 's/.*[[:space:]](\/.*)/\1/g'
/lib/x86_64-linux-gnu/libc-2.23.so

Although we can get the expected symbol from the debug library, it still doesn't work for this case.

Thanks
Zhijian


On 05/10/2018 05:41 AM, Kim Phillips wrote:
On Wed, 9 May 2018 15:45:29 +0800
Li Zhijian <lizhijian@xxxxxxxxxxxxxx> 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
I'm wondering if that is because libc6-dbg isn't installed?:

ubuntu$ nm -g /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.26.so | grep inet_pton
0000000000136340 W inet_pton
0000000000136010 T __inet_pton_length

Kim


.