aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-m32c.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2006-04-07 01:08:34 +0000
committerDJ Delorie <dj@redhat.com>2006-04-07 01:08:34 +0000
commit35520cb7088b85e939a2c72b4aab8ee6c9f872ca (patch)
tree7bf2736957b53f5602ce3f22a1590c978db7ebed /bfd/elf32-m32c.c
parent545c9aee9b6540535274388e3f2cb882ed66c3c8 (diff)
downloadfsf-binutils-gdb-35520cb7088b85e939a2c72b4aab8ee6c9f872ca.zip
fsf-binutils-gdb-35520cb7088b85e939a2c72b4aab8ee6c9f872ca.tar.gz
fsf-binutils-gdb-35520cb7088b85e939a2c72b4aab8ee6c9f872ca.tar.bz2
* elf32-m32c.c (m32c_elf_relocate_section): Generate a symbol for
each plt entry we create.
Diffstat (limited to 'bfd/elf32-m32c.c')
-rw-r--r--bfd/elf32-m32c.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c
index f56efd2..5e9f3ab 100644
--- a/bfd/elf32-m32c.c
+++ b/bfd/elf32-m32c.c
@@ -482,6 +482,22 @@ m32c_elf_relocate_section
relocation = (splt->output_section->vma
+ splt->output_offset
+ (*plt_offset & -2));
+ if (name)
+ {
+ char *newname = bfd_malloc (strlen(name)+5);
+ strcpy (newname, name);
+ strcat(newname, ".plt");
+ _bfd_generic_link_add_one_symbol (info,
+ input_bfd,
+ newname,
+ BSF_FUNCTION | BSF_WEAK,
+ splt,
+ (*plt_offset & -2),
+ 0,
+ 1,
+ 0,
+ 0);
+ }
}
}
break;