mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-13 10:55:46 +08:00
gdb/
* memrange.c (compare_mem_ranges): Mention sort order in describing comment. (normalize_mem_ranges): Add comment. Fix ra->length calculation. * tracepoint.c (traceframe_available_memory): Extend comment to mention what happens to RESULT when the target does not support the query.
This commit is contained in:
@ -31,7 +31,8 @@ mem_ranges_overlap (CORE_ADDR start1, int len1,
|
||||
return (l < h);
|
||||
}
|
||||
|
||||
/* qsort comparison function, that compares mem_ranges. */
|
||||
/* qsort comparison function, that compares mem_ranges. Ranges are
|
||||
sorted in ascending START order. */
|
||||
|
||||
static int
|
||||
compare_mem_ranges (const void *ap, const void *bp)
|
||||
@ -50,6 +51,10 @@ compare_mem_ranges (const void *ap, const void *bp)
|
||||
void
|
||||
normalize_mem_ranges (VEC(mem_range_s) *ranges)
|
||||
{
|
||||
/* This function must not use any VEC operation on RANGES that
|
||||
reallocates the memory block as that invalidates the RANGES
|
||||
pointer, which callers expect to remain valid. */
|
||||
|
||||
if (!VEC_empty (mem_range_s, ranges))
|
||||
{
|
||||
struct mem_range *ra, *rb;
|
||||
@ -68,7 +73,8 @@ normalize_mem_ranges (VEC(mem_range_s) *ranges)
|
||||
merge them. */
|
||||
if (rb->start <= ra->start + ra->length)
|
||||
{
|
||||
ra->length = (rb->start + rb->length) - ra->start;
|
||||
ra->length = max (ra->length,
|
||||
(rb->start - ra->start) + rb->length);
|
||||
continue; /* next b, same a */
|
||||
}
|
||||
a++; /* next a */
|
||||
|
Reference in New Issue
Block a user