diff options
Diffstat (limited to 'libexec/ld.so/sparc/archdep.h')
-rw-r--r-- | libexec/ld.so/sparc/archdep.h | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/libexec/ld.so/sparc/archdep.h b/libexec/ld.so/sparc/archdep.h deleted file mode 100644 index c78345d13f3..00000000000 --- a/libexec/ld.so/sparc/archdep.h +++ /dev/null @@ -1,77 +0,0 @@ -/* $OpenBSD: archdep.h,v 1.13 2016/05/18 20:40:20 deraadt Exp $ */ - -/* - * Copyright (c) 1998 Per Fogelstrom, Opsycon AB - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS - * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -#ifndef _SPARC_ARCHDEP_H_ -#define _SPARC_ARCHDEP_H_ - -#define RELOC_TAG DT_RELA - -#define DL_MALLOC_ALIGN 8 /* Arch constraint or otherwise */ - -#define MACHID EM_SPARC /* ELF e_machine ID value checked */ - -#define RELTYPE Elf32_Rela -#define RELSIZE sizeof(Elf32_Rela) - -#include <elf_abi.h> -#include <machine/exec.h> -#include <machine/reloc.h> -#include <sys/syscall.h> -#include "syscall.h" -#include "util.h" - -static inline void * -_dl_mmap(void *addr, size_t len, int prot, int flags, int fd, off_t offset) -{ - return((void *)_dl__syscall((quad_t)SYS_mmap, addr, len, prot, - flags, fd, 0, offset)); -} - -static inline void -RELOC_DYN(Elf_RelA *r, const Elf_Sym *s, Elf_Addr *p, unsigned long v) -{ - if (ELF_R_TYPE(r->r_info) == R_TYPE(NONE)) { - } else if (ELF_R_TYPE(r->r_info) == R_TYPE(RELATIVE)) { - *p = v + r->r_addend; - } else { - /* XXX - printf might not work here, but we give it a shot. */ - _dl_printf("Unknown bootstrap relocation.\n"); - _dl_exit(6); - } -} - -/* - * this is not necessary for sparc, but can be used as a hook - * to insert the mul,umul,... optimization for newer sparcs. - */ -#define RELOC_GOT(obj, offs) _dl_mul_fixup() -void _dl_mul_fixup(void); - -#define GOT_PERMS PROT_READ - -#endif /* _SPARC_ARCHDEP_H_ */ |