This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] testsuite/gdb.dwarf2: Fix for dw2-dos-drive failure on ARM
- From: Pedro Alves <palves at redhat dot com>
- To: Omair Javaid <omair dot javaid at linaro dot org>
- Cc: gdb-patches at sourceware dot org
- Date: Tue, 30 Jul 2013 16:38:24 +0100
- Subject: Re: [PATCH] testsuite/gdb.dwarf2: Fix for dw2-dos-drive failure on ARM
- References: <CANW4E-3h4UODqrXEjP2Z8AmZa+eYtXnTY337EosXTSE6016uGQ at mail dot gmail dot com> <CANW4E-3LDYi6_N7Ko--=CK4pxbmi0rOd238a2FSbQO2XsaWw2A at mail dot gmail dot com>
On 07/15/2013 11:26 AM, Omair Javaid wrote:
> A test-case in gdb.dwarf2/dw2-dos-drive.exp fails on ARM. Problem occurs
> due to an unaligned access of text section. This patch correctly aligns
> text section to 4 bytes. This patch has been tested on armv7 and x86_64.
#1 - What exactly is unaligned? You're reserving 4 bytes instead
of 1 for pc_start. Does that really influence alignment of text ?
It doesn't for me, with an arm-linux toolchain:
$ arm-linux-gcc dw2-dos-drive.S -o a.out -c
$ arm-gp2x-linux-objdump -h a.out
...
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000001 00000000 00000000 00000034 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
...
vs
...
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00000004 00000000 00000000 00000034 2**0
CONTENTS, ALLOC, LOAD, READONLY, CODE
...
IOW, size increases, but alignment stays the same.
#2 - Where's the actual access/fault? AFAICS, the test doesn't
even execute the compiled object's code.
#3 - How come these other tests aren't likewise affected?
$ grep "\.byte 0$" * -B 4
dw2-canonicalize-type.S- along with this program. If not, see <http://www.gnu.org/licenses/>. */
dw2-canonicalize-type.S-
dw2-canonicalize-type.S- .text
dw2-canonicalize-type.S- .globl main
dw2-canonicalize-type.S:main: .byte 0
--
pr11465.S- .text
pr11465.S-text_start:
pr11465.S-_ZN1N1cE:
pr11465.S- /* Valid function must have non-empty PC range. */
pr11465.S: .byte 0
>
> gdb/testsuite/ChangeLog:
>
> 2013-07-15 Omair Javaid <Omair.Javaid@linaro.org>
>
> * gdb.dwarf2/dw2-dos-drive.S: Corrected text section alignment
Missing period at end of sentence. That's a "why". You should say
a "what" instead:
* gdb.dwarf2/dw2-dos-drive.S (pc_start): Use .4byte instead of
.byte.
>
> ===================================================================
> RCS file: /cvs/src/src/gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S,v
> retrieving revision 1.1
> diff -u -p -r1.1 dw2-dos-drive.S
> --- gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S 17 Jan 2013 20:40:44
> -0000 1.1
> +++ gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S 19 Jun 2013 19:43:32 -0000
> @@ -15,7 +15,7 @@
>
> .text
> pc_start:
> - .byte 0
> + .4byte 0
> pc_end:
>
> .section .debug_info
>
--
Pedro Alves