diff options
author | dchagin <dchagin@FreeBSD.org> | 2016-01-09 15:57:28 +0000 |
---|---|---|
committer | dchagin <dchagin@FreeBSD.org> | 2016-01-09 15:57:28 +0000 |
commit | 6ad4ee40e0005dd274dd2ebdd1dc262577dcc3cd (patch) | |
tree | 59db8795806238df4ec9b631ba9e0960892863cd /sys/compat | |
parent | 793bb9c3f7dceaf4b3fb1c260154dc2fe82a9170 (diff) | |
download | FreeBSD-src-6ad4ee40e0005dd274dd2ebdd1dc262577dcc3cd.zip FreeBSD-src-6ad4ee40e0005dd274dd2ebdd1dc262577dcc3cd.tar.gz |
MFC r283417:
Add 64 bit support to the vdso.
Diffstat (limited to 'sys/compat')
-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) \ |