This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH,Testsuite] Add .align 2 for labels on Thumb
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.
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.
--
Daniel Jacobowitz
CodeSourcery