Skip to content
  • Jan Kratochvil's avatar
    Fix -D_GLIBCXX_DEBUG gdb-add-index regression · 55404da3
    Jan Kratochvil authored
    Fedora Rawhide started to use -D_GLIBCXX_DEBUG which made gdb-add-index
    failing:
    	gdb: Out-of-bounds vector access while running gdb-add-index
    	https://bugzilla.redhat.com/show_bug.cgi?id=1540559
    
    /usr/include/c++/7/debug/safe_iterator.h:270:
    Error: attempt to dereference a past-the-end iterator.
    Objects involved in the operation:
        iterator "this" @ 0x0x7fffffffcb90 {
          type = __gnu_debug::_Safe_iterator<__gnu_cxx::__normal_iterator<unsigned char*, std::__cxx1998::vector<unsigned char, gdb::default_init_allocator<unsigned char, std::allocator<unsigned char> > > >, std::__debug::vector<unsigned char, gdb::default_init_allocator<unsigned char, std::allocator<unsigned char> > > > (mutable iterator);
          state = past-the-end;
          references sequence with type 'std::__debug::vector<unsigned char, gdb::default_init_allocator<unsigned char, std::allocator<unsigned char> > >' @ 0x0x7fffffffcc50
        }
    
    /usr/include/c++/7/debug/vector:417:
    Error: attempt to subscript container with out-of-bounds index 556, but
    container only holds 556 elements.
    Objects involved in the operation:
        sequence "this" @ 0x0x2e87af8 {
          type = std::__debug::vector<partial_symbol*, std::allocator<partial_symbol*> >;
        }
    
    The two -D_GLIBCXX_DEBUG regressions were made by:
    
    commit bc8f2430
    Author: Jan Kratochvil <jan.kratochvil@redhat.com>
    Date:   Mon Jun 12 16:29:53 2017 +0100
        Code cleanup: C++ify .gdb_index producer
    
    commit af5bf4ad
    Author: Simon Marchi <simon.marchi@ericsson.com>
    Date:   Sat Oct 14 08:06:29 2017 -0400
        Replace psymbol_allocation_list with std::vector
    
    gdb/ChangeLog
    2018-04-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
    
    	PR gdb/23053
    	* dwarf2read.c (data_buf::grow) (write_one_signatured_type)
    	(recursively_write_psymbols) (debug_names::recursively_write_psymbols)
    	(debug_names::write_one_signatured_type): Fix -D_GLIBCXX_DEBUG
    	regression.
    55404da3
To find the state of this project's repository at the time of any of these versions, check out the tags.