aboutsummaryrefslogtreecommitdiff
path: root/gdb/jit.c
diff options
context:
space:
mode:
authorSanjoy Das <sanjoyd@sourceware.org>2013-01-17 14:11:27 +0000
committerSanjoy Das <sanjoyd@sourceware.org>2013-01-17 14:11:27 +0000
commitdb334a01640a2f0e927e824d0d9f5d83d18d942d (patch)
tree54df24e3866e5b87694789905a29d7ef80fb2d3d /gdb/jit.c
parent7d928dac62ff39c745635b275faaa4a618bb6743 (diff)
downloadgdb-db334a01640a2f0e927e824d0d9f5d83d18d942d.zip
gdb-db334a01640a2f0e927e824d0d9f5d83d18d942d.tar.gz
gdb-db334a01640a2f0e927e824d0d9f5d83d18d942d.tar.bz2
PR gdb/14550
* jit.c (finalize_symtab): Ensure that only the global block has a NULL superblock.
Diffstat (limited to 'gdb/jit.c')
-rw-r--r--gdb/jit.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/gdb/jit.c b/gdb/jit.c
index a930f74..f542f9e 100644
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -724,8 +724,18 @@ finalize_symtab (struct gdb_symtab *stab, struct objfile *objfile)
gdb_block_iter = gdb_block_iter->next)
{
if (gdb_block_iter->parent != NULL)
- BLOCK_SUPERBLOCK (gdb_block_iter->real_block) =
- gdb_block_iter->parent->real_block;
+ {
+ /* If the plugin specifically mentioned a parent block, we
+ use that. */
+ BLOCK_SUPERBLOCK (gdb_block_iter->real_block) =
+ gdb_block_iter->parent->real_block;
+ }
+ else
+ {
+ /* And if not, we set a default parent block. */
+ BLOCK_SUPERBLOCK (gdb_block_iter->real_block) =
+ BLOCKVECTOR_BLOCK (symtab->blockvector, STATIC_BLOCK);
+ }
}
/* Free memory. */