diff options
author | Simon Marchi <simon.marchi@efficios.com> | 2020-06-23 15:40:23 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@polymtl.ca> | 2020-06-23 15:40:24 -0400 |
commit | 1fb5ee620365501977d0d6cd9d90c277c67c38e3 (patch) | |
tree | 9ced5c26c98ddc35322e21ebd97aeeab1807e0f3 /gdb | |
parent | fc3ecb3e61fe5dcc16c206e4135b33cc1a32ba49 (diff) | |
download | gdb-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/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/dwarf2/loc.c | 17 |
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: |