public inbox for gdb-testers@sourceware.org help / color / mirror / Atom feed
From: gdb-buildbot@sergiodj.net To: gdb-testers@sourceware.org Subject: [binutils-gdb] Support for DWARF5 location lists entries Date: Thu, 16 Jan 2020 17:59:00 -0000 [thread overview] Message-ID: <3112ed9799124edf4d1f9c903da0d59f5a4ca102@gdb-build> (raw) *** TEST RESULTS FOR COMMIT 3112ed9799124edf4d1f9c903da0d59f5a4ca102 *** commit 3112ed9799124edf4d1f9c903da0d59f5a4ca102 Author: Nitika Achra <Nitika.Achra@amd.com> AuthorDate: Thu Jan 16 11:51:06 2020 -0500 Commit: Simon Marchi <simon.marchi@efficios.com> CommitDate: Thu Jan 16 11:51:19 2020 -0500 Support for DWARF5 location lists entries This patch handles DW_LLE_base_addressx, DW_LLE_startx_length and DW_LLE_start_length. Tested by running the testsuite before and after the patch and there is no increase in the number of test cases that fails. Tested with both -gdwarf-4 and -gdwarf-5 flags. Also tested -gslit-dwarf along with -gdwarf-4 as well as -gdwarf5 flags. This is an effort to support DWARF5 in gdb. gdb/ChangeLog: * dwarf2loc.c (decode_debug_loclists_addresses): Handle DW_LLE_base_addressx, DW_LLE_startx_length, DW_LLE_start_length. diff --git a/gdb/ChangeLog b/gdb/ChangeLog index cd89a44733..5513bea818 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2020-01-16 Nitika Achra <Nitika.Achra@amd.com> + + * dwarf2loc.c (decode_debug_loclists_addresses): Handle + DW_LLE_base_addressx, DW_LLE_startx_length, DW_LLE_start_length. + 2020-01-15 Simon Marchi <simon.marchi@efficios.com> * infcmd.c (post_create_inferior): Use get_thread_regcache diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c index 1fe6829100..405b239ed4 100644 --- a/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c @@ -173,6 +173,41 @@ decode_debug_loclists_addresses (struct dwarf2_per_cu_data *per_cu, switch (*loc_ptr++) { + case DW_LLE_base_addressx: + *low = 0; + loc_ptr = gdb_read_uleb128 (loc_ptr, buf_end, &u64); + if (loc_ptr == NULL) + return DEBUG_LOC_BUFFER_OVERFLOW; + *high = dwarf2_read_addr_index (per_cu, u64); + *new_ptr = loc_ptr; + return DEBUG_LOC_BASE_ADDRESS; + case DW_LLE_startx_length: + loc_ptr = gdb_read_uleb128 (loc_ptr, buf_end, &u64); + if (loc_ptr == NULL) + return DEBUG_LOC_BUFFER_OVERFLOW; + *low = dwarf2_read_addr_index (per_cu, u64); + *high = *low; + loc_ptr = gdb_read_uleb128 (loc_ptr, buf_end, &u64); + if (loc_ptr == NULL) + return DEBUG_LOC_BUFFER_OVERFLOW; + *high += u64; + *new_ptr = loc_ptr; + return DEBUG_LOC_START_LENGTH; + case DW_LLE_start_length: + if (buf_end - loc_ptr < addr_size) + return DEBUG_LOC_BUFFER_OVERFLOW; + if (signed_addr_p) + *low = extract_signed_integer (loc_ptr, addr_size, byte_order); + else + *low = extract_unsigned_integer (loc_ptr, addr_size, byte_order); + loc_ptr += addr_size; + *high = *low; + loc_ptr = gdb_read_uleb128 (loc_ptr, buf_end, &u64); + if (loc_ptr == NULL) + return DEBUG_LOC_BUFFER_OVERFLOW; + *high += u64; + *new_ptr = loc_ptr; + return DEBUG_LOC_START_LENGTH; case DW_LLE_end_of_list: *new_ptr = loc_ptr; return DEBUG_LOC_END_OF_LIST; @@ -197,6 +232,10 @@ decode_debug_loclists_addresses (struct dwarf2_per_cu_data *per_cu, *high = u64; *new_ptr = loc_ptr; return DEBUG_LOC_START_END; + /* Following cases are not supported yet. */ + case DW_LLE_startx_endx: + case DW_LLE_start_end: + case DW_LLE_default_location: default: return DEBUG_LOC_INVALID_ENTRY; }
next reply other threads:[~2020-01-16 17:53 UTC|newest] Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-01-16 17:59 gdb-buildbot [this message] 2020-01-16 18:09 ` Failures on Ubuntu-Aarch64-native-extended-gdbserver-m64, branch master gdb-buildbot 2020-01-16 18:33 ` Failures on Ubuntu-Aarch64-native-gdbserver-m64, " gdb-buildbot 2020-01-17 13:45 ` *** COMPILATION FAILED *** Failures on Fedora-i686, branch master *** BREAKAGE *** gdb-buildbot 2020-01-17 13:59 ` *** COMPILATION FAILED *** Failures on Fedora-x86_64-m32, " gdb-buildbot 2020-01-17 14:17 ` Failures on Fedora-x86_64-m64, branch master gdb-buildbot 2020-01-17 14:37 ` *** COMPILATION FAILED *** Failures on Fedora-x86_64-native-gdbserver-m32, branch master *** BREAKAGE *** gdb-buildbot 2020-01-17 14:40 ` *** COMPILATION FAILED *** Failures on Fedora-x86_64-w64-mingw32, " gdb-buildbot 2020-01-17 14:41 ` Failures on Fedora-x86_64-native-extended-gdbserver-m32, branch master gdb-buildbot 2020-01-17 15:12 ` Failures on Fedora-x86_64-native-extended-gdbserver-m64, " gdb-buildbot 2020-01-17 15:13 ` Failures on Fedora-x86_64-native-gdbserver-m64, " gdb-buildbot
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=3112ed9799124edf4d1f9c903da0d59f5a4ca102@gdb-build \ --to=gdb-buildbot@sergiodj.net \ --cc=gdb-testers@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).