Re: [PATCH] Fix possible alignment issue with dw2-dir-file-name test case

Edjunior Barbosa Machado
2014-01-15T21:33:40Z

On 01/10/2014 01:41 PM, Pedro Alves wrote:
> (Eh, I had meant to send that as reply to Jan, but somehow managed
> to botch it.)
>
> Here's what I pushed.
>
> --------
> From: Andreas Arnez <arnez@linux.vnet.ibm.com>
> Date: Fri, 10 Jan 2014 15:37:36 +0000
> Subject: [PATCH] Since upstream gcc has recently increased the function
> alignment on S390, the dw2-dir-file-name test case fails in
> the first gdb_continue_to_breakpoint. Indeed, the
> breakpoint is now placed into the alignment gap *before*
> the actual function.
>
> This happens because the test case declares the respective "*_start"
> symbol as a "loose" label before the function definition, and the
> compiler inserts the alignment between that label and the function
> itself.
>
> The "*_start" symbols were only necessary because FUNC made the
> function static. The fix makes the functions extern instead, thus
> making the "*_start" labels unnecessary.
>
> testsuite/
> 2014-01-10 Andreas Arnez <arnez@linux.vnet.ibm.com>
> Pedro Alves <palves@redhat.com>
>
> * gdb.dwarf2/dw2-dir-file-name.c (FUNC): Remove "*_start" symbol.
> Make "name" extern.
> * gdb.dwarf2/dw2-dir-file-name.exp (out_cu, out_line): Replace
> references to ${name}_start by references to ${name}.

For some reason, the testcase is no longer successful on ppc64 (although it
still passes on ppc32): it hits the breakpoints, but no longer shows the
filename in none of the tests.

From gdb.log:
...
(gdb) break compdir_missing__ldir_missing__file_basename
Breakpoint 2 at 0x100006c4
(gdb) continue
Continuing.

Breakpoint 2, 0x00000000100006c4 in .compdir_missing.ldir_missing.file_basename ()
(gdb) FAIL: gdb.dwarf2/dw2-dir-file-name.exp: compdir_missing__ldir_missing__file_basename: continue to breakpoint: compdir_missing__ldir_missing__file_basename
...
=== gdb Summary ===

# of expected passes 97
# of unexpected failures 128

--
Edjunior