From 1336da39bdff0b483b302de0ec43f482a6d770a9 Mon Sep 17 00:00:00 2001 From: Stu Grossman Date: Tue, 15 Oct 1996 23:19:29 +0000 Subject: [PATCH] * elf32-v850.c: Define elf_symbol_leading_char to be '_'. --- bfd/ChangeLog | 6 ++++++ bfd/elf32-v850.c | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d2049ea..245b7bb 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +start-sanitize-v850 +Tue Oct 15 16:17:28 1996 Stu Grossman (grossman@critters.cygnus.com) + + * elf32-v850.c: Define elf_symbol_leading_char to be '_'. + +end-sanitize-v850 Tue Oct 15 12:40:41 1996 Ian Lance Taylor * VERSION: Bump for new relocation. diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c index 4c42d6d..626a21d 100644 --- a/bfd/elf32-v850.c +++ b/bfd/elf32-v850.c @@ -328,12 +328,14 @@ bfd_elf32_v850_reloc (abfd, reloc, symbol, data, isection, obfd, err) } else if (reloc->howto->type == R_V850_HI16_S) { + relocation += bfd_get_16 (abfd, (bfd_byte *) data + reloc->address); relocation = (relocation >> 16) + ((relocation & 0x8000) != 0); bfd_put_16 (abfd, relocation, (bfd_byte *)data + reloc->address); return bfd_reloc_ok; } else if (reloc->howto->type == R_V850_HI16) { + relocation += bfd_get_16 (abfd, (bfd_byte *) data + reloc->address); relocation = (relocation >> 16); bfd_put_16 (abfd, relocation, (bfd_byte *)data + reloc->address); return bfd_reloc_ok; @@ -343,6 +345,21 @@ bfd_elf32_v850_reloc (abfd, reloc, symbol, data, isection, obfd, err) return bfd_reloc_continue; } +static boolean bfd_elf32_v850_is_local_label PARAMS ((bfd *, asymbol *)); + +/*ARGSUSED*/ +static boolean +bfd_elf32_v850_is_local_label (abfd, symbol) + bfd *abfd; + asymbol *symbol; +{ + return ((symbol->name[0] == '.' && (symbol->name[1] == 'L' || symbol->name[1] == '.')) + || (symbol->name[0] == '_' && symbol->name[1] == '.' && symbol->name[2] == 'L' + && symbol->name[3] == '_')); +} + +#define bfd_elf32_bfd_is_local_label bfd_elf32_v850_is_local_label + #define TARGET_LITTLE_SYM bfd_elf32_v850_vec #define TARGET_LITTLE_NAME "elf32-v850" #define ELF_ARCH bfd_arch_v850 @@ -352,4 +369,6 @@ bfd_elf32_v850_reloc (abfd, reloc, symbol, data, isection, obfd, err) #define elf_info_to_howto 0 #define elf_info_to_howto_rel v850_info_to_howto_rel +#define elf_symbol_leading_char '_' + #include "elf32-target.h" -- 2.7.4