fix gettid() clash with new glibc
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJcq6KmAAoJEPMMOL0/L748fAkP/1YcBpk93iLN3/IBNby0LhGZ V0TVUEN6cDeGb409ejqszRaJYg83gwNpBFbZnpkP57DbcRf200Iyvi2hwCYGAckh otGSSQP/fj/FNZkj7D/TkzitYj3sM1aOA3w9G6fKd6Z3htrY9R2Xitv9/vsDAoDN QUh0U6ysjuRmLKPPM63yJQjvMnTWSAy6tvWmbLwcJ6Uf8BKOnxZsPQPWiT/pJRjb smCjTa4pJ6tcpQnjd/Uxmbxa9TO8aqkqnLm3WXSXtMEx0TG+XwoX6Y67bUG9Fjll wPhxashHp+b0jL2jqFE26ac5siKUwlRXNqeJKTy6d9pP9bcMskbCFgL18hPj549s SQDz5zKMnbxoIQaK744cbBN2pikhxG2VNMahyDn+nOsBmqO9we8eiD8cmNLpDIi+ lGtnYY3imLVBeCxb1kGM/iiDiKKq6cY0W8nwIyYNYbWy+3CuSYYGfxTjs2tI0Rvx iOgaqtpGdNB1gme+P8U/I85EhIMTarEdKWJ900T2NdbKUr9Z/3sj8lBBq/aTHJxH ARYCm5G9G5WdO3ELiKj1ys4hgyHsrhad6sn1dOyahz/IDP008TJ3YsFTxZyji5Nq 3Ajgs865L7mne630Gg06oWjk/BreeT6r4uIKKv936LNy8N6NE+QLPlBHYxDfc7Qa ZeeXPN2yqTP0fuoc+z4l =EX4I -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-4.0-pull-request' into staging fix gettid() clash with new glibc # gpg: Signature made Mon 08 Apr 2019 20:36:06 BST # gpg: using RSA key F30C38BD3F2FBE3C # gpg: Good signature from "Laurent Vivier <lvivier@redhat.com>" [full] # gpg: aka "Laurent Vivier <laurent@vivier.eu>" [full] # gpg: aka "Laurent Vivier (Red Hat) <lvivier@redhat.com>" [full] # Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C * remotes/vivier2/tags/linux-user-for-4.0-pull-request: linux-user: rename gettid() to sys_gettid() to avoid clash with glibc linux-user: assume __NR_gettid always exists Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
248987f92c
@ -249,15 +249,8 @@ static type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5, \
|
|||||||
#define TARGET_NR__llseek TARGET_NR_llseek
|
#define TARGET_NR__llseek TARGET_NR_llseek
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __NR_gettid
|
#define __NR_sys_gettid __NR_gettid
|
||||||
_syscall0(int, gettid)
|
_syscall0(int, sys_gettid)
|
||||||
#else
|
|
||||||
/* This is a replacement for the host gettid() and must return a host
|
|
||||||
errno. */
|
|
||||||
static int gettid(void) {
|
|
||||||
return -ENOSYS;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* For the 64-bit guest on 32-bit host case we must emulate
|
/* For the 64-bit guest on 32-bit host case we must emulate
|
||||||
* getdents using getdents64, because otherwise the host
|
* getdents using getdents64, because otherwise the host
|
||||||
@ -5442,7 +5435,7 @@ static void *clone_func(void *arg)
|
|||||||
cpu = ENV_GET_CPU(env);
|
cpu = ENV_GET_CPU(env);
|
||||||
thread_cpu = cpu;
|
thread_cpu = cpu;
|
||||||
ts = (TaskState *)cpu->opaque;
|
ts = (TaskState *)cpu->opaque;
|
||||||
info->tid = gettid();
|
info->tid = sys_gettid();
|
||||||
task_settid(ts);
|
task_settid(ts);
|
||||||
if (info->child_tidptr)
|
if (info->child_tidptr)
|
||||||
put_user_u32(info->tid, info->child_tidptr);
|
put_user_u32(info->tid, info->child_tidptr);
|
||||||
@ -5587,9 +5580,9 @@ static int do_fork(CPUArchState *env, unsigned int flags, abi_ulong newsp,
|
|||||||
mapping. We can't repeat the spinlock hack used above because
|
mapping. We can't repeat the spinlock hack used above because
|
||||||
the child process gets its own copy of the lock. */
|
the child process gets its own copy of the lock. */
|
||||||
if (flags & CLONE_CHILD_SETTID)
|
if (flags & CLONE_CHILD_SETTID)
|
||||||
put_user_u32(gettid(), child_tidptr);
|
put_user_u32(sys_gettid(), child_tidptr);
|
||||||
if (flags & CLONE_PARENT_SETTID)
|
if (flags & CLONE_PARENT_SETTID)
|
||||||
put_user_u32(gettid(), parent_tidptr);
|
put_user_u32(sys_gettid(), parent_tidptr);
|
||||||
ts = (TaskState *)cpu->opaque;
|
ts = (TaskState *)cpu->opaque;
|
||||||
if (flags & CLONE_SETTLS)
|
if (flags & CLONE_SETTLS)
|
||||||
cpu_set_tls (env, newtls);
|
cpu_set_tls (env, newtls);
|
||||||
@ -10629,7 +10622,7 @@ static abi_long do_syscall1(void *cpu_env, int num, abi_long arg1,
|
|||||||
return TARGET_PAGE_SIZE;
|
return TARGET_PAGE_SIZE;
|
||||||
#endif
|
#endif
|
||||||
case TARGET_NR_gettid:
|
case TARGET_NR_gettid:
|
||||||
return get_errno(gettid());
|
return get_errno(sys_gettid());
|
||||||
#ifdef TARGET_NR_readahead
|
#ifdef TARGET_NR_readahead
|
||||||
case TARGET_NR_readahead:
|
case TARGET_NR_readahead:
|
||||||
#if TARGET_ABI_BITS == 32
|
#if TARGET_ABI_BITS == 32
|
||||||
|
Loading…
Reference in New Issue
Block a user