Closed Coekjan closed 2 months ago
Because RELR is a new feature introduced since glibc 2.36, current ubuntu-20.04 runners may not support this feature, resulting in these compilation errors. I think we could have 2 options:
#ifndef DT_RELR
typedef struct Elf64_Relr {
(omitted)
} Elf64_Relr;
#define DT_RELR (omitted)
#define DT_RELRSZ (omitted)
#define DT_RELRENT (omitted)
...
#endif
somewhere in the elfloader.h
file)
You can also conditionally copy/paste the new definitions in a header
I think this is good for now, and in the future if glibc 2.36 is widely used, we can remove these copied-pasted definitions.
Fixes #1623
Reference: https://sourceware.org/git/?p=glibc.git;a=blob;f=elf/dynamic-link.h;h=83d834ecaf609082506d161b9744a2b476469b5e;hb=HEAD#l153