[Qemu-devel] [PATCH] linux-user: Handle arches with llseek instead of _llseek

2014-03-25 Thread James Hogan
Recently merged kernel ports (such as OpenRISC and Meta) have an llseek
system call instead of _llseek. This is handled for the host
architecture by defining __NR__llseek as __NR_llseek, but not for the
target architecture.

Handle it in the same way for these architectures, defining
TARGET_NR__llseek as TARGET_NR_llseek.

Signed-off-by: James Hogan james.ho...@imgtec.com
Cc: Riku Voipio riku.voi...@iki.fi
Cc: Jia Liu pro...@gmail.com
---
 linux-user/syscall.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 2eac6d5..8dbe39b 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -198,6 +198,11 @@ static type name (type1 arg1,type2 arg2,type3 arg3,type4 
arg4,type5 arg5,  \
 #define __NR__llseek __NR_lseek
 #endif
 
+/* Newer kernel ports have llseek() instead of _llseek() */
+#if defined(TARGET_NR_llseek)  !defined(TARGET_NR__llseek)
+#define TARGET_NR__llseek TARGET_NR_llseek
+#endif
+
 #ifdef __NR_gettid
 _syscall0(int, gettid)
 #else
-- 
1.8.3.2




Re: [Qemu-devel] [PATCH] linux-user: Handle arches with llseek instead of _llseek

2014-03-25 Thread Jia Liu
Hi James,

On Wed, Mar 26, 2014 at 5:51 AM, James Hogan james.ho...@imgtec.com wrote:
 Recently merged kernel ports (such as OpenRISC and Meta) have an llseek
 system call instead of _llseek. This is handled for the host
 architecture by defining __NR__llseek as __NR_llseek, but not for the
 target architecture.

Thank you, James.

I don't have a Linux test environment for I'm a OS X user,
may you please make a test, please?



 Handle it in the same way for these architectures, defining
 TARGET_NR__llseek as TARGET_NR_llseek.

 Signed-off-by: James Hogan james.ho...@imgtec.com
 Cc: Riku Voipio riku.voi...@iki.fi
 Cc: Jia Liu pro...@gmail.com
 ---
  linux-user/syscall.c | 5 +
  1 file changed, 5 insertions(+)

 diff --git a/linux-user/syscall.c b/linux-user/syscall.c
 index 2eac6d5..8dbe39b 100644
 --- a/linux-user/syscall.c
 +++ b/linux-user/syscall.c
 @@ -198,6 +198,11 @@ static type name (type1 arg1,type2 arg2,type3 arg3,type4 
 arg4,type5 arg5,  \
  #define __NR__llseek __NR_lseek
  #endif

 +/* Newer kernel ports have llseek() instead of _llseek() */
 +#if defined(TARGET_NR_llseek)  !defined(TARGET_NR__llseek)
 +#define TARGET_NR__llseek TARGET_NR_llseek
 +#endif
 +
  #ifdef __NR_gettid
  _syscall0(int, gettid)
  #else
 --
 1.8.3.2


Regards,
Jia