aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/block.h11
-rw-r--r--gdb/blockframe.c4
-rw-r--r--gdb/cli/cli-cmds.c2
3 files changed, 8 insertions, 9 deletions
diff --git a/gdb/block.h b/gdb/block.h
index eb77f74..80b0616 100644
--- a/gdb/block.h
+++ b/gdb/block.h
@@ -167,6 +167,10 @@ struct block
void set_ranges (blockranges *ranges)
{ m_ranges = ranges; }
+ /* Return true if all addresses within this block are contiguous. */
+ bool is_contiguous () const
+ { return this->ranges ().size () <= 1; }
+
/* Addresses in the executable code that are in this block. */
CORE_ADDR m_start;
@@ -215,11 +219,6 @@ struct global_block
struct compunit_symtab *compunit_symtab;
};
-/* Are all addresses within a block contiguous? */
-
-#define BLOCK_CONTIGUOUS_P(bl) ((bl)->ranges ().size () == 0 \
- || (bl)->ranges ().size () == 1)
-
/* Define the "entry pc" for a block BL to be the lowest (start) address
for the block when all addresses within the block are contiguous. If
non-contiguous, then use the start address for the first range in the
@@ -234,7 +233,7 @@ struct global_block
the entry_pc field can be set from the dwarf reader (and other readers
too). BLOCK_ENTRY_PC can then be redefined to be less DWARF-centric. */
-#define BLOCK_ENTRY_PC(bl) (BLOCK_CONTIGUOUS_P (bl) \
+#define BLOCK_ENTRY_PC(bl) (bl->is_contiguous () \
? bl->start () \
: bl->ranges ()[0].start ())
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index 78c9daa..694cd04 100644
--- a/gdb/blockframe.c
+++ b/gdb/blockframe.c
@@ -276,7 +276,7 @@ find_pc_partial_function_sym (CORE_ADDR pc,
comment preceding declaration of find_pc_partial_function
in symtab.h for more information. */
- if (BLOCK_CONTIGUOUS_P (b))
+ if (b->is_contiguous ())
{
cache_pc_function_low = b->start ();
cache_pc_function_high = b->end ();
@@ -390,7 +390,7 @@ find_function_entry_range_from_pc (CORE_ADDR pc, const char **name,
const struct block *block;
bool status = find_pc_partial_function (pc, name, address, endaddr, &block);
- if (status && block != nullptr && !BLOCK_CONTIGUOUS_P (block))
+ if (status && block != nullptr && !block->is_contiguous ())
{
CORE_ADDR entry_pc = BLOCK_ENTRY_PC (block);
diff --git a/gdb/cli/cli-cmds.c b/gdb/cli/cli-cmds.c
index 7a6a8ea..31911eb 100644
--- a/gdb/cli/cli-cmds.c
+++ b/gdb/cli/cli-cmds.c
@@ -1428,7 +1428,7 @@ print_disassembly (struct gdbarch *gdbarch, const char *name,
if (name != NULL)
gdb_printf (_("for function %ps:\n"),
styled_string (function_name_style.style (), name));
- if (block == nullptr || BLOCK_CONTIGUOUS_P (block))
+ if (block == nullptr || block->is_contiguous ())
{
if (name == NULL)
gdb_printf (_("from %ps to %ps:\n"),