[PATCH] elf: Add -z [dt-debugsz|nodt-debugsz] to emit DT_DEBUGSZ

H.J. Lu hjl.tools@gmail.com
Sun Aug 15 13:48:21 GMT 2021


On Sun, Aug 15, 2021 at 6:17 AM Florian Weimer <fw@deneb.enyo.de> wrote:
>
> * H. J. Lu:
>
> > On Sun, Aug 15, 2021 at 5:50 AM H.J. Lu <hjl.tools@gmail.com> wrote:
> >>
> >> On Sun, Aug 15, 2021 at 4:55 AM Florian Weimer <fw@deneb.enyo.de> wrote:
> >> >
> >> > * H. J. Lu via Gdb-patches:
> >> >
> >> > > Add -z [dt-debugsz|nodt-debugsz] to emit a DT_DEBUGSZ dynamic tag so
> >> > > that the dynamic linker can set its value to the size of the structure
> >> > > of debugger interface, whose address is stored in the DT_DEBUG dynamic
> >> > > tag, used by the dynamic linker.
> >> >
> >> > I do not think this is necessary.  We can increase the version number
> >> > in the existing DT_DEBUG structure.
> >>
> >> Some debuggers expect r_version == 1.
> >
> > GDB has
> >
> >          if (linux_read_memory (priv->r_debug + lmo->r_version_offset,
> >                                  (unsigned char *) &r_version,
> >                                  sizeof (r_version)) != 0
> >               || r_version != 1)
> >             {
> >               warning ("unexpected r_debug version %d", r_version);
> >             }
> >           else if (read_one_ptr (priv->r_debug + lmo->r_map_offset,
> >                                  &lm_addr, ptr_size) != 0)
> >             {
> >               warning ("unable to read r_map from 0x%lx",
> >                        (long) priv->r_debug + lmo->r_map_offset);
> >             }
>
> Does this mean it's just a warning?

When the warning happens, it won't read r_map.

-- 
H.J.


More information about the Binutils mailing list