[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/19073] S/390: ld: Segmentation fault building Glibc
From: |
krebbel at linux dot vnet.ibm.com |
Subject: |
[Bug ld/19073] S/390: ld: Segmentation fault building Glibc |
Date: |
Mon, 12 Oct 2015 07:25:33 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=19073
--- Comment #9 from Andreas Krebbel <krebbel at linux dot vnet.ibm.com> ---
The problem is that when processing "getcontext" in elf_link_add_object_symbols
it is matched by the hash entry for "getcontext@@GLIBC_2.2" here:
/* We need to make sure that indirect symbol dynamic flags are
updated. */
hi = h;
while (h->root.type == bfd_link_hash_indirect
|| h->root.type == bfd_link_hash_warning)
h = (struct elf_link_hash_entry *) h->root.u.i.link;
While the name stays "getcontext" the new `h' has the `versioned' flag set.
That's what confuses _bfd_elf_add_default_symbol.
This hack mimics the old behavior of exiting for all symbols not having @ in
their name and fixes the problem for me:
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 94bb710..2a56fd6 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -4374,8 +4374,9 @@ error_free_dyn:
/* Check to see if we need to add an indirect symbol for
the default name. */
- if (definition
- || (!override && h->root.type == bfd_link_hash_common))
+ if (strchr (name, ELF_VER_CHR) != NULL
+ && (definition
+ || (!override && h->root.type == bfd_link_hash_common)))
if (!_bfd_elf_add_default_symbol (abfd, info, h, name, isym,
sec, value, &old_bfd, &dynsym))
goto error_free_vers;
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/19073] ld: Segmentation fault building Glibc, (continued)
- [Bug ld/19073] ld: Segmentation fault building Glibc, hjl.tools at gmail dot com, 2015/10/08
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, krebbel at linux dot vnet.ibm.com, 2015/10/08
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, krebbel at linux dot vnet.ibm.com, 2015/10/08
- [Bug ld/19073] ld: Segmentation fault building Glibc, krebbel at linux dot vnet.ibm.com, 2015/10/08
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, hjl.tools at gmail dot com, 2015/10/08
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, krebbel at linux dot vnet.ibm.com, 2015/10/09
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, hjl.tools at gmail dot com, 2015/10/09
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, hjl.tools at gmail dot com, 2015/10/10
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, krebbel at linux dot vnet.ibm.com, 2015/10/10
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, krebbel at linux dot vnet.ibm.com, 2015/10/12
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc,
krebbel at linux dot vnet.ibm.com <=
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, hjl.tools at gmail dot com, 2015/10/12
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, hjl.tools at gmail dot com, 2015/10/12
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, krebbel at linux dot vnet.ibm.com, 2015/10/12
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, cvs-commit at gcc dot gnu.org, 2015/10/15
- [Bug ld/19073] S/390: ld: Segmentation fault building Glibc, hjl.tools at gmail dot com, 2015/10/15