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 13:22:00 -0000	[thread overview]
Message-ID: <20100812132153.GC24769@qiyaows> (raw)
In-Reply-To: <20100812123437.GA31629@caradoc.them.org>

[-- Attachment #1: Type: text/plain, Size: 1402 bytes --]

On Thu, Aug 12, 2010 at 08:34:39AM -0400, Daniel Jacobowitz wrote:
> On Thu, Aug 12, 2010 at 07:49:08PM +0800, Yao Qi wrote:
> > 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.
> 
> Can you use func_loopfb instead of func_loopfb_start in the .S file?
> Or, can you define func_loopfb_start as asm ("func_loopfb_start =
> func_loopfb")?
> 
> A third option is to address Mark's concern by using ".p2align 4"; I
> believe that is 16-byte alignment on all platforms gas supports, and
> this test probably requires gas in practice already.

Yeah, update my patch by replacing '.align 2' with '.p2align 4'.
Is that OK?

> 
> The existing code is not correct, for the reason you've found; the
> compiler typically uses .align or .p2align at the start of a function.

I see, thanks.

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

[-- Attachment #2: align.patch --]
[-- Type: text/x-diff, Size: 840 bytes --]

gdb/testsuite/
2010-08-12  Yao Qi  <yao@codesourcery.com>

	* gdb.dwarf2/dw2-ref-missing-frame-func.c: Add .p2align 4 for labels
	func_nofb_start and func_loopfb_start, so that address of functions
	is equal to these labels on Thumb.

diff --git a/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-func.c b/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-func.c
index 5f77883..e6fa680 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-func.c
+++ b/gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame-func.c
@@ -19,6 +19,7 @@ asm (".globl cu_text_start");
 asm ("cu_text_start:");
 
 asm (".globl func_nofb_start");
+asm (".p2align 4");
 asm ("func_nofb_start:");
 
 void
@@ -31,6 +32,7 @@ asm (".globl func_nofb_end");
 asm ("func_nofb_end:");
 
 asm (".globl func_loopfb_start");
+asm (".p2align 4");
 asm ("func_loopfb_start:");
 
 void

  parent reply	other threads:[~2010-08-12 13:22 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
2010-08-12 12:35     ` Daniel Jacobowitz
2010-08-12 12:45       ` Andreas Schwab
2010-08-12 13:22       ` Yao Qi [this message]
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=20100812132153.GC24769@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