From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30635 invoked by alias); 14 May 2012 20:00:13 -0000 Received: (qmail 30559 invoked by uid 22791); 14 May 2012 20:00:12 -0000 X-SWARE-Spam-Status: No, hits=-3.3 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,TW_EG,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from usmamail.tilera.com (HELO USMAMAIL.TILERA.COM) (12.216.194.151) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 14 May 2012 19:59:59 +0000 Received: from farm-0002.internal.tilera.com (10.2.0.32) by USMAEXCH2.tad.internal.tilera.com (10.3.0.33) with Microsoft SMTP Server (TLS) id 14.0.694.0; Mon, 14 May 2012 15:59:58 -0400 Received: (from cmetcalf@localhost) by farm-0002.internal.tilera.com (8.13.8/8.12.11/Submit) id q4EJxvXK007575; Mon, 14 May 2012 15:59:57 -0400 Message-ID: <201205141959.q4EJxvXK007575@farm-0002.internal.tilera.com> From: Chris Metcalf Date: Mon, 14 May 2012 20:00:00 -0000 Subject: [PATCH 13/14] tile: align stack for tilegx32 To: In-Reply-To: <4FB161CE.6070905@tilera.com> References: <4FB161CE.6070905@tilera.com> MIME-Version: 1.0 Content-Type: text/plain X-IsSubscribed: yes Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org X-SW-Source: 2012-05/txt/msg00070.txt.bz2 Previously we weren't re-aligning the stack pointer during the call to _dl_init(), so for tilegx32 and an odd value in _dl_skip_args and kernel unaligned access fixups disabled, we would die with SIGBUS. We now handle this case properly by aligning before calling _dl_init(). --- ChangeLog.tile | 4 ++++ sysdeps/tile/dl-start.S | 1 + 2 files changed, 5 insertions(+), 0 deletions(-) diff --git a/ChangeLog.tile b/ChangeLog.tile index 6bde168..9e75826 100644 --- a/ChangeLog.tile +++ b/ChangeLog.tile @@ -1,3 +1,7 @@ +2012-05-14 Chris Metcalf + + * sysdeps/tile/dl-start.S: Align stack for tilegx32. + 2012-05-12 Chris Metcalf * sysdeps/unix/sysv/linux/tile/sys/dataplane.h: Add . diff --git a/sysdeps/tile/dl-start.S b/sysdeps/tile/dl-start.S index 94025a5..97cdac3 100644 --- a/sysdeps/tile/dl-start.S +++ b/sysdeps/tile/dl-start.S @@ -77,6 +77,7 @@ ENTRY (_start) ST_PTR r52, r0 SHL_PTR_ADD sp, r4, sp } + andi sp, sp, -8 .Lno_skip: /* Call_dl_init (_dl_loaded, argc, argv, envp). See elf/start.s -- 1.6.5.2