From owner-freebsd-sparc64@FreeBSD.ORG Fri Jan 13 07:50:07 2006 Return-Path: X-Original-To: freebsd-sparc64@hub.freebsd.org Delivered-To: freebsd-sparc64@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C4AD816A41F for ; Fri, 13 Jan 2006 07:50:07 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4B19143D46 for ; Fri, 13 Jan 2006 07:50:07 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k0D7o6Ab062807 for ; Fri, 13 Jan 2006 07:50:06 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k0D7o6Gk062806; Fri, 13 Jan 2006 07:50:06 GMT (envelope-from gnats) Date: Fri, 13 Jan 2006 07:50:06 GMT Message-Id: <200601130750.k0D7o6Gk062806@freefall.freebsd.org> To: freebsd-sparc64@FreeBSD.org From: Andrew Belashov Cc: Subject: Re: sparc64/89486: firefox and thunderbird is broken on sparc64 X-BeenThere: freebsd-sparc64@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Andrew Belashov List-Id: Porting FreeBSD to the Sparc List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2006 07:50:07 -0000 The following reply was made to PR sparc64/89486; it has been noted by GNATS. From: Andrew Belashov To: bug-followup@FreeBSD.org Cc: Subject: Re: sparc64/89486: firefox and thunderbird is broken on sparc64 Date: Fri, 13 Jan 2006 10:45:59 +0300 This is a multi-part message in MIME format. --------------060008010808050904090302 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit I have fully working firefox, built from ports. How-To-Fix: Save attached patch or get it from NetBSD: http://cvsweb.netbsd.org/bsdweb.cgi/src/gnu/dist/binutils/bfd/elf64-sparc.c.diff?r1=1.3&r2=1.4&f=h&f=u Apply the patch. # cd /usr/src # patch -p0 < /path/to/patch Recompile your binutils. # cd /usr/src/gnu/usr.bin/binutils # make obj && make depend && make && make install Now we have fixed ld(1). Recompile firefox from ports. # cd /usr/ports/www/firefox # make clean # make # make deinstall # make install # make package I have tested firefox and gnome2 on FreeBSD-6.0-RELEASE/sparc64/SMP with libthr. No problems found. For switching to libthr, add following lines to /etc/libmap.conf: libc_r.so.6 libthr.so.2 libc_r.so libthr.so --------------060008010808050904090302 Content-Type: text/plain; name="elf64-sparc.c.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="elf64-sparc.c.patch" --- contrib/binutils/bfd/elf64-sparc.c.orig Thu Aug 5 08:31:26 2004 +++ contrib/binutils/bfd/elf64-sparc.c Sun Jan 1 19:00:33 2006 @@ -1638,7 +1638,11 @@ sparc64_elf_adjust_dynamic_symbol (info, || h->root.type == bfd_link_hash_defweak) && (h->root.u.def.section->flags & SEC_CODE) != 0)) { - if (! elf_hash_table (info)->dynamic_sections_created) + if (! info->shared + && (h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) == 0 + && (h->elf_link_hash_flags & ELF_LINK_HASH_REF_DYNAMIC) == 0 + && h->root.type != bfd_link_hash_undefweak + && h->root.type != bfd_link_hash_undefined) { /* This case can occur if we saw a WPLT30 reloc in an input file, but none of the input files were dynamic objects. --------------060008010808050904090302--