diff options
author | Stu Grossman <grossman@cygnus> | 1996-10-15 23:19:29 +0000 |
---|---|---|
committer | Stu Grossman <grossman@cygnus> | 1996-10-15 23:19:29 +0000 |
commit | 1336da39bdff0b483b302de0ec43f482a6d770a9 (patch) | |
tree | 12e99884ce5bd6981c0ce5f53acb1cbbdb0c05d3 /bfd | |
parent | 03e2a8c8a0a5cebf068c6bde3a643ba58390fa43 (diff) | |
download | gdb-1336da39bdff0b483b302de0ec43f482a6d770a9.zip gdb-1336da39bdff0b483b302de0ec43f482a6d770a9.tar.gz gdb-1336da39bdff0b483b302de0ec43f482a6d770a9.tar.bz2 |
* elf32-v850.c: Define elf_symbol_leading_char to be '_'.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-v850.c | 19 |
2 files changed, 25 insertions, 0 deletions
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 <ian@cygnus.com> * 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" |