From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4537 invoked by alias); 5 Oct 2002 21:55:27 -0000 Mailing-List: contact libc-hacker-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-hacker-owner@sources.redhat.com Received: (qmail 4517 invoked from network); 5 Oct 2002 21:55:26 -0000 Received: from unknown (HELO gateway.sf.frob.com) (64.163.215.223) by sources.redhat.com with SMTP; 5 Oct 2002 21:55:26 -0000 Received: from magilla.sf.frob.com (magilla.sf.frob.com [198.49.250.228]) by gateway.sf.frob.com (Postfix) with ESMTP id 8A01D357E; Sat, 5 Oct 2002 14:55:25 -0700 (PDT) Received: (from roland@localhost) by magilla.sf.frob.com (8.11.6/8.11.6) id g95LtK226078; Sat, 5 Oct 2002 14:55:20 -0700 Date: Sat, 05 Oct 2002 15:06:00 -0000 Message-Id: <200210052155.g95LtK226078@magilla.sf.frob.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit From: Roland McGrath To: Ulrich Drepper Cc: GNU libc hackers Subject: __builtin_frame_address vs %esp in pt-machine.h X-shopping-list: (1) Bent money dandelions (2) Jubilant fingers (3) Previous hair yies (4) Mesozoic Demolition X-SW-Source: 2002-10/txt/msg00030.txt.bz2 What was the reason for this change in linuxthreads? 2001-04-12 Ulrich Drepper * sysdeps/i386/Makefile: Make sure gcc uses a frame pointer for all the files which use CURRENT_STACK_FRAME. * sysdeps/i386/pt-machine.h (CURRENT_STACK_FRAME): Define using __builtin_frame_address. * sysdeps/i386/i686/pt-machine.h: Likewise. The -fomit-frame-pointer build is broken for !FLOATING_STACKS because we failed to keep the sysdeps/i386/Makefile up to date with every source file that uses THREAD_*MEM (probably my fault). The plan of adding all such files to sysdeps/i386/Makefile seems very error prone (cf the current error) and definitely ugly. It would be safest to apply it to all the linuxthreads source files. But I don't see why we don't just use the definition that works with or without -fomit-frame-pointer. I don't get any compilation errors from reverting this change. So I wonder what motivated it. Going back to using %esp in a global register variable seems like the best way to fix the current problems to me.