From owner-svn-src-all@FreeBSD.ORG Thu Nov 25 20:35:50 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 46811106566B; Thu, 25 Nov 2010 20:35:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 345588FC0C; Thu, 25 Nov 2010 20:35:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oAPKZoww016945; Thu, 25 Nov 2010 20:35:50 GMT (envelope-from dim@svn.freebsd.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oAPKZoNB016943; Thu, 25 Nov 2010 20:35:50 GMT (envelope-from dim@svn.freebsd.org) Message-Id: <201011252035.oAPKZoNB016943@svn.freebsd.org> From: Dimitry Andric Date: Thu, 25 Nov 2010 20:35:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r215841 - head/contrib/gcc/config/ia64 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Nov 2010 20:35:50 -0000 Author: dim Date: Thu Nov 25 20:35:49 2010 New Revision: 215841 URL: http://svn.freebsd.org/changeset/base/215841 Log: Now that the fix for gcc PR 20218 is applied, and hidden attributes actually work, linking of libgcc_s.so.1 on ia64 will fail with: unwind-ia64.So(.text+0x1762): In function `_Unwind_FindEnclosingFunction': : undefined reference to `_Unwind_FindTableEntry' unwind-ia64.So(.text+0x1d82): In function `uw_frame_state_for': : undefined reference to `_Unwind_FindTableEntry' /usr/bin/ld: libgcc_s.so.1: hidden symbol `_Unwind_FindTableEntry' isn't defined Repair this by not hiding the _Unwind_FindTableEntry symbol; on FreeBSD, it is in libc, not in libgcc. Silence from: current@ Modified: head/contrib/gcc/config/ia64/unwind-ia64.h Modified: head/contrib/gcc/config/ia64/unwind-ia64.h ============================================================================== --- head/contrib/gcc/config/ia64/unwind-ia64.h Thu Nov 25 20:29:14 2010 (r215840) +++ head/contrib/gcc/config/ia64/unwind-ia64.h Thu Nov 25 20:35:49 2010 (r215841) @@ -19,6 +19,13 @@ the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +#ifdef __FreeBSD__ +/* On FreeBSD, _Unwind_FindTableEntry is in libc, and must not be hidden here. */ +#define ATTRIBUTE_HIDDEN +#else +#define ATTRIBUTE_HIDDEN __attribute__ ((__visibility__ ("hidden"))) +#endif + struct unw_table_entry { unsigned long start_offset; @@ -29,4 +36,4 @@ struct unw_table_entry extern struct unw_table_entry * _Unwind_FindTableEntry (void *pc, unsigned long *segment_base, unsigned long *gp) - __attribute__ ((__visibility__ ("hidden"))); + ATTRIBUTE_HIDDEN;