[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