]> git.pld-linux.org Git - packages/binutils.git/blame - binutils-bdfbug.patch
- obsolete
[packages/binutils.git] / binutils-bdfbug.patch
CommitLineData
16cb9c8f
AF
1On Thu, Aug 02, 2001 at 05:02:26PM -0700, H . J . Lu wrote:
2> On Fri, Aug 03, 2001 at 09:15:10AM +0930, Alan Modra wrote:
3> > On Thu, Aug 02, 2001 at 10:09:41AM -0700, H . J . Lu wrote:
4> > >
5> > > Alan, why don't we discard all relocations for static binaries?
6> >
7> > A thinko on my part. We obviously should be discarding them. I
8> > suspect this crept into elf32-i386.c from elf32-hppa.c, and it's
9> > wrong there too.
10>
11> Could you please fix both of them?
12
13Your patch does the right thing, but I'm tweaking it a little.
14
15bfd/ChangeLog
16 From H.J. Lu <hjl@gnu.org>
17 * elf32-i386.c (allocate_plt_and_got_and_discard_relocs): Don't
18 keep relocs for undefined syms if there are no dynamic sections in
19 executable.
20 * elf32-hppa.c (allocate_plt_and_got_and_discard_relocs): Likewise.
21
22--
23Alan Modra
24
25Index: bfd/elf32-hppa.c
26===================================================================
27RCS file: /cvs/src/src/bfd/elf32-hppa.c,v
28retrieving revision 1.41
29diff -u -p -r1.41 elf32-hppa.c
30--- bfd/elf32-hppa.c 2001/06/30 00:34:10 1.41
31+++ bfd/elf32-hppa.c 2001/08/03 05:07:46
32@@ -2141,8 +2141,9 @@ allocate_plt_and_got_and_discard_relocs
33 if (!info->shared
34 && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0
35 && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
36- || h->root.type == bfd_link_hash_undefweak
37- || h->root.type == bfd_link_hash_undefined))
38+ || (hplink->root.dynamic_sections_created
39+ && (h->root.type == bfd_link_hash_undefweak
40+ || h->root.type == bfd_link_hash_undefined))))
41 {
42 /* Make sure this symbol is output as a dynamic symbol.
43 Undefined weak syms won't yet be marked as dynamic. */
44Index: bfd/elf32-i386.c
45===================================================================
46RCS file: /cvs/src/src/bfd/elf32-i386.c,v
47retrieving revision 1.36
48diff -u -p -r1.36 elf32-i386.c
49--- bfd/elf32-i386.c 2001/06/27 01:46:17 1.36
50+++ bfd/elf32-i386.c 2001/08/03 05:07:49
51@@ -1199,8 +1199,9 @@ allocate_plt_and_got_and_discard_relocs
52 if (!info->shared
53 && (h->elf_link_hash_flags & ELF_LINK_NON_GOT_REF) == 0
54 && ((h->elf_link_hash_flags & ELF_LINK_HASH_DEF_DYNAMIC) != 0
55- || h->root.type == bfd_link_hash_undefweak
56- || h->root.type == bfd_link_hash_undefined))
57+ || (htab->root.dynamic_sections_created
58+ && (h->root.type == bfd_link_hash_undefweak
59+ || h->root.type == bfd_link_hash_undefined))))
60 {
61 /* Make sure this symbol is output as a dynamic symbol.
62 Undefined weak syms won't yet be marked as dynamic. */
63
This page took 0.060345 seconds and 4 git commands to generate.