Hi,

I have recently got a bug report about Linux::Smaps. The poster said it'd
report 2 [vdso] areas and that it can be cured if /proc/self/smaps is opened
with '<:stdio'. Later on he also found the behavior depends on the kernel
version, 2.6.25.3 shows 2 vdsos 2.6.23.1-21 only one.

Since I don't have any of these kernels I am asking for help. To all of my
knowledge multiple vdsos is nonsense. But is it a kernel bug or a bug in the
perlio layer?

Could you please run the following command on various combinations of linux
kernel and perlio?

PERLIO="stdio" perl -pe 'BEGIN {my $smaps="/proc/$$/smaps";
  open STDIN, "<", $smaps or die "$!\n"; system "cat -n $smaps"}
  $_="$.\t$_"' | grep vdso

It should print 2 almost identical lines. If there are more please report.

Here an example:

$ PERLIO="stdio" perl -pe 'BEGIN {my $smaps="/proc/$$/smaps"; open STDIN, "<", 
$smaps or die "$!\n"; system "cat -n $smaps"} $_="$.\t$_"'|grep vdso
   321  ffffe000-fffff000 r-xp 00000000 00:00 0          [vdso]
321     ffffe000-fffff000 r-xp 00000000 00:00 0          [vdso]

Keep in mind that /proc/$$/smaps exists only for kernels >=2.6.14.

Thanks,
Torsten

Reply via email to