Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 May 2015 15:45:37 +0000 (UTC)
From:      Dmitry Chagin <dchagin@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r283417 - head/sys/compat/linux
Message-ID:  <201505241545.t4OFjb6N063427@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dchagin
Date: Sun May 24 15:45:36 2015
New Revision: 283417
URL: https://svnweb.freebsd.org/changeset/base/283417

Log:
  Add 64 bit support to the vdso.
  
  Differential Revision:	https://reviews.freebsd.org/D1069
  Reviewed by:	trasz

Modified:
  head/sys/compat/linux/linux_vdso.c
  head/sys/compat/linux/linux_vdso.h

Modified: head/sys/compat/linux/linux_vdso.c
==============================================================================
--- head/sys/compat/linux/linux_vdso.c	Sun May 24 15:44:41 2015	(r283416)
+++ head/sys/compat/linux/linux_vdso.c	Sun May 24 15:45:36 2015	(r283417)
@@ -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 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: head/sys/compat/linux/linux_vdso.h
==============================================================================
--- head/sys/compat/linux/linux_vdso.h	Sun May 24 15:44:41 2015	(r283416)
+++ head/sys/compat/linux/linux_vdso.h	Sun May 24 15:45:36 2015	(r283417)
@@ -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)				\



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505241545.t4OFjb6N063427>