Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Luis <luis.machado.foss@gmail.com>
To: Guinevere Larsen <guinevere@redhat.com>
Cc: Tom Tromey <tom@tromey.com>, gdb-patches@sourceware.org
Subject: Re: [PATCH v2 0/8] Remove stabs support from GDB
Date: Thu, 23 Oct 2025 01:58:22 +0100	[thread overview]
Message-ID: <27fc25e3-4c19-40cd-b9ce-a87da0fa0dff@gmail.com> (raw)
In-Reply-To: <CANnS9rsEvq99m8EdJTc1=aMFxFDYLw=jDyVKJ3JcMAVUXfK3pg@mail.gmail.com>

On 22/10/2025 20:19, Luis wrote:
> Hi,
> 
> On Wed, Oct 22, 2025, 14:19 Guinevere Larsen <guinevere@redhat.com 
> <mailto:guinevere@redhat.com>> wrote:
> 
>     On 10/22/25 10:08 AM, Tom Tromey wrote:
>      >>>>>> "Luis" == Luis  <luis.machado.foss@gmail.com
>     <mailto:luis.machado.foss@gmail.com>> writes:
>      > Luis> Looks like gcc (13.3.0 at least) is a bit grumpy with this
>     and there
>      > Luis> are a few -Werror=array-bounds= warnings stopping the build,
>      > Luis> apparently from changes to gdb/xcoffread.c.
>      >
>      > Could you post them here?
>      >
>      > IIRC some versions of GCC issued these kinds of errors incorrectly.
>      > So it's possible the fix might be just to disable the warning for
>     that build.
>      >
>      > Tom
>      >
>     I believe that is the case, since I just installed gcc-13.3.1-2 from
>     fedora 40 and upstream built fine, so I think either the .1 shame
>     release  (see pride versioning: https://pridever.org/ <https://
>     pridever.org/> :p), or some
>     fedora patch, fixed a gcc bug related to that.
> 
> 
> Yeah, sorry for the poor report. It happened on a different machine 
> unreachable from the one I sent the message.
> 
> I'll reproduce it and paste the exact messages. I tried to make sense of 
> it a bit, but seemed a bit odd.
> 
> 
>     -- 
>     Cheers,
>     Guinevere Larsen
>     It/she
> 

Ok, I played with this a bit more and reproduced it again on my end. The 
problem seems to be related to enabling ubsan in configure for the build.

So if I configure with the following...

./configure --enable-targets=all --with-python=python3 --without-guile 
--enable-ubsan

I get these errors...

---

In file included from /usr/include/c++/13/vector:66,
                  from /usr/include/c++/13/functional:64,
                  from 
../../../repos/binutils-gdb/gdb/../gdbsupport/ptid.h:35,
                  from 
../../../repos/binutils-gdb/gdb/../gdbsupport/common-defs.h:212,
                  from ./../../../repos/binutils-gdb/gdb/defs.h:26,
                  from <command-line>:
In member function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, 
_Alloc>::operator[](size_type) [with _Tp = void*; _Alloc = 
std::allocator<void*>]’,
     inlined from ‘void* registry<T>::get(unsigned int) [with T = 
objfile]’ at ../../../repos/binutils-gdb/gdb/registry.h:213:24,
     inlined from ‘DATA* registry<T>::key<DATA, Deleter>::get(T*) const 
[with DATA = xcoff_symfile_info; Deleter = 
std::default_delete<xcoff_symfile_info>; T = objfile]’ at 
../../../repos/binutils-gdb/gdb/registry.h:111:36,
     inlined from ‘void enter_line_range(subfile*, unsigned int, 
unsigned int, CORE_ADDR, CORE_ADDR, unsigned int*)’ at 
../../../repos/binutils-gdb/gdb/xcoffread.c:544:18:
/usr/include/c++/13/bits/stl_vector.h:1129:32: error: array subscript 0 
is outside array bounds of ‘registry<objfile> [0]’ [-Werror=array-bounds=]
  1129 |         return *(this->_M_impl._M_start + __n);
       |                  ~~~~~~~~~~~~~~^~~~~~~~
In function ‘void enter_line_range(subfile*, unsigned int, unsigned int, 
CORE_ADDR, CORE_ADDR, unsigned int*)’:
cc1plus: note: source object is likely at address zero
In member function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, 
_Alloc>::operator[](size_type) [with _Tp = void*; _Alloc = 
std::allocator<void*>]’,
     inlined from ‘void* registry<T>::get(unsigned int) [with T = 
objfile]’ at ../../../repos/binutils-gdb/gdb/registry.h:213:24,
     inlined from ‘DATA* registry<T>::key<DATA, Deleter>::get(T*) const 
[with DATA = xcoff_symfile_info; Deleter = 
std::default_delete<xcoff_symfile_info>; T = objfile]’ at 
../../../repos/binutils-gdb/gdb/registry.h:111:36,
     inlined from ‘void enter_line_range(subfile*, unsigned int, 
unsigned int, CORE_ADDR, CORE_ADDR, unsigned int*)’ at 
../../../repos/binutils-gdb/gdb/xcoffread.c:544:18:
/usr/include/c++/13/bits/stl_vector.h:1129:32: error: array subscript 0 
is outside array bounds of ‘registry<objfile> [0]’ [-Werror=array-bounds=]
In function ‘void enter_line_range(subfile*, unsigned int, unsigned int, 
CORE_ADDR, CORE_ADDR, unsigned int*)’:
cc1plus: note: source object is likely at address zero
In member function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, 
_Alloc>::operator[](size_type) [with _Tp = void*; _Alloc = 
std::allocator<void*>]’,
     inlined from ‘void* registry<T>::get(unsigned int) [with T = 
objfile]’ at ../../../repos/binutils-gdb/gdb/registry.h:213:24,
     inlined from ‘DATA* registry<T>::key<DATA, Deleter>::get(T*) const 
[with DATA = xcoff_symfile_info; Deleter = 
std::default_delete<xcoff_symfile_info>; T = objfile]’ at 
../../../repos/binutils-gdb/gdb/registry.h:111:36,
     inlined from ‘void read_symbol(internal_syment*, int)’ at 
../../../repos/binutils-gdb/gdb/xcoffread.c:612:38,
     inlined from ‘CORE_ADDR read_symbol_nvalue(int)’ at 
../../../repos/binutils-gdb/gdb/xcoffread.c:635:15,
     inlined from ‘void enter_line_range(subfile*, unsigned int, 
unsigned int, CORE_ADDR, CORE_ADDR, unsigned int*)’ at 
../../../repos/binutils-gdb/gdb/xcoffread.c:572:29:
/usr/include/c++/13/bits/stl_vector.h:1129:32: error: array subscript 0 
is outside array bounds of ‘registry<objfile> [0]’ [-Werror=array-bounds=]
  1129 |         return *(this->_M_impl._M_start + __n);
       |                  ~~~~~~~~~~~~~~^~~~~~~~
In function ‘void enter_line_range(subfile*, unsigned int, unsigned int, 
CORE_ADDR, CORE_ADDR, unsigned int*)’:
cc1plus: note: source object is likely at address zero
In member function ‘std::vector<_Tp, _Alloc>::reference std::vector<_Tp, 
_Alloc>::operator[](size_type) [with _Tp = void*; _Alloc = 
std::allocator<void*>]’,
     inlined from ‘void* registry<T>::get(unsigned int) [with T = 
objfile]’ at ../../../repos/binutils-gdb/gdb/registry.h:213:24,
     inlined from ‘DATA* registry<T>::key<DATA, Deleter>::get(T*) const 
[with DATA = xcoff_symfile_info; Deleter = 
std::default_delete<xcoff_symfile_info>; T = objfile]’ at 
../../../repos/binutils-gdb/gdb/registry.h:111:36,
     inlined from ‘int read_symbol_lineno(int)’ at 
../../../repos/binutils-gdb/gdb/xcoffread.c:649:37,
     inlined from ‘void enter_line_range(subfile*, unsigned int, 
unsigned int, CORE_ADDR, CORE_ADDR, unsigned int*)’ at 
../../../repos/binutils-gdb/gdb/xcoffread.c:582:36:
/usr/include/c++/13/bits/stl_vector.h:1129:32: error: array subscript 0 
is outside array bounds of ‘registry<objfile> [0]’ [-Werror=array-bounds=]
  1129 |         return *(this->_M_impl._M_start + __n);
       |                  ~~~~~~~~~~~~~~^~~~~~~~
In function ‘void enter_line_range(subfile*, unsigned int, unsigned int, 
CORE_ADDR, CORE_ADDR, unsigned int*)’:
cc1plus: note: source object is likely at address zero

---

If I drop the --enable-ubsan from configure, then the build completes 
just fine.

Maybe not a show stopper, but would be nice to have working builds with 
ubsan.

For reference, the system is using Mint 22.2, which might be equivalent 
to Ubuntu 24.04.

  reply	other threads:[~2025-10-23  0:59 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-20 15:28 Guinevere Larsen
2025-10-20 15:28 ` [PATCH v2 1/8] gdb: move some stabs functions to gdb/buildsym-legacy.h Guinevere Larsen
2025-10-20 16:25   ` Tom Tromey
2025-10-20 15:28 ` [PATCH v2 2/8] gdb/mdebug: Remove stabs support from mips inferiors Guinevere Larsen
2025-10-20 15:28 ` [PATCH v2 3/8] gdb: Remove stabs support from ELF files Guinevere Larsen
2025-10-20 15:28 ` [PATCH v2 4/8] gdb: Remove stabs support from dbx Guinevere Larsen
2025-10-20 15:28 ` [PATCH v2 5/8] gdb: Remove stabs support for COFF files Guinevere Larsen
2025-10-20 15:28 ` [PATCH v2 6/8] gdb: Remove stabs support from XCOFF inferiors Guinevere Larsen
2025-11-07 10:46   ` Andrew Burgess
2025-11-07 12:09     ` Guinevere Larsen
2025-11-07 14:46       ` Tom Tromey
2025-10-20 15:28 ` [PATCH v2 7/8] gdb: Fully remove stabs code from GDB Guinevere Larsen
2025-10-20 16:39   ` Eli Zaretskii
2025-10-20 19:12     ` Guinevere Larsen
2025-10-20 15:28 ` [PATCH v2 8/8] gdb: remove support for dbx " Guinevere Larsen
2025-10-21 19:14 ` [PATCH v2 0/8] Remove stabs support " Tom Tromey
2025-10-21 19:42   ` Guinevere Larsen
2025-10-22  9:48 ` Luis
2025-10-22 13:08   ` Tom Tromey
2025-10-22 13:19     ` Guinevere Larsen
2025-10-22 19:19       ` Luis
2025-10-23  0:58         ` Luis [this message]
2025-10-23  2:03           ` Andrew Pinski
2025-10-23 18:11 ` Simon Marchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=27fc25e3-4c19-40cd-b9ce-a87da0fa0dff@gmail.com \
    --to=luis.machado.foss@gmail.com \
    --cc=gdb-patches@sourceware.org \
    --cc=guinevere@redhat.com \
    --cc=tom@tromey.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox