diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2022-01-29 10:56:45 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2022-01-31 07:05:48 -0800 |
commit | 3fb18fd80c5900cc82748f3320b30516c57d24da (patch) | |
tree | 3b31e62ff66968dc1b17408ceb4a601a0a6eefc5 /elf/tst-dlmopen4.c | |
parent | 829ea0caca35800c4ffbebced7c3271293811144 (diff) | |
download | glibc-3fb18fd80c5900cc82748f3320b30516c57d24da.zip glibc-3fb18fd80c5900cc82748f3320b30516c57d24da.tar.gz glibc-3fb18fd80c5900cc82748f3320b30516c57d24da.tar.bz2 |
elf: Add <dl-r_debug.h>
Add <dl-r_debug.h> to get the adddress of the r_debug structure after
relocation and its offset before relocation from the PT_DYNAMIC segment
to support DT_DEBUG, DT_MIPS_RLD_MAP_REL and DT_MIPS_RLD_MAP.
Co-developed-by: Xi Ruoyao <xry111@mengyan1223.wang>
Diffstat (limited to 'elf/tst-dlmopen4.c')
-rw-r--r-- | elf/tst-dlmopen4.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/elf/tst-dlmopen4.c b/elf/tst-dlmopen4.c index d8bcf7e..8456f89 100644 --- a/elf/tst-dlmopen4.c +++ b/elf/tst-dlmopen4.c @@ -25,16 +25,9 @@ #include <support/check.h> #include <support/test-driver.h> -#ifndef ELF_MACHINE_GET_R_DEBUG -# define ELF_MACHINE_GET_R_DEBUG(d) \ - (__extension__ ({ \ - struct r_debug_extended *debug; \ - if ((d)->d_tag == DT_DEBUG) \ - debug = (struct r_debug_extended *) (d)->d_un.d_ptr; \ - else \ - debug = NULL; \ - debug; })) -#endif +#define E(x) x +#define EW(x) ElfW(x) +#include <dl-r_debug.h> static int do_test (void) @@ -44,7 +37,7 @@ do_test (void) for (d = _DYNAMIC; d->d_tag != DT_NULL; ++d) { - debug = ELF_MACHINE_GET_R_DEBUG (d); + debug = (struct r_debug_extended *) r_debug_address (d); if (debug != NULL) break; } |