summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2014-04-09 12:34:58 +0000
committerDmitry V. Levin <ldv@altlinux.org>2014-04-09 12:34:58 +0000
commit2c4fb257663ad108d17a60afafd9ace181e397d4 (patch)
treec44db55df94f2f527ebee81a52168e0e498908df
parentb563325f0a5497b6134f24bea03a86b21272960f (diff)
downloadstrace-2c4fb257663ad108d17a60afafd9ace181e397d4.tar.gz
strace-2c4fb257663ad108d17a60afafd9ace181e397d4.tar.bz2
strace-2c4fb257663ad108d17a60afafd9ace181e397d4.tar.xz
x32: fix clone(2) argument order for x86 processes
Apply the same fix that was made for x86_64. * process.c [X32] (ARG_CTID, ARG_TLS): Take current personality into account.
-rw-r--r--process.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/process.c b/process.c
index 442f001..e840fe2 100644
--- a/process.c
+++ b/process.c
@@ -512,14 +512,14 @@ extern void print_ldt_entry();
# define ARG_PTID 2
# define ARG_CTID 3
# define ARG_TLS 4
-#elif defined X86_64
+#elif defined X86_64 || defined X32
/* x86 personality processes have the last two arguments flipped. */
# define ARG_FLAGS 0
# define ARG_STACK 1
# define ARG_PTID 2
# define ARG_CTID ((current_personality != 1) ? 3 : 4)
# define ARG_TLS ((current_personality != 1) ? 4 : 3)
-#elif defined X32 || defined ALPHA || defined TILE || defined OR1K
+#elif defined ALPHA || defined TILE || defined OR1K
# define ARG_FLAGS 0
# define ARG_STACK 1
# define ARG_PTID 2