diff --git a/sys/amd64/amd64/elf_machdep.c b/sys/amd64/amd64/elf_machdep.c index f5633e7ab0f7..aefced635f0f 100644 --- a/sys/amd64/amd64/elf_machdep.c +++ b/sys/amd64/amd64/elf_machdep.c @@ -331,7 +331,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); diff --git a/sys/arm/arm/elf_machdep.c b/sys/arm/arm/elf_machdep.c index 9072441701b9..a8a0647c7224 100644 --- a/sys/arm/arm/elf_machdep.c +++ b/sys/arm/arm/elf_machdep.c @@ -327,7 +327,7 @@ elf_cpu_load_file(linker_file_t lf) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); diff --git a/sys/arm64/arm64/elf_machdep.c b/sys/arm64/arm64/elf_machdep.c index 834795bda6ea..1bf7cda59a55 100644 --- a/sys/arm64/arm64/elf_machdep.c +++ b/sys/arm64/arm64/elf_machdep.c @@ -258,7 +258,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); diff --git a/sys/i386/i386/elf_machdep.c b/sys/i386/i386/elf_machdep.c index e3fb206b21b0..dad97504c4e9 100644 --- a/sys/i386/i386/elf_machdep.c +++ b/sys/i386/i386/elf_machdep.c @@ -297,7 +297,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index d8a7f1d6619e..2dff2ea79a36 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -620,7 +620,7 @@ parse_dynamic(elf_file_t ef) ef->ddbstrtab = ef->strtab; ef->ddbstrcnt = ef->strsz; - return elf_cpu_parse_dynamic(&ef->lf, ef->dynamic); + return elf_cpu_parse_dynamic(ef->address, ef->dynamic); } #define LS_PADDING 0x90909090 diff --git a/sys/mips/mips/elf_machdep.c b/sys/mips/mips/elf_machdep.c index 9a439644bff1..c70bd3313e10 100644 --- a/sys/mips/mips/elf_machdep.c +++ b/sys/mips/mips/elf_machdep.c @@ -503,7 +503,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); diff --git a/sys/powerpc/powerpc/elf32_machdep.c b/sys/powerpc/powerpc/elf32_machdep.c index 4ded8b12890d..4ac1a0da9a27 100644 --- a/sys/powerpc/powerpc/elf32_machdep.c +++ b/sys/powerpc/powerpc/elf32_machdep.c @@ -403,7 +403,7 @@ ppc32_runtime_resolve() } int -elf_cpu_parse_dynamic(linker_file_t lf, Elf_Dyn *dynamic) +elf_cpu_parse_dynamic(caddr_t loadbase, Elf_Dyn *dynamic) { Elf_Dyn *dp; bool has_plt = false; @@ -414,7 +414,7 @@ elf_cpu_parse_dynamic(linker_file_t lf, Elf_Dyn *dynamic) switch (dp->d_tag) { case DT_PPC_GOT: secure_plt = true; - got = (Elf_Addr *)(lf->address + dp->d_un.d_ptr); + got = (Elf_Addr *)(loadbase + dp->d_un.d_ptr); /* Install runtime resolver canary. */ got[1] = (Elf_Addr)ppc32_runtime_resolve; got[2] = (Elf_Addr)0; diff --git a/sys/powerpc/powerpc/elf64_machdep.c b/sys/powerpc/powerpc/elf64_machdep.c index 9a7318505aaa..6cad32f33d92 100644 --- a/sys/powerpc/powerpc/elf64_machdep.c +++ b/sys/powerpc/powerpc/elf64_machdep.c @@ -416,7 +416,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); diff --git a/sys/riscv/riscv/elf_machdep.c b/sys/riscv/riscv/elf_machdep.c index 002b7235b9fa..3c0852bede68 100644 --- a/sys/riscv/riscv/elf_machdep.c +++ b/sys/riscv/riscv/elf_machdep.c @@ -506,7 +506,7 @@ elf_cpu_unload_file(linker_file_t lf __unused) } int -elf_cpu_parse_dynamic(linker_file_t lf __unused, Elf_Dyn *dynamic __unused) +elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused) { return (0); diff --git a/sys/sys/linker.h b/sys/sys/linker.h index ffa8f186533d..3c75183006ec 100644 --- a/sys/sys/linker.h +++ b/sys/sys/linker.h @@ -305,7 +305,7 @@ int linker_ctf_get(linker_file_t, linker_ctf_t *); int elf_cpu_load_file(linker_file_t); int elf_cpu_unload_file(linker_file_t); -int elf_cpu_parse_dynamic(linker_file_t, Elf_Dyn *); +int elf_cpu_parse_dynamic(caddr_t, Elf_Dyn *); /* values for type */ #define ELF_RELOC_REL 1