projects
/
platform
/
upstream
/
binutils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* lib/gdb.exp (gdb_run_cmd, gdb_start_cmd, run_to_main): Add comments.
[platform/upstream/binutils.git]
/
bfd
/
elf32-m32r.c
diff --git
a/bfd/elf32-m32r.c
b/bfd/elf32-m32r.c
index
0b114bd
..
37d995d
100644
(file)
--- a/
bfd/elf32-m32r.c
+++ b/
bfd/elf32-m32r.c
@@
-1,6
+1,6
@@
/* M32R-specific support for 32-bit ELF.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
/* M32R-specific support for 32-bit ELF.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010
Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010
, 2011
Free Software Foundation, Inc.
This file is part of BFD, the Binary File Descriptor library.
This file is part of BFD, the Binary File Descriptor library.
@@
-1977,12
+1977,6
@@
allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
if (h->root.type == bfd_link_hash_indirect)
return TRUE;
if (h->root.type == bfd_link_hash_indirect)
return TRUE;
- if (h->root.type == bfd_link_hash_warning)
- /* When warning symbols are created, they **replace** the "real"
- entry in the hash table, thus we never get to see the real
- symbol in a hash traversal. So look at it now. */
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
info = (struct bfd_link_info *) inf;
htab = m32r_elf_hash_table (info);
if (htab == NULL)
info = (struct bfd_link_info *) inf;
htab = m32r_elf_hash_table (info);
if (htab == NULL)
@@
-2169,9
+2163,6
@@
readonly_dynrelocs (struct elf_link_hash_entry *h, void * inf)
struct elf_m32r_link_hash_entry *eh;
struct elf_m32r_dyn_relocs *p;
struct elf_m32r_link_hash_entry *eh;
struct elf_m32r_dyn_relocs *p;
- if (h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
-
eh = (struct elf_m32r_link_hash_entry *) h;
for (p = eh->dyn_relocs; p != NULL; p = p->next)
{
eh = (struct elf_m32r_link_hash_entry *) h;
for (p = eh->dyn_relocs; p != NULL; p = p->next)
{
@@
-2598,7
+2589,11
@@
m32r_elf_relocate_section (bfd *output_bfd ATTRIBUTE_UNUSED,
relocation = (h->root.u.def.value
+ sec->output_section->vma
+ sec->output_offset);
relocation = (h->root.u.def.value
+ sec->output_section->vma
+ sec->output_offset);
- else if (!info->relocatable)
+ else if (!info->relocatable
+ && (_bfd_elf_section_offset (output_bfd, info,
+ input_section,
+ rel->r_offset)
+ != (bfd_vma) -1))
{
(*_bfd_error_handler)
(_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),
{
(*_bfd_error_handler)
(_("%B(%A+0x%lx): unresolvable %s relocation against symbol `%s'"),