diff options
author | Rich Felker <dalias@aerifal.cx> | 2023-01-18 10:32:14 -0500 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2023-01-18 10:32:14 -0500 |
commit | f897461d4fe72bb71854a6d0662de83008caccb7 (patch) | |
tree | 32a00795b118694b618b9736ee44a9de98775d62 /arch | |
parent | a4b0a665b84c4a3117cca152fe28c204d23ece46 (diff) | |
download | musl-f897461d4fe72bb71854a6d0662de83008caccb7.tar.gz musl-f897461d4fe72bb71854a6d0662de83008caccb7.tar.xz musl-f897461d4fe72bb71854a6d0662de83008caccb7.zip |
fix debugger tracking of shared libraries on mips with PIE main program
mips has its own mechanisms for DT_DEBUG because it makes _DYNAMIC read-only, and the original mechanism, DT_MIPS_RLD_MAP, was PIE-incompatible. DT_MIPS_RLD_MAP_REL was added to remedy this, but we never implemented support for it. add it now using the same idioms for mips-specific ldso logic.
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/reloc.h | 1 | ||||
-rw-r--r-- | arch/mips64/reloc.h | 1 | ||||
-rw-r--r-- | arch/mipsn32/reloc.h | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/arch/mips/reloc.h b/arch/mips/reloc.h index 88d23639..f4023b16 100644 --- a/arch/mips/reloc.h +++ b/arch/mips/reloc.h @@ -29,6 +29,7 @@ #define NEED_MIPS_GOT_RELOCS 1 #define DT_DEBUG_INDIRECT DT_MIPS_RLD_MAP +#define DT_DEBUG_INDIRECT_REL DT_MIPS_RLD_MAP_REL #define ARCH_SYM_REJECT_UND(s) (!((s)->st_other & STO_MIPS_PLT)) #define CRTJMP(pc,sp) __asm__ __volatile__( \ diff --git a/arch/mips64/reloc.h b/arch/mips64/reloc.h index fdb5edc9..145d8b0b 100644 --- a/arch/mips64/reloc.h +++ b/arch/mips64/reloc.h @@ -38,6 +38,7 @@ #define NEED_MIPS_GOT_RELOCS 1 #define DT_DEBUG_INDIRECT DT_MIPS_RLD_MAP +#define DT_DEBUG_INDIRECT_REL DT_MIPS_RLD_MAP_REL #define ARCH_SYM_REJECT_UND(s) (!((s)->st_other & STO_MIPS_PLT)) #define CRTJMP(pc,sp) __asm__ __volatile__( \ diff --git a/arch/mipsn32/reloc.h b/arch/mipsn32/reloc.h index 47c6e591..bf00bd6a 100644 --- a/arch/mipsn32/reloc.h +++ b/arch/mipsn32/reloc.h @@ -29,6 +29,7 @@ #define NEED_MIPS_GOT_RELOCS 1 #define DT_DEBUG_INDIRECT DT_MIPS_RLD_MAP +#define DT_DEBUG_INDIRECT_REL DT_MIPS_RLD_MAP_REL #define ARCH_SYM_REJECT_UND(s) (!((s)->st_other & STO_MIPS_PLT)) #define CRTJMP(pc,sp) __asm__ __volatile__( \ |