[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