diff options
author | dchagin <dchagin@FreeBSD.org> | 2015-05-24 15:45:36 +0000 |
---|---|---|
committer | dchagin <dchagin@FreeBSD.org> | 2015-05-24 15:45:36 +0000 |
commit | 4dc96a65526c11a0cadf8e4c1bdf2e906fa24fa2 (patch) | |
tree | 41255f465aa4b9d6f7de10a6ffbfb6dbdfe3ba6e | |
parent | dc4523e6a4c5069fcc945efca5e2ef11e84014ea (diff) | |
download | FreeBSD-src-4dc96a65526c11a0cadf8e4c1bdf2e906fa24fa2.zip FreeBSD-src-4dc96a65526c11a0cadf8e4c1bdf2e906fa24fa2.tar.gz |
Add 64 bit support to the vdso.
Differential Revision: https://reviews.freebsd.org/D1069
Reviewed by: trasz
-rw-r--r-- | sys/compat/linux/linux_vdso.c | 6 | ||||
-rw-r--r-- | sys/compat/linux/linux_vdso.h | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/compat/linux/linux_vdso.c b/sys/compat/linux/linux_vdso.c index 871a5da..5ab0ee6 100644 --- a/sys/compat/linux/linux_vdso.c +++ b/sys/compat/linux/linux_vdso.c @@ -29,7 +29,11 @@ __FBSDID("$FreeBSD$"); #include "opt_compat.h" +#if defined(__i386__) || (defined(__amd64__) && defined(COMPAT_LINUX32)) #define __ELF_WORD_SIZE 32 +#else +#define __ELF_WORD_SIZE 64 +#endif #include <sys/param.h> #include <sys/systm.h> @@ -135,7 +139,7 @@ __elfN(linux_vdso_fixup)(struct sysentvec *sv) } void -__elfN(linux_vdso_reloc)(struct sysentvec *sv, int vdso_adjust) +__elfN(linux_vdso_reloc)(struct sysentvec *sv, long vdso_adjust) { struct linux_vdso_sym *lsym; Elf_Ehdr *ehdr; diff --git a/sys/compat/linux/linux_vdso.h b/sys/compat/linux/linux_vdso.h index a3ee63d..e11ee8a 100644 --- a/sys/compat/linux/linux_vdso.h +++ b/sys/compat/linux/linux_vdso.h @@ -41,7 +41,7 @@ struct linux_vdso_sym { vm_object_t __elfN(linux_shared_page_init)(char **); void __elfN(linux_shared_page_fini)(vm_object_t); void __elfN(linux_vdso_fixup)(struct sysentvec *); -void __elfN(linux_vdso_reloc)(struct sysentvec *, int); +void __elfN(linux_vdso_reloc)(struct sysentvec *, long); void __elfN(linux_vdso_sym_init)(struct linux_vdso_sym *); #define LINUX_VDSO_SYM_INTPTR(name) \ |