From: Daniel Jacobowitz <drow@false.org>
To: David Lecomber <david@lecomber.net>
Cc: gdb <gdb@sources.redhat.com>
Subject: Re: Whacky ia64: linux_proc_xfer_partial and lseek vs pread64
Date: Fri, 10 Feb 2006 17:24:00 -0000 [thread overview]
Message-ID: <20060210172420.GA27670@nevyn.them.org> (raw)
In-Reply-To: <1139591736.3780.26.camel@cpc2-oxfd8-0-0-cust771.oxfd.cable.ntl.com>
On Fri, Feb 10, 2006 at 05:15:36PM +0000, David Lecomber wrote:
> Dear Dan and all,
>
> It's great that these days we use file access to get at the memory via
> the /proc filesystem - but there's an interesting sighting on the ia64
> (suse 9) in linux_proc_xfer_partial.
>
> #ifdef HAVE_PREAD64
> if (pread64 (fd, readbuf, len, offset) != len)
> #else
> if (lseek (fd, offset, SEEK_SET) == -1 || read (fd, readbuf, len) !=
> len)
> #endif
> ret = 0;
> else
> ret = len;
>
>
> So, Mr Itanium has pread64, it calls pread64.. it seems to fail
> regularly.. As the strace log shows.
> open("/proc/21785/mem", O_RDONLY) = 4
> pread(4, 0x60000fffffffa040, 64, 11529215046068469760) = -1 EINVAL
> (Invalid argument)
> close(4) = 0
Are there any warnings when compiling this file? Is the prototype
for pread64 not in scope, maybe? Failing that, put a breakpoint at
*pread64 and make sure the arguments in registers are really sane.
But I doubt it's either of those; the values look reasonable.
That offset is $1 = 0xa000000000000000. Maybe the kernel is rejecting
that for pread because it thinks it's unacceptable for some reason.
> Anyone any idea what's going on? I'd be happy to let someone else
> formulate the rather obvious patch, as I don't know the behaviour on
> other platforms.
The code appears to be fine and your pread appears to be busted,
unfortunately.
--
Daniel Jacobowitz
CodeSourcery
next prev parent reply other threads:[~2006-02-10 17:24 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-10 17:15 David Lecomber
2006-02-10 17:24 ` Daniel Jacobowitz [this message]
2006-02-10 18:05 ` Andreas Schwab
2006-02-10 18:14 ` Daniel Jacobowitz
2006-02-10 19:00 ` Andreas Schwab
2006-02-10 19:06 ` Daniel Jacobowitz
2006-02-11 16:22 ` Andreas Schwab
2006-02-11 16:50 ` Andreas Schwab
2006-02-11 18:26 ` Daniel Jacobowitz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060210172420.GA27670@nevyn.them.org \
--to=drow@false.org \
--cc=david@lecomber.net \
--cc=gdb@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox