summaryrefslogtreecommitdiffstats
path: root/source/d/binutils/patches/binutils-rh1312151.patch
blob: e989b86fe53a777e6ccde4387134a4b0e64c7969 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
--- binutils-2.26.orig/bfd/elflink.c	2016-02-26 13:21:54.134859610 +0000
+++ binutils-2.26/bfd/elflink.c	2016-02-26 13:22:49.083168157 +0000
@@ -555,6 +555,19 @@ bfd_elf_record_link_assignment (bfd *out
   if (h == NULL)
     return provide;
 
+  if (h->versioned == unknown)
+    {
+      /* Set versioned if symbol version is unknown.  */
+      char *version = strrchr (name, ELF_VER_CHR);
+      if (version)
+	{
+	  if (version > name && version[-1] != ELF_VER_CHR)
+	    h->versioned = versioned_hidden;
+	  else
+	    h->versioned = versioned;
+	}
+    }
+
   switch (h->root.type)
     {
     case bfd_link_hash_defined: