diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2004-06-09 08:31:28 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@redhat.com> | 2004-06-09 08:31:28 +0000 |
commit | a873f25a2297eca984e951075e5c0c367d07bcc8 (patch) | |
tree | 8829a08e7f4b8703932da8dcb3a78292a12ba28e /bfd | |
parent | 651c27e6db7b103223a7cbeb7879b2d852675ba2 (diff) | |
download | binutils-a873f25a2297eca984e951075e5c0c367d07bcc8.zip binutils-a873f25a2297eca984e951075e5c0c367d07bcc8.tar.gz binutils-a873f25a2297eca984e951075e5c0c367d07bcc8.tar.bz2 |
* elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
(elf_backend_reloc_type_class): New.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf-m10300.c | 22 |
2 files changed, 27 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 8fda1ff..4d2a84a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2004-06-09 Alexandre Oliva <aoliva@redhat.com> + + * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New. + (elf_backend_reloc_type_class): New. + 2004-06-08 Mark Kettenis <kettenis@gnu.org> * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index d61df46..9f5ab83 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -4866,6 +4866,25 @@ _bfd_mn10300_elf_finish_dynamic_sections (output_bfd, info) return TRUE; } +/* Classify relocation types, such that combreloc can sort them + properly. */ + +static enum elf_reloc_type_class +_bfd_mn10300_elf_reloc_type_class (const Elf_Internal_Rela *rela) +{ + switch ((int) ELF32_R_TYPE (rela->r_info)) + { + case R_MN10300_RELATIVE: + return reloc_class_relative; + case R_MN10300_JMP_SLOT: + return reloc_class_plt; + case R_MN10300_COPY: + return reloc_class_copy; + default: + return reloc_class_normal; + } +} + #ifndef ELF_ARCH #define TARGET_LITTLE_SYM bfd_elf32_mn10300_vec #define TARGET_LITTLE_NAME "elf32-mn10300" @@ -4914,6 +4933,9 @@ _bfd_mn10300_elf_finish_dynamic_sections (output_bfd, info) #define elf_backend_finish_dynamic_sections \ _bfd_mn10300_elf_finish_dynamic_sections +#define elf_backend_reloc_type_class \ + _bfd_mn10300_elf_reloc_type_class + #define elf_backend_want_got_plt 1 #define elf_backend_plt_readonly 1 #define elf_backend_want_plt_sym 0 |