Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Jiong Wang <jiwang@tilera.com>
To: <gdb-patches@sourceware.org>
Cc: Yao Qi <yao@codesourcery.com>, Pedro Alves <palves@redhat.com>
Subject: Re: [RFC/TileGX 2/6] simplify the handling of skip prologue for plt stub
Date: Fri, 01 Mar 2013 10:35:00 -0000	[thread overview]
Message-ID: <5130846C.8070306@tilera.com> (raw)
In-Reply-To: <512623BE.2030608@tilera.com>

On 02/21/2013 09:40 PM, Jiong Wang wrote:
> On 02/20/2013 12:10 PM, Yao Qi wrote:
>> Is it possible that the section layouts on two pages?  I mean, if is 
>> possible that NEXT_ADDR is within section FOO and page A, but the end 
>> of section FOO is within page A + 1.  If this is true, we need to 
>> check to the min (page boundary, section boundary), otherwise, we 
>> don't have to worry about it.
>
>    sure, and I guess the page boundary check is for the risk that the 
> next page is not in memory that need to be paged in.
>    but some of the time, we just need to analyze a few instructions 
> then we could get the result, so we only cross a page when necessary, 
> but this do not make sense for disk file access.
>
>    after a second think, I fell it's reasonable that 
> "section_table_xfer_memory_partial" do not handle those gap between 
> sections, because there is no bit on the disk file for those gap, 
> while if the debuggee is loaded and under running, then 
> target_read_memory will use ptrace to fetch runtime memory, then those 
> gap has physical map in memory, and set to zero.
>
>    for x86, this is a issue also. for a simple testcase
>
> char *fmt = "x%d\n";
> int main(int argc, char **argv)
> {
>         printf(fmt, argc);
>         return 0;
> }
>
> gcc test.c
> gdb a.out
> (gdb) x/10 fmt
> 0x4005c0 <__dso_handle+8>:    174335352    Cannot access memory at 
> address 0x4005c4
> (gdb) b main
> Breakpoint 1 at 0x4004e0
> (gdb) r
> Starting program: /home/jiwang/GDB-TEST/a.out
> Breakpoint 1, 0x00000000004004e0 in main ()
> (gdb) x/10 fmt
> 0x4005c0 <__dso_handle+8>:    174335352    0    990059265 44
> 0x4005d0:    4    -552    72    -236
> 0x4005e0:    112    -184
>
> so, I think fix this issue by checking section boundary simultaneously 
> is a bit strange, the clean and proper way is to stop skip_prologue 
> analysis when the pc is in plt stub.
>
> below is the old patch, any one comments on this?
>

Ping, could anyone have a review on this?

>
> gdb/ChangeLog:
>
>        * tilegx-tdep.c (tilegx_skip_prologue): simplify the handling for
>        plt stub.
>


-- 
Regards,
Jiong. Wang
Tilera Corporation.


  reply	other threads:[~2013-03-01 10:35 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-18  9:25 Jiong Wang
2013-01-18 13:15 ` Joel Brobecker
2013-01-18 15:12   ` Jiong Wang
2013-01-18 17:30     ` Pedro Alves
2013-02-15  3:22       ` Jiong Wang
2013-02-16  4:50     ` Yao Qi
2013-02-20  2:49       ` Jiong Wang
2013-02-20  4:11         ` Yao Qi
2013-02-21 13:40           ` Jiong Wang
2013-03-01 10:35             ` Jiong Wang [this message]
2013-03-01 11:31             ` Pedro Alves
2013-03-01 14:08               ` Jiong Wang
2013-03-01 15:59                 ` Pedro Alves
2013-03-02  1:40                   ` [COMMITTED][RFC/TileGX " Jiong Wang

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=5130846C.8070306@tilera.com \
    --to=jiwang@tilera.com \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    --cc=yao@codesourcery.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