Mirror of the gdb mailing list
 help / color / mirror / Atom feed
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


  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