This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fwd: vdso


On Sat, Jul 6, 2013 at 12:12 AM, Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:
> On Fri, 05 Jul 2013 08:12:29 +0200, vijay nag wrote:
>> The function linux_proc_xfer_partial() is returning result zero when
>> trying to pread64 /proc/<pid>/mem and errno is set to -EIO.
>
> And what is 'offset' (and 'len') that time and what is in /proc/PID/maps that
> time?
> Isn't there also some incorrect signed extension of 32-bit address to 64-bit
> address, for example?
>
>
>> Does that mean kernel doesn't support pread64 on /proc/xxx/mem files ?
>
> I do not think so.
>
>
> Jan

Well the problem is not with pread64 and  the same problem is observed
with (lseek, read) pair.
Offset  0xffffe000 doesn't correspond to any mapping in the process
address space and probably is that reason why read is returning EIO ?

Breakpoint 1, linux_proc_xfer_partial (ops=0x8499230,
object=TARGET_OBJECT_MEMORY, annex=0x0, readbuf=0xbffff250 "\r",
writebuf=0x0, offset=4294967296, len=4294959104)
    at linux-nat.c:4386
4386	  if (object != TARGET_OBJECT_MEMORY || !readbuf)
(gdb) p /x offset
$3 = 0xffffe000
(gdb) p /x len
$4 = 0x34
(gdb)


smap details of VDSO
b7fff000-b8000000 r-xp b7fff000 00:00 0          [vdso]
Size:                 4 kB
Rss:                  0 kB
Shared_Clean:         0 kB
Shared_Dirty:         0 kB
Private_Clean:        0 kB
Private_Dirty:        0 kB

/proc/xxx/maps
08048000-1829a000 r-xp 00000000 00:15 85524508   vdso_trial
1829a000-1befa000 rwxp 10252000 00:15 85524508   vdso_trial
1befa000-1dea0000 rwxp 1befa000 00:00 0          [heap]
b7fff000-b8000000 r-xp b7fff000 00:00 0          [vdso]
bffeb000-c0000000 rwxp bffeb000 00:00 0          [stack]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]