Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo commit in src/patchsets/binutils/2.22: 10_all_binutils-2.22-ppc-textrels.patch README.history
Date: Sat, 03 Dec 2011 01:45:25
Message-Id: 20111203014508.9FD432004B@flycatcher.gentoo.org
1 vapier 11/12/03 01:45:08
2
3 Modified: README.history
4 Added: 10_all_binutils-2.22-ppc-textrels.patch
5 Log:
6 add patch from upstream for textrels on ppc32 #392645 by hiyuh
7
8 Revision Changes Path
9 1.2 src/patchsets/binutils/2.22/README.history
10
11 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.22/README.history?rev=1.2&view=markup
12 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.22/README.history?rev=1.2&content-type=text/plain
13 diff : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.22/README.history?r1=1.1&r2=1.2
14
15 Index: README.history
16 ===================================================================
17 RCS file: /var/cvsroot/gentoo/src/patchsets/binutils/2.22/README.history,v
18 retrieving revision 1.1
19 retrieving revision 1.2
20 diff -u -r1.1 -r1.2
21 --- README.history 21 Nov 2011 19:57:36 -0000 1.1
22 +++ README.history 3 Dec 2011 01:45:08 -0000 1.2
23 @@ -1,3 +1,6 @@
24 +1.1 [pending]
25 + + 10_all_binutils-2.22-ppc-textrels.patch
26 +
27 1.0 21 Nov 2011
28 + 03_all_binutils-2.15.92.0.2-ppc64-pie.patch
29 + 08_all_binutils-RPATH_ENVVAR-smack.patch
30
31
32
33 1.1 src/patchsets/binutils/2.22/10_all_binutils-2.22-ppc-textrels.patch
34
35 file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.22/10_all_binutils-2.22-ppc-textrels.patch?rev=1.1&view=markup
36 plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/binutils/2.22/10_all_binutils-2.22-ppc-textrels.patch?rev=1.1&content-type=text/plain
37
38 Index: 10_all_binutils-2.22-ppc-textrels.patch
39 ===================================================================
40 http://bugs.gentoo.org/392645
41 http://sourceware.org/bugzilla/show_bug.cgi?id=13470
42
43 2011-12-03 Alan Modra <amodra@×××××.com>
44
45 PR ld/13470
46 * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Revert substantive
47 change in 2011-07-01 commit. Comment.
48 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
49
50 ===================================================================
51 RCS file: /cvs/src/src/bfd/elf32-ppc.c,v
52 retrieving revision 1.302.2.1
53 retrieving revision 1.302.2.2
54 diff -u -r1.302.2.1 -r1.302.2.2
55 --- src/bfd/elf32-ppc.c 2011/11/15 11:36:52 1.302.2.1
56 +++ src/bfd/elf32-ppc.c 2011/12/03 00:58:01 1.302.2.2
57 @@ -2987,10 +2987,6 @@
58 edir->elf.needs_plt |= eind->elf.needs_plt;
59 edir->elf.pointer_equality_needed |= eind->elf.pointer_equality_needed;
60
61 - /* If we were called to copy over info for a weak sym, that's all. */
62 - if (eind->elf.root.type != bfd_link_hash_indirect)
63 - return;
64 -
65 if (eind->dyn_relocs != NULL)
66 {
67 if (edir->dyn_relocs != NULL)
68 @@ -3022,6 +3018,16 @@
69 eind->dyn_relocs = NULL;
70 }
71
72 + /* If we were called to copy over info for a weak sym, that's all.
73 + You might think dyn_relocs need not be copied over; After all,
74 + both syms will be dynamic or both non-dynamic so we're just
75 + moving reloc accounting around. However, ELIMINATE_COPY_RELOCS
76 + code in ppc_elf_adjust_dynamic_symbol needs to check for
77 + dyn_relocs in read-only sections, and it does so on what is the
78 + DIR sym here. */
79 + if (eind->elf.root.type != bfd_link_hash_indirect)
80 + return;
81 +
82 /* Copy over the GOT refcount entries that we may have already seen to
83 the symbol which just became indirect. */
84 edir->elf.got.refcount += eind->elf.got.refcount;
85 ===================================================================
86 RCS file: /cvs/src/src/bfd/elf64-ppc.c,v
87 retrieving revision 1.363.2.4
88 retrieving revision 1.363.2.5
89 diff -u -r1.363.2.4 -r1.363.2.5
90 --- src/bfd/elf64-ppc.c 2011/11/08 13:46:36 1.363.2.4
91 +++ src/bfd/elf64-ppc.c 2011/12/03 00:58:02 1.363.2.5
92 @@ -4435,10 +4435,6 @@
93 edir->elf.ref_regular_nonweak |= eind->elf.ref_regular_nonweak;
94 edir->elf.needs_plt |= eind->elf.needs_plt;
95
96 - /* If we were called to copy over info for a weak sym, that's all. */
97 - if (eind->elf.root.type != bfd_link_hash_indirect)
98 - return;
99 -
100 /* Copy over any dynamic relocs we may have on the indirect sym. */
101 if (eind->dyn_relocs != NULL)
102 {
103 @@ -4471,6 +4467,16 @@
104 eind->dyn_relocs = NULL;
105 }
106
107 + /* If we were called to copy over info for a weak sym, that's all.
108 + You might think dyn_relocs need not be copied over; After all,
109 + both syms will be dynamic or both non-dynamic so we're just
110 + moving reloc accounting around. However, ELIMINATE_COPY_RELOCS
111 + code in ppc64_elf_adjust_dynamic_symbol needs to check for
112 + dyn_relocs in read-only sections, and it does so on what is the
113 + DIR sym here. */
114 + if (eind->elf.root.type != bfd_link_hash_indirect)
115 + return;
116 +
117 /* Copy over got entries that we may have already seen to the
118 symbol which just became indirect. */
119 if (eind->elf.got.glist != NULL)