From 267418593cfb3986a924024a28e3283626399301 Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Sat, 22 Nov 2014 21:22:01 +0800 Subject: [PATCH] [arm] Fix fails in dw2-compdir-oldgcc.exp This patch fixes two fails in dw2-compdir-oldgcc.exp I've seen on arm target thumb mode. FAIL: gdb.dwarf2/dw2-compdir-oldgcc.exp: info source gcc42 FAIL: gdb.dwarf2/dw2-compdir-oldgcc.exp: info source gcc43 When fill in DW_AT_low_pc, the label should be used rather than the function, otherwise, the LSB bit of the address in DW_AT_low_pc is set and the debug info is wrong. This patch is to add two labels for functions gcc42 and gcc43 respectively, and use them. These two fails are fixed. gdb/testsuite: 2014-11-22 Yao Qi * gdb.dwarf2/dw2-compdir-oldgcc.S: Define label .Lgcc42_procstart and .Lgcc43_procstart. Use .Lgcc42_procstart instead of gcc42. Use .Lgcc43_procstart instead of gcc43. --- gdb/testsuite/ChangeLog | 6 ++++++ gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S | 10 ++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 4b4d88159a3..7b490eeb624 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2014-11-22 Yao Qi + + * gdb.dwarf2/dw2-compdir-oldgcc.S: Define label .Lgcc42_procstart + and .Lgcc43_procstart. Use .Lgcc42_procstart instead of gcc42. + Use .Lgcc43_procstart instead of gcc43. + 2014-11-21 Joel Brobecker * gdb.ada/n_arr_bound: New testcase. diff --git a/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S b/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S index c0a55453c7b..c07ecb2d7ce 100644 --- a/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S +++ b/gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S @@ -19,12 +19,14 @@ main: .globl main gcc42: .globl gcc42 +.Lgcc42_procstart: .int 0 .type gcc42, %function .size gcc42, . - gcc42 .Lgcc42_procend: gcc43: .globl gcc43 +.Lgcc43_procstart: .int 0 .type gcc43, %function .size gcc43, . - gcc43 @@ -43,7 +45,7 @@ gcc43: .globl gcc43 .uleb128 1 /* Abbrev: DW_TAG_compile_unit */ .4byte .Lgcc42_begin /* DW_AT_stmt_list */ - .4byte gcc42 /* DW_AT_low_pc */ + .4byte .Lgcc42_procstart /* DW_AT_low_pc */ .4byte .Lgcc42_procend /* DW_AT_high_pc */ .ascii "/dir/d/dw2-compdir-oldgcc42.S\0" /* DW_AT_name */ .ascii "GNU C 4.2.0\0" /* DW_AT_producer */ @@ -54,7 +56,7 @@ gcc43: .globl gcc43 .byte 1 /* DW_AT_decl_file */ .byte 1 /* DW_AT_decl_line */ .ascii "gcc42\0" /* DW_AT_name */ - .4byte gcc42 /* DW_AT_low_pc */ + .4byte .Lgcc42_procstart /* DW_AT_low_pc */ .4byte .Lgcc42_procend /* DW_AT_high_pc */ .byte 0 /* End of children of CU */ @@ -70,7 +72,7 @@ gcc43: .globl gcc43 .uleb128 1 /* Abbrev: DW_TAG_compile_unit */ .4byte .Lgcc43_begin /* DW_AT_stmt_list */ - .4byte gcc43 /* DW_AT_low_pc */ + .4byte .Lgcc43_procstart /* DW_AT_low_pc */ .4byte .Lgcc43_procend /* DW_AT_high_pc */ .ascii "/dir/d/dw2-compdir-oldgcc43.S\0" /* DW_AT_name */ .ascii "GNU C 4.3.0\0" /* DW_AT_producer */ @@ -81,7 +83,7 @@ gcc43: .globl gcc43 .byte 1 /* DW_AT_decl_file */ .byte 1 /* DW_AT_decl_line */ .ascii "gcc43\0" /* DW_AT_name */ - .4byte gcc43 /* DW_AT_low_pc */ + .4byte .Lgcc43_procstart /* DW_AT_low_pc */ .4byte .Lgcc43_procend /* DW_AT_high_pc */ .byte 0 /* End of children of CU */ -- 2.47.2