1.1 --- a/binutils/binutils.patch Mon Jan 12 14:38:36 2009 +0100 1.2 +++ b/binutils/binutils.patch Mon Jan 12 14:40:51 2009 +0100 1.3 @@ -175,3 +175,24 @@ 1.4 if (ehbuf) 1.5 free (ehbuf); 1.6 if (sec_info) 1.7 +Index: bfd/elflink.c 1.8 +diff -Nau bfd/elflink.c.orig bfd/elflink.c 1.9 +--- bfd/elflink.c.orig 2007-08-24 16:01:08.000000000 +0200 1.10 ++++ bfd/elflink.c 2009-01-11 14:07:54.705525343 +0100 1.11 +@@ -4231,7 +4231,15 @@ 1.12 + h->ref_regular_nonweak = 1; 1.13 + } 1.14 + else 1.15 +- h->def_regular = 1; 1.16 ++ { 1.17 ++ h->def_regular = 1; 1.18 ++ if (h->def_dynamic) 1.19 ++ { 1.20 ++ h->def_dynamic = 0; 1.21 ++ h->ref_dynamic = 1; 1.22 ++ h->dynamic_def = 1; 1.23 ++ } 1.24 ++ } 1.25 + if (! info->executable 1.26 + || h->def_dynamic 1.27 + || h->ref_dynamic)