[arch-commits] Commit in binutils/repos (2 files)

Allan McRae allan at archlinux.org
Sat Apr 25 01:14:05 EDT 2009


    Date: Saturday, April 25, 2009 @ 01:14:04
  Author: allan
Revision: 36588

Merged revisions 36587 via svnmerge from 
svn+ssh://archlinux.org/srv/svn-packages/binutils/trunk

........
  r36587 | allan | 2009-04-25 15:10:51 +1000 (Sat, 25 Apr 2009) | 1 line
  
  add missing patch
........

Added:
  binutils/repos/testing-i686/binutils-2.19-as-needed.patch
    (from rev 36587, binutils/trunk/binutils-2.19-as-needed.patch)
Modified:
  binutils/repos/testing-i686/	(properties)

-------------------------------+
 binutils-2.19-as-needed.patch |   38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)


Property changes on: binutils/repos/testing-i686
___________________________________________________________________
Modified: svnmerge-integrated
   - /binutils/trunk:1-36435
   + /binutils/trunk:1-36587

Copied: binutils/repos/testing-i686/binutils-2.19-as-needed.patch (from rev 36587, binutils/trunk/binutils-2.19-as-needed.patch)
===================================================================
--- testing-i686/binutils-2.19-as-needed.patch	                        (rev 0)
+++ testing-i686/binutils-2.19-as-needed.patch	2009-04-25 05:14:04 UTC (rev 36588)
@@ -0,0 +1,38 @@
+===================================================================
+RCS file: /cvs/src/src/bfd/elflink.c,v
+retrieving revision 1.328
+retrieving revision 1.329
+diff -u -r1.328 -r1.329
+--- src/bfd/elflink.c	2009/01/29 16:35:03	1.328
++++ src/bfd/elflink.c	2009/01/31 11:44:37	1.329
+@@ -3199,6 +3199,16 @@
+   return 0;
+ }
+ 
++static bfd_boolean
++on_needed_list (const char *soname, struct bfd_link_needed_list *needed)
++{
++  for (; needed != NULL; needed = needed->next)
++    if (strcmp (soname, needed->name) == 0)
++      return TRUE;
++
++  return FALSE;
++}
++
+ /* Sort symbol by value and section.  */
+ static int
+ elf_sort_symbol (const void *arg1, const void *arg2)
+@@ -4434,8 +4444,11 @@
+ 
+ 	  if (!add_needed
+ 	      && definition
+-	      && dynsym
+-	      && h->ref_regular)
++	      && ((dynsym
++		   && h->ref_regular)
++		  || (h->ref_dynamic
++		      && (elf_dyn_lib_class (abfd) & DYN_AS_NEEDED) != 0
++		      && !on_needed_list (elf_dt_name (abfd), htab->needed))))
+ 	    {
+ 	      int ret;
+ 	      const char *soname = elf_dt_name (abfd);



More information about the arch-commits mailing list