This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Fix gdb.dwarf2/dwz.exp for thumb mode
- From: Yao Qi <yao at codesourcery dot com>
- To: <gdb-patches at sourceware dot org>
- Date: Tue, 30 Sep 2014 21:59:54 +0800
- Subject: Re: [PATCH] Fix gdb.dwarf2/dwz.exp for thumb mode
- Authentication-results: sourceware.org; auth=none
- References: <1409706936-11220-1-git-send-email-yao at codesourcery dot com> <87k356lfa8 dot fsf at codesourcery dot com> <87r3zd2hr3 dot fsf at codesourcery dot com> <54202887 dot 2090401 at codesourcery dot com>
On 09/22/2014 09:47 PM, Yao Qi wrote:
> On 09/15/2014 08:25 PM, Yao Qi wrote:
>> Subject: [PATCH] Fix gdb.dwarf2/dwz.exp for thumb mode
>>
>> We see the fail in gdb.dwarf2/dwz.exp in thumb mode,
>>
>> p the_int^M
>> $2 = 99^M
>> (gdb) FAIL: gdb.dwarf2/dwz.exp: p the_int
>>
>> In thumb mode, the lsb of references to 'main' in the assembly
>> (produced by dwarf assember) is set, so the generated debug
>> information is incorrect.
>>
>> in this patch, we add a label main_label inside function main. Linker
>> doesn't set its lsb in thumb mode, and we can get function main's
>> address by 'main_label - $main_label_offset'. This label isn't moved
>> out of function main in both gcc and clang.
>>
>> gdb/testsuite:
>>
>> 2014-09-15 Yao Qi <yao@codesourcery.com>
>>
>> * gdb.dwarf2/main.c (main): New lable main_label.
>> * gdb.dwarf2/dwz.exp: Get the offset of main_label to main.
>> Return early if $main_label_offset is unknown. Get address
>> of main by "main_label - $main_label_offset".
>
> Ping. https://sourceware.org/ml/gdb-patches/2014-09/msg00497.html
>
Ping.
--
Yao (éå)