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
next prev 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