https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109712
--- Comment #26 from Thomas Neumann <tneumann at users dot sourceforge.net> --- (In reply to Florian Weimer from comment #23) > > u is the original read pointer as far as I can see. So it looks like it > should look like this: > > diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c > index 6223f5f18a2..5a6352227cc 100644 > --- a/libgcc/unwind-dw2-fde-dip.c > +++ b/libgcc/unwind-dw2-fde-dip.c > @@ -403,8 +403,8 @@ find_fde_tail (_Unwind_Ptr pc, > BFD ld generates. */ > signed value __attribute__ ((mode (SI))); > memcpy (&value, p, sizeof (value)); > + eh_frame = p + value > p += sizeof (value); > - dbase = value; /* No adjustment because pcrel has base 0. */ > } > else > p = read_encoded_value_with_base (hdr->eh_frame_ptr_enc, that seems to be correct, the test case succeeds with that patch.