Page MenuHomeFreeBSD

D45117.diff
No OneTemporary

D45117.diff

diff --git a/libexec/rtld-elf/aarch64/rtld_machdep.h b/libexec/rtld-elf/aarch64/rtld_machdep.h
--- a/libexec/rtld-elf/aarch64/rtld_machdep.h
+++ b/libexec/rtld-elf/aarch64/rtld_machdep.h
@@ -47,6 +47,9 @@
(const Elf_Dyn *)_dynamic_addr; \
})
+/* No arch-specific dynamic tags */
+#define arch_digest_dynamic(obj, dynp) false
+
bool arch_digest_note(struct Struct_Obj_Entry *obj, const Elf_Note *note);
Elf_Addr reloc_jmpslot(Elf_Addr *where, Elf_Addr target,
diff --git a/libexec/rtld-elf/amd64/rtld_machdep.h b/libexec/rtld-elf/amd64/rtld_machdep.h
--- a/libexec/rtld-elf/amd64/rtld_machdep.h
+++ b/libexec/rtld-elf/amd64/rtld_machdep.h
@@ -41,6 +41,9 @@
Elf_Dyn *rtld_dynamic_addr(void);
#define rtld_dynamic(obj) rtld_dynamic_addr()
+/* No arch-specific dynamic tags */
+#define arch_digest_dynamic(obj, dynp) false
+
/* No architecture specific notes */
#define arch_digest_note(obj, note) false
diff --git a/libexec/rtld-elf/arm/rtld_machdep.h b/libexec/rtld-elf/arm/rtld_machdep.h
--- a/libexec/rtld-elf/arm/rtld_machdep.h
+++ b/libexec/rtld-elf/arm/rtld_machdep.h
@@ -41,6 +41,9 @@
/* Return the address of the .dynamic section in the dynamic linker. */
#define rtld_dynamic(obj) (&_DYNAMIC)
+/* No arch-specific dynamic tags */
+#define arch_digest_dynamic(obj, dynp) false
+
/* No architecture specific notes */
#define arch_digest_note(obj, note) false
diff --git a/libexec/rtld-elf/i386/rtld_machdep.h b/libexec/rtld-elf/i386/rtld_machdep.h
--- a/libexec/rtld-elf/i386/rtld_machdep.h
+++ b/libexec/rtld-elf/i386/rtld_machdep.h
@@ -41,6 +41,9 @@
#define rtld_dynamic(obj) \
((const Elf_Dyn *)((obj)->relocbase + (Elf_Addr)&_DYNAMIC))
+/* No arch-specific dynamic tags */
+#define arch_digest_dynamic(obj, dynp) false
+
/* No architecture specific notes */
#define arch_digest_note(obj, note) false
diff --git a/libexec/rtld-elf/powerpc/rtld_machdep.h b/libexec/rtld-elf/powerpc/rtld_machdep.h
--- a/libexec/rtld-elf/powerpc/rtld_machdep.h
+++ b/libexec/rtld-elf/powerpc/rtld_machdep.h
@@ -40,6 +40,9 @@
/* Return the address of the .dynamic section in the dynamic linker. */
#define rtld_dynamic(obj) (&_DYNAMIC)
+/* No arch-specific dynamic tags */
+#define arch_digest_dynamic(obj, dynp) false
+
/* No architecture specific notes */
#define arch_digest_note(obj, note) false
diff --git a/libexec/rtld-elf/powerpc64/rtld_machdep.h b/libexec/rtld-elf/powerpc64/rtld_machdep.h
--- a/libexec/rtld-elf/powerpc64/rtld_machdep.h
+++ b/libexec/rtld-elf/powerpc64/rtld_machdep.h
@@ -40,6 +40,9 @@
/* Return the address of the .dynamic section in the dynamic linker. */
#define rtld_dynamic(obj) (&_DYNAMIC)
+/* No arch-specific dynamic tags */
+#define arch_digest_dynamic(obj, dynp) false
+
/* No architecture specific notes */
#define arch_digest_note(obj, note) false
diff --git a/libexec/rtld-elf/riscv/rtld_machdep.h b/libexec/rtld-elf/riscv/rtld_machdep.h
--- a/libexec/rtld-elf/riscv/rtld_machdep.h
+++ b/libexec/rtld-elf/riscv/rtld_machdep.h
@@ -54,6 +54,9 @@
(const Elf_Dyn *)_dynamic_addr; \
})
+/* No arch-specific dynamic tags */
+#define arch_digest_dynamic(obj, dynp) false
+
/* No architecture specific notes */
#define arch_digest_note(obj, note) false
diff --git a/libexec/rtld-elf/rtld.c b/libexec/rtld-elf/rtld.c
--- a/libexec/rtld-elf/rtld.c
+++ b/libexec/rtld-elf/rtld.c
@@ -1554,6 +1554,9 @@
break;
default:
+ if (arch_digest_dynamic(obj, dynp))
+ break;
+
if (!early) {
dbg("Ignoring d_tag %ld = %#lx", (long)dynp->d_tag,
(long)dynp->d_tag);

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 11, 3:21 AM (10 h, 14 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16588269
Default Alt Text
D45117.diff (3 KB)

Event Timeline