sync with OpenBSD -current
This commit is contained in:
parent
a7acbdeab0
commit
c22b8a6120
202 changed files with 3004 additions and 4921 deletions
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.8 2022/01/17 01:35:36 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.9 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
|
||||
|
@ -45,7 +45,7 @@ RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
} else if (ELF_R_TYPE(r->r_info) == R_AARCH64_ABS64) {
|
||||
*p = v + s->st_value + r->r_addend;
|
||||
} else {
|
||||
_dl_exit(6);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.25 2022/01/31 05:44:13 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.26 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
|
||||
|
@ -50,7 +50,7 @@ RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
} else if (ELF_R_TYPE(r->r_info) == RELOC_GLOB_DAT) {
|
||||
*p = v + s->st_value + r->r_addend;
|
||||
} else {
|
||||
_dl_exit(6);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.15 2022/01/17 01:35:36 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.16 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
|
||||
|
@ -45,7 +45,7 @@ RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
} else if (ELF_R_TYPE(r->r_info) == R_X86_64_64) {
|
||||
*p = v + s->st_value + r->r_addend;
|
||||
} else {
|
||||
_dl_exit(6);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.15 2022/01/17 01:35:36 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.16 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
|
||||
|
@ -45,7 +45,7 @@ RELOC_DYN(Elf_Rel *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
} else if (ELF_R_TYPE(r->r_info) == R_ARM_ABS32) {
|
||||
*p += v + s->st_value;
|
||||
} else {
|
||||
_dl_exit(6);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.18 2022/01/31 05:43:22 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.19 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2004 Michael Shalayeff
|
||||
|
@ -49,7 +49,7 @@ RELOC_JMPREL(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v,
|
|||
p[0] = v + s->st_value + r->r_addend;
|
||||
p[1] = pltgot;
|
||||
} else {
|
||||
_dl_exit(5);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -64,7 +64,7 @@ RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
} else if (ELF_R_TYPE(r->r_info) == RELOC_PLABEL32) {
|
||||
*p = v + s->st_value + r->r_addend;
|
||||
} else {
|
||||
_dl_exit(6);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.23 2022/01/17 01:35:36 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.24 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
|
||||
|
@ -46,7 +46,7 @@ RELOC_DYN(const Elf_Rel *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
} else if (ELF_R_TYPE(r->r_info) == RELOC_32) {
|
||||
*p += v + s->st_value;
|
||||
} else {
|
||||
_dl_exit(6);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.10 2022/01/16 02:14:27 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.11 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
|
||||
|
@ -43,7 +43,7 @@ RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
} else if (ELF_R_TYPE(r->r_info) == RELOC_32) {
|
||||
*p = v + s->st_value + r->r_addend;
|
||||
} else if (ELF_R_TYPE(r->r_info) != RELOC_NONE) {
|
||||
_dl_exit(ELF_R_TYPE(r->r_info) + 100);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.17 2022/01/17 19:45:34 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.18 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998-2002 Opsycon AB, Sweden.
|
||||
|
@ -45,7 +45,7 @@ do { \
|
|||
else \
|
||||
*adrp += val; \
|
||||
} else if (ELF_R_TYPE(relp->r_info) != R_MIPS_NONE) { \
|
||||
_dl_exit(ELF_R_TYPE(relp->r_info)+100); \
|
||||
_csu_abort(); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
|
@ -76,7 +76,7 @@ do { \
|
|||
if (sp->st_shndx == SHN_UNDEF || \
|
||||
sp->st_shndx == SHN_COMMON) { \
|
||||
if (ELF_ST_BIND(sp->st_info) != STB_WEAK) \
|
||||
_dl_exit(7); \
|
||||
_csu_abort(); \
|
||||
} else if (ELF_ST_TYPE(sp->st_info) == STT_FUNC) { \
|
||||
*gotp += __loff; \
|
||||
} else { \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.25 2022/01/17 01:35:36 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.26 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
|
||||
|
@ -58,7 +58,7 @@ RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
if (((val & 0xfe000000) != 0) &&
|
||||
((val & 0xfe000000) != 0xfe000000)) {
|
||||
/* invalid offset */
|
||||
_dl_exit(20);
|
||||
_csu_abort();
|
||||
}
|
||||
val &= ~0xfc000000;
|
||||
val |= 0x48000000;
|
||||
|
@ -67,7 +67,7 @@ RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
} else if (ELF_R_TYPE((r)->r_info) == RELOC_GLOB_DAT) {
|
||||
*p = v + s->st_value + r->r_addend;
|
||||
} else {
|
||||
_dl_exit(6);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.4 2022/01/16 02:16:40 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.5 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
|
||||
|
@ -59,7 +59,7 @@ RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
if (((val & 0xfe000000) != 0) &&
|
||||
((val & 0xfe000000) != 0xfe000000)) {
|
||||
/* invalid offset */
|
||||
_dl_exit(20);
|
||||
_csu_abort();
|
||||
}
|
||||
val &= ~0xfc000000;
|
||||
val |= 0x48000000;
|
||||
|
@ -68,7 +68,7 @@ RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
} else if (ELF_R_TYPE((r)->r_info) == R_PPC64_GLOB_DAT) {
|
||||
*p = v + s->st_value + r->r_addend;
|
||||
} else {
|
||||
_dl_exit(6);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ _dl_start:
|
|||
END(_dl_start)
|
||||
|
||||
ENTRY(_dl_bind_start)
|
||||
# r0 contains offset, do not overwrite
|
||||
# r0 contains offset, do not overwrite
|
||||
# r2 ld.so toc is loaded on entry to this function.
|
||||
mflr %r12
|
||||
std %r12,16(%r1) # save lr
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.4 2022/01/16 02:17:05 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.5 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2021 Dale Rahn <drahn@openbsd.org>
|
||||
|
@ -44,7 +44,7 @@ RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
} else if (ELF_R_TYPE(r->r_info) == R_RISCV_64) {
|
||||
*p = v + s->st_value + r->r_addend;
|
||||
} else {
|
||||
_dl_exit(6);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.14 2022/01/17 01:35:36 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.15 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
|
||||
|
@ -43,7 +43,7 @@ RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
} else if (ELF_R_TYPE(r->r_info) == R_SH_DIR32) {
|
||||
*p = s->st_value + v + r->r_addend;
|
||||
} else {
|
||||
_dl_exit(6);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: archdep.h,v 1.28 2022/01/17 01:35:36 guenther Exp $ */
|
||||
/* $OpenBSD: archdep.h,v 1.29 2023/11/18 16:26:17 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1998 Per Fogelstrom, Opsycon AB
|
||||
|
@ -41,7 +41,7 @@ RELOC_DYN(const Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v)
|
|||
if (ELF_R_TYPE(r->r_info) == RELOC_RELATIVE) {
|
||||
*p = v + r->r_addend;
|
||||
} else {
|
||||
_dl_exit(6);
|
||||
_csu_abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue