Hi!

On Fri, Jan 13, 2023 at 07:05:34PM +0100, Jakub Jelinek wrote:
> On Mon, May 06, 2019 at 09:55:50PM +0000, Segher Boessenkool wrote:
> > We don't need this.
> > 
> > 
> > Segher
> > 
> > 
> > 2019-05-06  Segher Boessenkool  <seg...@kernel.crashing.org>
> > 
> >     * config/rs6000/rs6000.h (PRE_GCC3_DWARF_FRAME_REGISTERS): Delete.
> 
> Why do you think so?

First off, this was three years ago, and no problems have shown up.

> This seems to be a clear ABI break to me in the __frame_state_for
> API.
> So, if a __frame_state_for caller calls the function, it will overflow
> the buffer passed by the caller.

77 <= 111 so how can this overflow where it didn't before?

> > -/* This must be included for pre gcc 3.0 glibc compatibility.  */
> > -#define PRE_GCC3_DWARF_FRAME_REGISTERS 77

=== unwind-dw2.c
/* Dwarf frame registers used for pre gcc 3.0 compiled glibc.  */
#ifndef PRE_GCC3_DWARF_FRAME_REGISTERS
#define PRE_GCC3_DWARF_FRAME_REGISTERS __LIBGCC_DWARF_FRAME_REGISTERS__
#endif

=== c-family/c-cppbuiltin.cc
      builtin_define_with_int_value ("__LIBGCC_DWARF_FRAME_REGISTERS__",
                                     DWARF_FRAME_REGISTERS);


(Btw, we used many dwarf reg numbers > 1000 for a long time.)


Segher

Reply via email to