diff options
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/buildsym.c | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 5317e17..ac6de66 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2012-06-04 Doug Evans <dje@google.com> + + * buildsym.c (make_blockvector): Add comment. + 2012-06-04 Pedro Alves <palves@redhat.com> * arch-utils.c (default_gdb_signal_from_target): Delete. diff --git a/gdb/buildsym.c b/gdb/buildsym.c index 20fabb7..f1fb4be 100644 --- a/gdb/buildsym.c +++ b/gdb/buildsym.c @@ -496,10 +496,13 @@ make_blockvector (struct objfile *objfile) = addrmap_create_fixed (pending_addrmap, &objfile->objfile_obstack); else BLOCKVECTOR_MAP (blockvector) = 0; - + /* Some compilers output blocks in the wrong order, but we depend on their being in the right order so we can binary search. Check the - order and moan about it. */ + order and moan about it. + Note: Remember that the first two blocks are the global and static + blocks. We could special case that fact and begin checking at block 2. + To avoid making that assumption we do not. */ if (BLOCKVECTOR_NBLOCKS (blockvector) > 1) { for (i = 1; i < BLOCKVECTOR_NBLOCKS (blockvector); i++) |