[PATCH] elf: Support DT_RELR relative relocation format [BZ #27924]

Fangrui Song maskray@google.com
Fri Oct 8 16:36:53 GMT 2021


On 2021-10-08, Florian Weimer wrote:
>* Fangrui Song via Libc-alpha:
>
>> @@ -887,7 +893,10 @@ typedef struct
>>  #define DT_PREINIT_ARRAY 32		/* Array with addresses of preinit fct*/
>>  #define DT_PREINIT_ARRAYSZ 33		/* size in bytes of DT_PREINIT_ARRAY */
>>  #define DT_SYMTAB_SHNDX	34		/* Address of SYMTAB_SHNDX section */
>> -#define	DT_NUM		35		/* Number used */
>> +#define DT_RELRSZ	35
>> +#define DT_RELR		36
>> +#define DT_RELRENT	37
>> +#define	DT_NUM		38		/* Number used */
>>  #define DT_LOOS		0x6000000d	/* Start of OS-specific */
>>  #define DT_HIOS		0x6ffff000	/* End of OS-specific */
>>  #define DT_LOPROC	0x70000000	/* Start of processor-specific */
>
><http://www.sco.com/developers/gabi/latest/ch5.dynamic.html#tag_encodings>
>(Figure 5-10: Dynamic Array Tags, d_tag) still ends at 34, and I'm
>worried about collisions with these numbers.
>
>Do you know what the official allocation status for the new constants
>is?

AIUI the last update of the website was in 2015 when SHF_COMPRESSED was
added.

See https://groups.google.com/g/generic-abi/c/XsQpUE6s02o for
information about no maintenance from xinuous.

Cary took over maintenanceship (
https://groups.google.com/g/generic-abi/c/9OO5vhxb00Y "Ongoing
Maintenance of the gABI") but (AIUI) does not have access to that
website.

Updates on SHF_LINK_ORDER and SHT_RELR/DT_RELR are scattered in
generic-abi posts these days. The current reality is if Solaris/GNU/LLVM
folks have reached agreement, we can make some progress on
clarification/semantics update. (Personally when I make linker changes,
I may even reach out to FreeBSD folks on IRC.)
(For new features getting ack from Solaris is the most difficult part in
these years. They are happy with RELR.)

 From Cary Coutant
(https://sourceware.org/bugzilla/show_bug.cgi?id=27924#c7)
"I am now under contract with Xinuos to convert the documentation
to a more maintainable form and maintain it from there. Current plans
are to translate it to ReStructured Text and place it on github."

If Cary doesn't assign DT_RELRSZ/DT_RELR/DT_RELRENT to other semantics
when then the new site is available, I think we are free to use the 3
values now:)


More information about the Libc-alpha mailing list