From: Daniel Jacobowitz <drow@false.org>
To: Ulrich Weigand <uweigand@de.ibm.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFA][2/5] New port: Cell BE SPU (valops.c fix)
Date: Wed, 22 Nov 2006 22:48:00 -0000 [thread overview]
Message-ID: <20061122224819.GA19267@nevyn.them.org> (raw)
In-Reply-To: <200611222213.kAMMD9YS008267@d12av02.megacenter.de.ibm.com>
On Wed, Nov 22, 2006 at 11:13:09PM +0100, Ulrich Weigand wrote:
> For some reason I seem unable to convince GCC to place such
> a struct into a register.
Must be a mode thing... shame; it ought to be able to do this.
> For registers without special conversion function, value_assign
> performs a read-modify-write cycle: it reads the old contents
> of the register(s), modify the bits denoted by value_offset,
> value_bitsize and value_bitpos, and writes the full register
> contents back.
>
> Maybe we need to do a similar cycle of REGISTER_TO_VALUE,
> modify selected bits, VALUE_TO_REGISTER for the registers with
> special conversion function?
I think that's precisely it. I'm worried that this will break some
other uses of VALUE_TO_REGISTER, though - how do we keep track at
this point in the code of "the whole struct is in the register"
or "this field is in the register"? Right now, there's limited
flexibility on that, but Jim's been working on improved DW_OP_piece
support which would let us write to structure pieces.
> As an aside, what is this code in value_assign supposed to do:
>
> /* Locate the first register that falls in the value that
> needs to be transfered. Compute the offset of the
> value in that register. */
> {
> int offset;
> for (reg_offset = value_reg, offset = 0;
> offset + register_size (current_gdbarch, reg_offset) <= value_offset (toval);
> reg_offset++);
> byte_offset = value_offset (toval) - offset;
> }
>
> It seems clearly broken (offset remains constant 0), but I'm not
> quite sure what the intent was.
Um, yeah, that's definitely not sensible. Perhaps it is supposed to
match the loop further down, in which offset would go up by
register_size?
--
Daniel Jacobowitz
CodeSourcery
next prev parent reply other threads:[~2006-11-22 22:48 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-11 18:38 Ulrich Weigand
2006-11-22 14:15 ` [PING] " Ulrich Weigand
2006-11-22 14:23 ` Daniel Jacobowitz
2006-11-22 19:25 ` Jim Blandy
2006-11-22 19:28 ` Daniel Jacobowitz
2006-11-22 19:55 ` Ulrich Weigand
2006-11-22 20:30 ` Daniel Jacobowitz
2006-11-22 20:43 ` Ulrich Weigand
2006-11-22 20:57 ` Daniel Jacobowitz
2006-11-22 22:13 ` Ulrich Weigand
2006-11-22 22:48 ` Daniel Jacobowitz [this message]
2006-11-23 13:57 ` Ulrich Weigand
2006-11-23 16:16 ` Daniel Jacobowitz
2006-11-23 17:55 ` Ulrich Weigand
2006-11-23 19:59 ` Mark Kettenis
2006-11-24 2:08 ` Daniel Jacobowitz
2006-11-24 15:51 ` Ulrich Weigand
2006-11-28 14:56 ` Daniel Jacobowitz
2006-11-27 19:31 ` Jim Blandy
2006-11-27 22:06 ` Ulrich Weigand
2006-11-27 22:31 ` Jim Blandy
2006-11-27 23:23 ` Ulrich Weigand
2006-11-27 23:59 ` Jim Blandy
2006-11-28 0:01 ` Daniel Jacobowitz
2006-12-06 16:29 ` Ulrich Weigand
2006-12-06 16:43 ` Daniel Jacobowitz
2006-12-06 17:10 ` Ulrich Weigand
2006-12-06 17:12 ` Daniel Jacobowitz
2006-12-07 6:34 ` Vladimir Prus
2006-12-06 21:21 ` Jim Blandy
2006-12-06 22:02 ` Daniel Jacobowitz
2006-12-06 23:24 ` Jim Blandy
2006-12-06 23:16 ` Ulrich Weigand
2006-12-06 23:39 ` Jim Blandy
2006-12-08 15:50 ` Ulrich Weigand
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=20061122224819.GA19267@nevyn.them.org \
--to=drow@false.org \
--cc=gdb-patches@sourceware.org \
--cc=uweigand@de.ibm.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