summaryrefslogtreecommitdiff
path: root/bfd/elf32-m32c.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@delorie.com>2006-04-07 01:08:34 +0000
committerDJ Delorie <dj@delorie.com>2006-04-07 01:08:34 +0000
commit961695fc739dd9f818c50a3810347f41e58b737c (patch)
tree45199c3de048f19fcced128d97af1edf0815f177 /bfd/elf32-m32c.c
parent5d2c876231c2ffd1ce5e84d7d309918c71b1da24 (diff)
downloadbinutils-redhat-961695fc739dd9f818c50a3810347f41e58b737c.tar.gz
* 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 f56efd2e4d..5e9f3ab28a 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;