svn commit: r250282 - user/dchagin/lemul/sys/compat/linux
Dmitry Chagin
dchagin at FreeBSD.org
Sun May 5 17:46:06 UTC 2013
Author: dchagin
Date: Sun May 5 17:46:05 2013
New Revision: 250282
URL: http://svnweb.freebsd.org/changeset/base/250282
Log:
Get ready to commit x86_64 Linux emulation.
Add 64 bit support to the vdso.
Modified:
user/dchagin/lemul/sys/compat/linux/linux_vdso.c
user/dchagin/lemul/sys/compat/linux/linux_vdso.h
Modified: user/dchagin/lemul/sys/compat/linux/linux_vdso.c
==============================================================================
--- user/dchagin/lemul/sys/compat/linux/linux_vdso.c Sun May 5 17:41:58 2013 (r250281)
+++ user/dchagin/lemul/sys/compat/linux/linux_vdso.c Sun May 5 17:46:05 2013 (r250282)
@@ -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>
@@ -136,7 +140,7 @@ __elfN(linux_vdso_fixup)(struct sysentve
}
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;
Modified: user/dchagin/lemul/sys/compat/linux/linux_vdso.h
==============================================================================
--- user/dchagin/lemul/sys/compat/linux/linux_vdso.h Sun May 5 17:41:58 2013 (r250281)
+++ user/dchagin/lemul/sys/compat/linux/linux_vdso.h Sun May 5 17:46:05 2013 (r250282)
@@ -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) \
More information about the svn-src-user
mailing list