[Python-Dev] binutils 2.13.1

Andrew Koenig ark@research.att.com
12 Nov 2002 13:46:13 -0500


I reported earlier that binutils 2.13 does not allow Python to build
properly with Solaris.  FSF has just released 2.13.1, which fixes one
of the problems but not the other.  I have reported this fact to the
binutils maintainers, who say that they will incorporate the missing
patch into 2.13.2, which they will release soon.  Meanwhile, here is
the patch:

*** bfd/elflink.h	22 Aug 2002 01:27:19 -0000	1.185
--- bfd/elflink.h	19 Sep 2002 14:33:09 -0000
*************** elf_fix_symbol_flags (h, eif)
*** 3886,3894 ****
      {
        struct elf_link_hash_entry *weakdef;
  
        BFD_ASSERT (h->root.type == bfd_link_hash_defined
  		  || h->root.type == bfd_link_hash_defweak);
-       weakdef = h->weakdef;
        BFD_ASSERT (weakdef->root.type == bfd_link_hash_defined
  		  || weakdef->root.type == bfd_link_hash_defweak);
        BFD_ASSERT (weakdef->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC);
--- 3886,3897 ----
      {
        struct elf_link_hash_entry *weakdef;
  
+       weakdef = h->weakdef;
+       while (h->root.type == bfd_link_hash_indirect)
+ 	h = (struct elf_link_hash_entry *) h->root.u.i.link;
+ 
        BFD_ASSERT (h->root.type == bfd_link_hash_defined
  		  || h->root.type == bfd_link_hash_defweak);
        BFD_ASSERT (weakdef->root.type == bfd_link_hash_defined
  		  || weakdef->root.type == bfd_link_hash_defweak);
        BFD_ASSERT (weakdef->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC);

-- 
Andrew Koenig, ark@research.att.com, http://www.research.att.com/info/ark