aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2020-06-23 15:40:23 -0400
committerSimon Marchi <simon.marchi@polymtl.ca>2020-06-23 15:40:24 -0400
commit1fb5ee620365501977d0d6cd9d90c277c67c38e3 (patch)
tree9ced5c26c98ddc35322e21ebd97aeeab1807e0f3 /gdb
parentfc3ecb3e61fe5dcc16c206e4135b33cc1a32ba49 (diff)
downloadgdb-1fb5ee620365501977d0d6cd9d90c277c67c38e3.zip
gdb-1fb5ee620365501977d0d6cd9d90c277c67c38e3.tar.gz
gdb-1fb5ee620365501977d0d6cd9d90c277c67c38e3.tar.bz2
gdb: add some more empty lines in loc.c
Add some empty lines at places I forgot in the previous patch. gdb/ChangeLog: * dwarf2/loc.c (decode_debug_loclists_addresses): Add empty lines. Change-Id: I8a9f3766ede1ce750e0703023285dca873bce0da
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/dwarf2/loc.c17
2 files changed, 22 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6b21c19..08e4d31 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2020-06-23 Simon Marchi <simon.marchi@efficios.com>
+ * dwarf2/loc.c (decode_debug_loclists_addresses): Add empty
+ lines.
+
+2020-06-23 Simon Marchi <simon.marchi@efficios.com>
+
* dwarf2/loc.c (decode_debug_loc_dwo_addresses): Add empty
lines.
(dwarf2_find_location_expression): Likewise.
diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c
index 732c41d..445d71a 100644
--- a/gdb/dwarf2/loc.c
+++ b/gdb/dwarf2/loc.c
@@ -184,60 +184,77 @@ decode_debug_loclists_addresses (dwarf2_per_cu_data *per_cu,
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, per_objfile, 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, per_objfile, 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;
+
case DW_LLE_base_address:
if (loc_ptr + addr_size > buf_end)
return DEBUG_LOC_BUFFER_OVERFLOW;
+
if (signed_addr_p)
*high = extract_signed_integer (loc_ptr, addr_size, byte_order);
else
*high = extract_unsigned_integer (loc_ptr, addr_size, byte_order);
+
loc_ptr += addr_size;
*new_ptr = loc_ptr;
return DEBUG_LOC_BASE_ADDRESS;
+
case DW_LLE_offset_pair:
loc_ptr = gdb_read_uleb128 (loc_ptr, buf_end, &u64);
if (loc_ptr == NULL)
return DEBUG_LOC_BUFFER_OVERFLOW;
+
*low = u64;
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_OFFSET_PAIR;
+
/* Following cases are not supported yet. */
case DW_LLE_startx_endx:
case DW_LLE_start_end: