From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.74) (envelope-from ) id 1PsvaD-0005aW-MU for ltp-list@lists.sourceforge.net; Fri, 25 Feb 2011 11:11:37 +0000 Received: from service87.mimecast.com ([94.185.240.25]) by sog-mx-2.v43.ch3.sourceforge.com with smtp (Exim 4.74) id 1PsvaC-0008RR-N4 for ltp-list@lists.sourceforge.net; Fri, 25 Feb 2011 11:11:37 +0000 From: "Will Deacon" Date: Fri, 25 Feb 2011 11:11:25 -0000 Message-ID: <000a01cbd4dc$be7a97b0$3b6fc710$@deacon@arm.com> MIME-Version: 1.0 Content-Language: en-gb Subject: [LTP] ltp_clone List-Id: Linux Test Project General Discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ltp-list-bounces@lists.sourceforge.net To: ltp-list@lists.sourceforge.net Hello, The definition of ltp_clone looks like this: int ltp_clone(unsigned long clone_flags, int (*fn)(void *arg), void *arg, size_t stack_size, void *stack) { int ret; #if defined(__hppa__) ret = clone(fn, stack, clone_flags, arg); #elif defined(__ia64__) ret = clone2(fn, stack, stack_size, clone_flags, arg, NULL, NULL, NULL); #elif defined(__arm__) /* * Stack size should be a multiple of 32 bit words * & stack limit must be aligned to a 32 bit boundary */ ret = clone(fn, (stack ? stack + stack_size : NULL), clone_flags, arg); #else ret = clone(fn, (stack ? stack + stack_size - 1 : NULL), clone_flags, arg); #endif return ret; } I believe the __arm__ case is to ensure that we pass an aligned stack pointer to the syscall (as required by the architecture). What I don't understand, is why we pass an unaligned address in the #else case? Given that a stack push decrements the sp before writing on every architecture I know of, it seems that the __arm__ case should be used as the default rather than forcing a misaligned stack on other architectures. Will ------------------------------------------------------------------------------ Free Software Download: Index, Search & Analyze Logs and other IT data in Real-Time with Splunk. Collect, index and harness all the fast moving IT data generated by your applications, servers and devices whether physical, virtual or in the cloud. Deliver compliance at lower cost and gain new business insights. http://p.sf.net/sfu/splunk-dev2dev _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list