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

Florian Weimer fw@deneb.enyo.de
Sun Aug 15 13:17:06 GMT 2021


* 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?


More information about the Binutils mailing list