From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12775 invoked by alias); 7 Sep 2006 16:18:10 -0000 Received: (qmail 12757 invoked by uid 22791); 7 Sep 2006 16:18:09 -0000 X-Spam-Check-By: sourceware.org Received: from e34.co.us.ibm.com (HELO e34.co.us.ibm.com) (32.97.110.152) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 07 Sep 2006 16:18:04 +0000 Received: from d03relay04.boulder.ibm.com (d03relay04.boulder.ibm.com [9.17.195.106]) by e34.co.us.ibm.com (8.13.8/8.12.11) with ESMTP id k87GI2II019122 for ; Thu, 7 Sep 2006 12:18:02 -0400 Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by d03relay04.boulder.ibm.com (8.13.6/8.13.6/NCO v8.1.1) with ESMTP id k87GI1DR030960 for ; Thu, 7 Sep 2006 10:18:01 -0600 Received: from d03av02.boulder.ibm.com (loopback [127.0.0.1]) by d03av02.boulder.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id k87GI1jV017601 for ; Thu, 7 Sep 2006 10:18:01 -0600 Received: from [9.10.86.122] (spokane1.rchland.ibm.com [9.10.86.122]) by d03av02.boulder.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id k87GI06e017496; Thu, 7 Sep 2006 10:18:01 -0600 Message-ID: <45004788.2020607@us.ibm.com> Date: Thu, 07 Sep 2006 16:18:00 -0000 From: Steven Munroe User-Agent: Mozilla/5.0 (X11; U; Linux ppc64; en-US; rv:1.7.8) Gecko/20060411 MIME-Version: 1.0 To: Jakub Jelinek CC: Ulrich Drepper , Glibc hackers Subject: Re: [PATCH] Fix ppc32 lrint (BZ #3155) References: <20060907133822.GX4556@sunsite.mff.cuni.cz> In-Reply-To: <20060907133822.GX4556@sunsite.mff.cuni.cz> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mailing-List: contact libc-hacker-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sourceware.org X-SW-Source: 2006-09/txt/msg00016.txt.bz2 Jakub Jelinek wrote: >Hi! > >PPC32 ABI forbids stack accesses below r1 (unlike PPC64 ABI). >The following patch fixes lrint which was violating this (detected by >valgrind). >There are 4 other ppc32 files that violate this: >libc/sysdeps/powerpc/powerpc32/fpu/fprrest.S >libc/sysdeps/powerpc/powerpc32/fpu/fprsave.S >libc/sysdeps/powerpc/powerpc32/gprrest0.S >libc/sysdeps/powerpc/powerpc32/gprsave0.S >The stubs from those files aren't exported from libc.so.6 nor actually >used for anything there, so I wonder if we can't nuke them altogether, >or if they should move to libc_nonshared.a after making all the functions >.hidden there. GCC provides (some of) the PPC32 ABI mandates stubs >in crtsavres.o (and there it accesses memory below r11, not r1), >so I'm not 100% if we need these at all. > I am not sure where these came from or their history. As you say they don't match the Linux ABI but we can get away with this because of the way the kernel's signal.c builds signal frames. Not something we should depend on. Easiest to just remove them from sysdeps/powerpc/powerpc32. Looks like they do match the AIX xcoff ABI. So perhaps they should be moved to sysdeps/unix/sysv/aix. I don't know who if any one is maintaining the AIX code in libc. I'll check around.