From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15575 invoked by alias); 16 Oct 2002 17:47:50 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 15548 invoked from network); 16 Oct 2002 17:47:47 -0000 Received: from unknown (HELO mail-out1.apple.com) (17.254.0.52) by sources.redhat.com with SMTP; 16 Oct 2002 17:47:47 -0000 Received: from mailgate1.apple.com (A17-128-100-225.apple.com [17.128.100.225]) by mail-out1.apple.com (8.11.3/8.11.3) with ESMTP id g9GHlli09837 for ; Wed, 16 Oct 2002 10:47:47 -0700 (PDT) Received: from scv3.apple.com (scv3.apple.com) by mailgate1.apple.com (Content Technologies SMTPRS 4.2.5) with ESMTP id ; Wed, 16 Oct 2002 10:47:36 -0700 Received: from apple.com (johada5.apple.com [17.201.20.185]) by scv3.apple.com (8.11.3/8.11.3) with ESMTP id g9GHlkO02291; Wed, 16 Oct 2002 10:47:46 -0700 (PDT) Date: Wed, 16 Oct 2002 11:48:00 -0000 Subject: Re: Problems building GNAT on OS X with top-of-tree Content-Type: text/plain; charset=US-ASCII; format=flowed Mime-Version: 1.0 (Apple Message framework v546) Cc: Dale Johannesen , gcc@gcc.gnu.org To: Geert Bosch From: Dale Johannesen In-Reply-To: <018AA0A0-E12E-11D6-A8D0-00039344BF4A@gnat.com> Message-Id: <5633C06A-E12F-11D6-B07C-000393D76DAA@apple.com> Content-Transfer-Encoding: 7bit X-SW-Source: 2002-10/txt/msg00977.txt.bz2 On Wednesday, October 16, 2002, at 10:37 AM, Geert Bosch wrote: > > On Wednesday, Oct 16, 2002, at 13:12 America/New_York, Dale Johannesen > wrote: >> Another possibility is that >> L_system__soft_links__get_jmpbuf_address$non_lazy_ptr >> is not defined. In either case I'd expect to see an "undefined >> symbol" >> message from the assembler though. If neither of those is it, send me >> a .s file and I'll figure it out. > > It's defined in the .data segment, while the reference is in the .code > segment. I can see how this wouldn't work... No, that is supposed to be OK. non_lazy_ptr's are used for references to the address of a function (pointer-to-function) like this: extern int (*f)(int (*)()); main() { (*f)(f); } .text .... _main: .... bcl 20,31,L1$pb L1$pb: .... addis r9,r31,ha16(L_f$non_lazy_ptr-L1$pb) lwz r11,lo16(L_f$non_lazy_ptr-L1$pb)(r9) addis r9,r31,ha16(L_f$non_lazy_ptr-L1$pb) lwz r9,lo16(L_f$non_lazy_ptr-L1$pb)(r9) lwz r0,0(r11) lwz r3,0(r9) mr r12,r0 mtctr r12 bctrl .... .data .non_lazy_symbol_pointer L_f$non_lazy_ptr: .indirect_symbol _f So what's different about yours?