Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Yao Qi <yao@codesourcery.com>
To: gdb-patches@sourceware.org
Subject: Re: [PATCH,Testsuite] Add .align 2 for labels on Thumb
Date: Thu, 12 Aug 2010 11:49:00 -0000	[thread overview]
Message-ID: <20100812114907.GB24769@qiyaows> (raw)
In-Reply-To: <201008120935.o7C9Zpid015638@glazunov.sibelius.xs4all.nl>

On Thu, Aug 12, 2010 at 11:35:51AM +0200, Mark Kettenis wrote:
> > Date: Thu, 12 Aug 2010 16:18:14 +0800
> > From: Yao Qi <yao@codesourcery.com>
> > Content-Disposition: inline
> > 
> > We find test failures in gdb.dwarf2/dw2-ref-missing-frame.exp when
> > test cases are compiled as thumb.
> > https://bugs.launchpad.net/gdb-linaro/+bug/615997
> > 
> > In dw2-ref-missing-frame-func.c, it is assumed that address of label
> > 'func_loopfb_start' is equal to address of function func_loopfb.
> > However, in thumb, the label is 16-bit aligned, while function is
> > 32-bit aligned, so label address may not be equal to function address.
> > 
> > Patch below is to set labels 32-bit aligned.  Tested this patch on
> > both x86 and armel.  OK to apply?
> 
> Unfortunately not.  The .align pseudo-op has different effects on
> different architectures.  On most architectures .align 2 actually
> means 16-bit alignment, which is certainly not what you want on RISC
> architectures that have 32-bit wide instructions.
Thanks for your explanation.

In original test case, breakpoint is set on insn nop, while main
branches to insn push, so breakpoint is not hit.

0000000a <func_loopfb_start>:
   a:   bf00            nop 

0000000c <func_loopfb>:
   c:   b480            push    {r7}

I thought this nop is generated for alignment, so I added '.align 2'
for label func_loopfb_start to force it to be equal to func_loopfb.  I
make a mistake here.

I don't know why nop is generated on label func_loopfb_start, and once
'.align 2' is added, nop is *not* generated, so failures go away by
accident.

-- 
Yao Qi
CodeSourcery
yao@codesourcery.com
(650) 331-3385 x739


  reply	other threads:[~2010-08-12 11:49 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-12  8:18 Yao Qi
2010-08-12  9:38 ` Mark Kettenis
2010-08-12 11:49   ` Yao Qi [this message]
2010-08-12 12:35     ` Daniel Jacobowitz
2010-08-12 12:45       ` Andreas Schwab
2010-08-12 13:22       ` Yao Qi
2010-08-13 13:28         ` Daniel Jacobowitz
2010-08-16 15:39           ` Yao Qi
2010-08-16 18:19             ` Mark Kettenis
2010-08-18  3:22               ` Yao Qi

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=20100812114907.GB24769@qiyaows \
    --to=yao@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    /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