]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
gdb: some global_block improvements
authorSimon Marchi <simon.marchi@efficios.com>
Tue, 30 Jul 2024 14:37:01 +0000 (10:37 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Wed, 21 Aug 2024 19:38:11 +0000 (15:38 -0400)
commit57a91ca28fa903375bfc829d8f6ad3fb8f34e1b0
treecd4778b4594348bf7fe93b38cced367f0155b658
parent5d683ae3dadd78fa88c243310404480555555246
gdb: some global_block improvements

Some refactors around struct global_block, all in one patch because they
all tie in together and are relatively trivial.

 - Make block::global_block() and blockvector::global_block() return
   `global_block *`, instead of `block *`.  There is no cost in doing
   so, and it's a bit more precise.  Callers of these methods that need
   a `global_block *` won't need to cast themselves.

 - Add some block::as_global_block methods, as a way to get a
   `global_block *` from a `block *` when you know it's a global block.
   This is basically a static cast with an assert.

 - Move set_compunit_symtab to global_block, since it requires the
   block to be a global block anyway.  Rename to just `set_compunit` (I
   think that compunit_symtab should just be renamed compunit...).

 - Move the get_block_compunit_symtab free function to be a method of
   global_block.

 - Make global_block::compunit_symtab private and rename.

 - Simplify initialize_block_iterator.

Change-Id: I1667a86b5c1a02d0d460cfad55b5d3d48867583d
Approved-By: Tom Tromey <tom@tromey.com>
gdb/block.c
gdb/block.h
gdb/buildsym.c
gdb/jit.c