From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31908 invoked by alias); 20 Dec 2005 23:34:17 -0000 Received: (qmail 31891 invoked by uid 22791); 20 Dec 2005 23:34:16 -0000 X-Spam-Check-By: sourceware.org Received: from e2.ny.us.ibm.com (HELO e2.ny.us.ibm.com) (32.97.182.142) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 20 Dec 2005 23:34:15 +0000 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e2.ny.us.ibm.com (8.12.11/8.12.11) with ESMTP id jBKNY2Iu012916 for ; Tue, 20 Dec 2005 18:34:02 -0500 Received: from d01av02.pok.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by d01relay04.pok.ibm.com (8.12.10/NCO/VERS6.8) with ESMTP id jBKNY2Jj104186 for ; Tue, 20 Dec 2005 18:34:02 -0500 Received: from d01av02.pok.ibm.com (loopback [127.0.0.1]) by d01av02.pok.ibm.com (8.12.11/8.13.3) with ESMTP id jBKNY2Xu030753 for ; Tue, 20 Dec 2005 18:34:02 -0500 Received: from [9.10.240.45] ([9.10.240.45]) by d01av02.pok.ibm.com (8.12.11/8.12.11) with ESMTP id jBKNY1DF030718; Tue, 20 Dec 2005 18:34:01 -0500 Message-ID: <43A8A238.4060609@us.ibm.com> Date: Tue, 20 Dec 2005 23:34:00 -0000 From: Steven Munroe User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050921 MIME-Version: 1.0 To: Jakub Jelinek CC: Ulrich Drepper , GNU libc hacker Subject: Re: things to do for arch maintainers References: <43A5B402.10007@redhat.com> <43A88034.8090500@us.ibm.com> <20051220211255.GR4625@sunsite.mff.cuni.cz> In-Reply-To: <20051220211255.GR4625@sunsite.mff.cuni.cz> Content-Type: text/plain; charset=ISO-8859-1; format=flowed 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: 2005-12/txt/msg00034.txt.bz2 Jakub Jelinek wrote: >On Tue, Dec 20, 2005 at 04:05:40PM -0600, Steven Munroe wrote: > > >>Jakub got to the powerpc change before I could finish testing my >>version. No problem with Jukub's quickness, but I notice that his >>version does not fill in the >> >>"#if defined NOT_IN_libc && defined IS_IN_rtld" >> >> >>case. While the X86_64 example does. >> >> > >Uli did that part already earlier for >sysdeps/powerpc/powerpc32/setjmp-common.S: > >#if defined NOT_IN_libc && defined IS_IN_rtld > li r3,0 > blr >#else > b BP_SYM (__sigjmp_save@local) >#endif > > > I was refering to defining the PTR_MANGLE/PTR_DEMANGLE macros for the IS_IN_RTLD case. X86_64 defines: #if defined NOT_IN_libc && defined IS_IN_rtld /* We cannot use the thread descriptor because in ld.so we use setjmp earlier than the descriptor is initialized. */ # ifdef __ASSEMBLER__ # define PTR_MANGLE(reg) xorq __pointer_chk_guard_local(%rip), reg # define PTR_DEMANGLE(reg) PTR_MANGLE (reg) # else # define PTR_MANGLE(reg) asm ("xorq __pointer_chk_guard_local(%%rip), %0"\ : "=r" (reg) : "0" (reg)) # define PTR_DEMANGLE(reg) PTR_MANGLE (reg) # endif ... While powerpc and most other arch's leave the macros undefined for the IS_IN_RTLD case. This may be appropriate because powerpc does not have a pc relative reference to access __pointer_chk_guard_local and access via the .got/.toc will fail if access is attemped before the got/toc are relocated. But I wanted to verify this. It is not clear what this change is really for, so it is difficult to determine what is intended or required.