From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25193 invoked by alias); 24 Mar 2011 05:51:16 -0000 Received: (qmail 25185 invoked by uid 22791); 24 Mar 2011 05:51:14 -0000 X-SWARE-Spam-Status: No, hits=-0.5 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-qy0-f169.google.com (HELO mail-qy0-f169.google.com) (209.85.216.169) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 24 Mar 2011 05:51:09 +0000 Received: by qyk2 with SMTP id 2so5543686qyk.0 for ; Wed, 23 Mar 2011 22:51:08 -0700 (PDT) MIME-Version: 1.0 Received: by 10.224.211.65 with SMTP id gn1mr6599756qab.355.1300945868474; Wed, 23 Mar 2011 22:51:08 -0700 (PDT) Received: by 10.229.141.70 with HTTP; Wed, 23 Mar 2011 22:51:08 -0700 (PDT) Date: Thu, 24 Mar 2011 05:51:00 -0000 Message-ID: Subject: OS X 10.6.6 ld: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame From: William Knop To: libffi-discuss@sourceware.org Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org X-SW-Source: 2011/txt/msg00109.txt.bz2 Hello all, I'm working on squashing some bugs in ghc, the glasgow haskell compiler, and I've run into a linker warning that is apparently new to OS X 10.6's ld. Specifically, the new linker defaults to creating compact unwinds, which is briefly described in `man unwinddump`: "When a C++ (or x86_64 Objective-C) exception is thrown, the runtime must unwind the stack looking for some function to catch the exception. Traditionally, the unwind information is stored in the __TEXT/__eh_frame section of each executable as Dwarf CFI (call frame information). Beginning in Mac OS X 10.6, the unwind information is also encoded in the __TEXT/__unwind_info section using a two-level lookup table of compact unwind encodings." Unfortunately, _ffi_call_unix64's cannot re represented in the compact unwind format, resulting in the ld warning: "could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame" Do you guys know if _ffi_call_unix64 (in darwin64.S) can be modified to work with compact unwinds, and if so is it something that's planned for a future release? I have found a few relevant discussions: http://groups.google.com/group/llvm-dev/browse_thread/thread/8baba4531a9feb07/139c9eba3525ebe http://groups.google.com/group/darwin-dev/browse_thread/thread/962f74bde0efaae4/cfb63dfb3ac34ce1 Thanks much, William Knop