Page MenuHomeFreeBSD

D26365.diff
No OneTemporary

D26365.diff

Index: head/stand/common/reloc_elf.c
===================================================================
--- head/stand/common/reloc_elf.c
+++ head/stand/common/reloc_elf.c
@@ -175,7 +175,8 @@
}
return (0);
-#elif defined(__powerpc__)
+#elif defined(__aarch64__) || defined(__arm__) || defined(__powerpc__) || \
+ defined(__riscv)
Elf_Size w;
const Elf_Rela *rela;
@@ -185,7 +186,15 @@
if (relbase + rela->r_offset >= dataaddr &&
relbase + rela->r_offset < dataaddr + len) {
switch (ELF_R_TYPE(rela->r_info)) {
+#if defined(__aarch64__)
+ case R_AARCH64_RELATIVE:
+#elif defined(__arm__)
+ case R_ARM_RELATIVE:
+#elif defined(__powerpc__)
case R_PPC_RELATIVE:
+#elif defined(__riscv)
+ case R_RISCV_RELATIVE:
+#endif
w = relbase + rela->r_addend;
bcopy(&w, (u_char *)data + (relbase +
rela->r_offset - dataaddr), sizeof(w));

File Metadata

Mime Type
text/plain
Expires
Mon, Jan 20, 7:50 PM (20 h, 32 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
15982936
Default Alt Text
D26365.diff (885 B)

Event Timeline