Testsuite failures in gdb.dwarf2/dw2-*.exp

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Testsuite failures in gdb.dwarf2/dw2-*.exp

Andreas Schwab
On ia64 the .short/.int/.quad directives always generate aligned fields,
adding padding as necessary.  For DWARF tables the .2byte/.4byte/.8byte
directives should be used instead.

Andreas.

2007-01-26  Andreas Schwab  <[hidden email]>

        * gdb.dwarf2/dw2-basic.S: Use .2byte/.4byte/.8byte instead of
        .short/.int/.quad in the dwarf sections.
        * gdb.dwarf2/dw2-intercu.S: Likewise.
        * gdb.dwarf2/dw2-intermix.S: Likewise.

Index: gdb.dwarf2/dw2-basic.S
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.dwarf2/dw2-basic.S,v
retrieving revision 1.2
diff -u -a -p -r1.2 dw2-basic.S
--- gdb.dwarf2/dw2-basic.S 9 Jan 2007 17:59:12 -0000 1.2
+++ gdb.dwarf2/dw2-basic.S 26 Jan 2007 16:05:48 -0000
@@ -39,17 +39,17 @@ func_cu1:
  .section .debug_info
 .Lcu1_begin:
  /* CU header */
- .int .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
+ .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
 .Lcu1_start:
- .short 2 /* DWARF Version */
- .int .Labbrev1_begin /* Offset into abbrev section */
+ .2byte 2 /* DWARF Version */
+ .4byte .Labbrev1_begin /* Offset into abbrev section */
  .byte 4 /* Pointer size */
 
  /* CU die */
  .uleb128 1 /* Abbrev: DW_TAG_compile_unit */
- .int .Lline1_begin /* DW_AT_stmt_list */
- .int .Lend_text1 /* DW_AT_high_pc */
- .int .Lbegin_text1 /* DW_AT_low_pc */
+ .4byte .Lline1_begin /* DW_AT_stmt_list */
+ .4byte .Lend_text1 /* DW_AT_high_pc */
+ .4byte .Lbegin_text1 /* DW_AT_low_pc */
  .ascii "file1.txt\0" /* DW_AT_name */
  .ascii "GNU C 3.3.3\0" /* DW_AT_producer */
  .byte 1 /* DW_AT_language (C) */
@@ -60,9 +60,9 @@ func_cu1:
  .byte 1 /* DW_AT_decl_file */
  .byte 2 /* DW_AT_decl_line */
  .ascii "func_cu1\0" /* DW_AT_name */
- .int .Ltype_int-.Lcu1_begin /* DW_AT_type */
- .int .Lbegin_func_cu1 /* DW_AT_low_pc */
- .int .Lend_func_cu1 /* DW_AT_high_pc */
+ .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
+ .4byte .Lbegin_func_cu1 /* DW_AT_low_pc */
+ .4byte .Lend_func_cu1 /* DW_AT_high_pc */
  .byte 1 /* DW_AT_frame_base: length */
  .byte 0x55 /* DW_AT_frame_base: DW_OP_reg5 */
 
@@ -137,10 +137,10 @@ func_cu1:
 /* Line table */
  .section .debug_line
 .Lline1_begin:
- .int .Lline1_end - .Lline1_start /* Initial length */
+ .4byte .Lline1_end - .Lline1_start /* Initial length */
 .Lline1_start:
- .short 2 /* Version */
- .int .Lline1_lines - .Lline1_hdr /* header_length */
+ .2byte 2 /* Version */
+ .4byte .Lline1_lines - .Lline1_hdr /* header_length */
 .Lline1_hdr:
  .byte 1 /* Minimum insn length */
  .byte 1 /* default_is_stmt */
@@ -180,7 +180,7 @@ func_cu1:
  .byte 0 /* DW_LNE_set_address */
  .uleb128 5
  .byte 2
- .int .Lbegin_func_cu1
+ .4byte .Lbegin_func_cu1
 
  .byte 3 /* DW_LNS_advance_line */
  .sleb128 3 /* ... to 4 */
@@ -192,7 +192,7 @@ func_cu1:
  .byte 0 /* DW_LNE_set_address */
  .uleb128 5
  .byte 2
- .int .Lend_func_cu1
+ .4byte .Lend_func_cu1
 
  .byte 0 /* DW_LNE_end_of_sequence */
  .uleb128 1
Index: gdb.dwarf2/dw2-intercu.S
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.dwarf2/dw2-intercu.S,v
retrieving revision 1.2
diff -u -a -p -r1.2 dw2-intercu.S
--- gdb.dwarf2/dw2-intercu.S 9 Jan 2007 17:59:12 -0000 1.2
+++ gdb.dwarf2/dw2-intercu.S 26 Jan 2007 16:05:48 -0000
@@ -39,17 +39,17 @@ func_cu1:
  .section .debug_info
 .Lcu1_begin:
  /* CU header */
- .int .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
+ .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
 .Lcu1_start:
- .short 2 /* DWARF Version */
- .int .Labbrev1_begin /* Offset into abbrev section */
+ .2byte 2 /* DWARF Version */
+ .4byte .Labbrev1_begin /* Offset into abbrev section */
  .byte 4 /* Pointer size */
 
  /* CU die */
  .uleb128 1 /* Abbrev: DW_TAG_compile_unit */
- .int .Lline1_begin /* DW_AT_stmt_list */
- .int .Lend_text1 /* DW_AT_high_pc */
- .int .Lbegin_text1 /* DW_AT_low_pc */
+ .4byte .Lline1_begin /* DW_AT_stmt_list */
+ .4byte .Lend_text1 /* DW_AT_high_pc */
+ .4byte .Lbegin_text1 /* DW_AT_low_pc */
  .ascii "file1.txt\0" /* DW_AT_name */
  .ascii "GNU C 3.3.3\0" /* DW_AT_producer */
  .byte 1 /* DW_AT_language (C) */
@@ -60,9 +60,9 @@ func_cu1:
  .byte 1 /* DW_AT_decl_file */
  .byte 2 /* DW_AT_decl_line */
  .ascii "func_cu1\0" /* DW_AT_name */
- .int .Ltype_int /* DW_AT_type */
- .int .Lbegin_func_cu1 /* DW_AT_low_pc */
- .int .Lend_func_cu1 /* DW_AT_high_pc */
+ .4byte .Ltype_int /* DW_AT_type */
+ .4byte .Lbegin_func_cu1 /* DW_AT_low_pc */
+ .4byte .Lend_func_cu1 /* DW_AT_high_pc */
  .byte 1 /* DW_AT_frame_base: length */
  .byte 0x55 /* DW_AT_frame_base: DW_OP_reg5 */
 
@@ -73,10 +73,10 @@ func_cu1:
  /* Second compilation unit.  */
 .Lcu2_begin:
  /* CU header */
- .int .Lcu2_end - .Lcu2_start /* Length of Compilation Unit */
+ .4byte .Lcu2_end - .Lcu2_start /* Length of Compilation Unit */
 .Lcu2_start:
- .short 2 /* DWARF Version */
- .int .Labbrev2_begin /* Offset into abbrev section */
+ .2byte 2 /* DWARF Version */
+ .4byte .Labbrev2_begin /* Offset into abbrev section */
  .byte 4 /* Pointer size */
 
  /* CU die */
@@ -172,10 +172,10 @@ func_cu1:
 /* Line table */
  .section .debug_line
 .Lline1_begin:
- .int .Lline1_end - .Lline1_start /* Initial length */
+ .4byte .Lline1_end - .Lline1_start /* Initial length */
 .Lline1_start:
- .short 2 /* Version */
- .int .Lline1_lines - .Lline1_hdr /* header_length */
+ .2byte 2 /* Version */
+ .4byte .Lline1_lines - .Lline1_hdr /* header_length */
 .Lline1_hdr:
  .byte 1 /* Minimum insn length */
  .byte 1 /* default_is_stmt */
@@ -215,7 +215,7 @@ func_cu1:
  .byte 0 /* DW_LNE_set_address */
  .uleb128 5
  .byte 2
- .int .Lbegin_func_cu1
+ .4byte .Lbegin_func_cu1
 
  .byte 3 /* DW_LNS_advance_line */
  .sleb128 3 /* ... to 4 */
@@ -227,7 +227,7 @@ func_cu1:
  .byte 0 /* DW_LNE_set_address */
  .uleb128 5
  .byte 2
- .int .Lend_func_cu1
+ .4byte .Lend_func_cu1
 
  .byte 0 /* DW_LNE_end_of_sequence */
  .uleb128 1
Index: gdb.dwarf2/dw2-intermix.S
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.dwarf2/dw2-intermix.S,v
retrieving revision 1.2
diff -u -a -p -r1.2 dw2-intermix.S
--- gdb.dwarf2/dw2-intermix.S 9 Jan 2007 17:59:12 -0000 1.2
+++ gdb.dwarf2/dw2-intermix.S 26 Jan 2007 16:05:48 -0000
@@ -39,17 +39,17 @@ func_cu1:
  .section .debug_info
 .Lcu1_begin:
  /* CU header */
- .int .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
+ .4byte .Lcu1_end - .Lcu1_start /* Length of Compilation Unit */
 .Lcu1_start:
- .short 2 /* DWARF Version */
- .int .Labbrev1_begin /* Offset into abbrev section */
+ .2byte 2 /* DWARF Version */
+ .4byte .Labbrev1_begin /* Offset into abbrev section */
  .byte 4 /* Pointer size */
 
  /* CU die */
  .uleb128 1 /* Abbrev: DW_TAG_compile_unit */
- .int .Lline1_begin /* DW_AT_stmt_list */
- .int .Lend_text1 /* DW_AT_high_pc */
- .int .Lbegin_text1 /* DW_AT_low_pc */
+ .4byte .Lline1_begin /* DW_AT_stmt_list */
+ .4byte .Lend_text1 /* DW_AT_high_pc */
+ .4byte .Lbegin_text1 /* DW_AT_low_pc */
  .ascii "file1.txt\0" /* DW_AT_name */
  .ascii "GNU C 3.3.3\0" /* DW_AT_producer */
  .byte 1 /* DW_AT_language (C) */
@@ -60,9 +60,9 @@ func_cu1:
  .byte 1 /* DW_AT_decl_file */
  .byte 2 /* DW_AT_decl_line */
  .ascii "func_cu1\0" /* DW_AT_name */
- .int .Ltype_int-.Lcu1_begin /* DW_AT_type */
- .int .Lbegin_func_cu1 /* DW_AT_low_pc */
- .int .Lend_func_cu1 /* DW_AT_high_pc */
+ .4byte .Ltype_int-.Lcu1_begin /* DW_AT_type */
+ .4byte .Lbegin_func_cu1 /* DW_AT_low_pc */
+ .4byte .Lend_func_cu1 /* DW_AT_high_pc */
  .byte 1 /* DW_AT_frame_base: length */
  .byte 0x55 /* DW_AT_frame_base: DW_OP_reg5 */
 
@@ -137,11 +137,11 @@ func_cu1:
 /* Line table */
  .section .debug_line
 .Lline1_begin:
- .int 0xffffffff
- .quad .Lline1_end - .Lline1_start /* Initial length */
+ .4byte 0xffffffff
+ .8byte .Lline1_end - .Lline1_start /* Initial length */
 .Lline1_start:
- .short 2 /* Version */
- .quad .Lline1_lines - .Lline1_hdr /* header_length */
+ .2byte 2 /* Version */
+ .8byte .Lline1_lines - .Lline1_hdr /* header_length */
 .Lline1_hdr:
  .byte 1 /* Minimum insn length */
  .byte 1 /* default_is_stmt */
@@ -181,7 +181,7 @@ func_cu1:
  .byte 0 /* DW_LNE_set_address */
  .uleb128 5
  .byte 2
- .int .Lbegin_func_cu1
+ .4byte .Lbegin_func_cu1
 
  .byte 3 /* DW_LNS_advance_line */
  .sleb128 3 /* ... to 4 */
@@ -193,7 +193,7 @@ func_cu1:
  .byte 0 /* DW_LNE_set_address */
  .uleb128 5
  .byte 2
- .int .Lend_func_cu1
+ .4byte .Lend_func_cu1
 
  .byte 0 /* DW_LNE_end_of_sequence */
  .uleb128 1

--
Andreas Schwab, SuSE Labs, [hidden email]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Reply | Threaded
Open this post in threaded view
|

Re: Testsuite failures in gdb.dwarf2/dw2-*.exp

Mark Kettenis
> From: Andreas Schwab <[hidden email]>
> Date: Fri, 26 Jan 2007 17:12:01 +0100
>
> On ia64 the .short/.int/.quad directives always generate aligned fields,
> adding padding as necessary.  For DWARF tables the .2byte/.4byte/.8byte
> directives should be used instead.

I've never seen these.  Are they supported by all versions of gas?

Mark
Reply | Threaded
Open this post in threaded view
|

Re: Testsuite failures in gdb.dwarf2/dw2-*.exp

Andreas Schwab
Mark Kettenis <[hidden email]> writes:

>> From: Andreas Schwab <[hidden email]>
>> Date: Fri, 26 Jan 2007 17:12:01 +0100
>>
>> On ia64 the .short/.int/.quad directives always generate aligned fields,
>> adding padding as necessary.  For DWARF tables the .2byte/.4byte/.8byte
>> directives should be used instead.
>
> I've never seen these.  Are they supported by all versions of gas?

Since the beginning of time, err, dwarf support (older than the import to
sourceware anyway, which was nearly 8 years ago).

Andreas.

--
Andreas Schwab, SuSE Labs, [hidden email]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."
Reply | Threaded
Open this post in threaded view
|

Re: Testsuite failures in gdb.dwarf2/dw2-*.exp

Mark Kettenis
> From: Andreas Schwab <[hidden email]>
> Date: Fri, 26 Jan 2007 17:37:52 +0100
>
> Mark Kettenis <[hidden email]> writes:
>
> >> From: Andreas Schwab <[hidden email]>
> >> Date: Fri, 26 Jan 2007 17:12:01 +0100
> >>
> >> On ia64 the .short/.int/.quad directives always generate aligned fields,
> >> adding padding as necessary.  For DWARF tables the .2byte/.4byte/.8byte
> >> directives should be used instead.
> >
> > I've never seen these.  Are they supported by all versions of gas?
>
> Since the beginning of time, err, dwarf support (older than the import to
> sourceware anyway, which was nearly 8 years ago).

No objections from me then, assuming you've tested this on something
else besides ia64.

Mark

Reply | Threaded
Open this post in threaded view
|

Re: Testsuite failures in gdb.dwarf2/dw2-*.exp

Andreas Schwab
Mark Kettenis <[hidden email]> writes:

> No objections from me then, assuming you've tested this on something
> else besides ia64.

All the recent testsuite patches were tested on ia64 and ppc.

Andreas.

--
Andreas Schwab, SuSE Labs, [hidden email]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."