diff options
author | Nick Clifton <nickc@redhat.com> | 2013-04-03 14:42:10 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2013-04-03 14:42:10 +0000 |
commit | 41702d50f7b112ca176a93d79121c2f5a1dc9606 (patch) | |
tree | 17cdbf1ea369323f131270af8632bf410339ad0f /bfd | |
parent | cb8af559c12b9a85acb429fed4d59e858574a43c (diff) | |
download | gdb-41702d50f7b112ca176a93d79121c2f5a1dc9606.zip gdb-41702d50f7b112ca176a93d79121c2f5a1dc9606.tar.gz gdb-41702d50f7b112ca176a93d79121c2f5a1dc9606.tar.bz2 |
* elf32-v850.c (v850_elf_is_target_special_symbol): New function.
(bfd_elf32_bfd_is_target_special_symbol): Define.
* v850.h (V850_INVERSE_PCREL): Define.
* v850-dis.c (print_value): With V850_INVERSE_PCREL compute the
destination address by subtracting the operand from the current
address.
* v850-opc.c (insert_u16_loop): Disallow negative offsets. Store
a positive value in the insn.
(extract_u16_loop): Do not negate the returned value.
(D16_LOOP): Add V850_INVERSE_PCREL flag.
(ceilf.sw): Remove duplicate entry.
(cvtf.hs): New entry.
(cvtf.sh): Likewise.
(fmaf.s): Likewise.
(fmsf.s): Likewise.
(fnmaf.s): Likewise.
(fnmsf.s): Likewise.
(maddf.s): Restrict to E3V5 architectures.
(msubf.s): Likewise.
(nmaddf.s): Likewise.
(nmsubf.s): Likewise.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-v850.c | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bbcb8b5..c2a14b0 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2013-04-03 Nick Clifton <nickc@redhat.com> + + * elf32-v850.c (v850_elf_is_target_special_symbol): New function. + (bfd_elf32_bfd_is_target_special_symbol): Define. + 2013-04-03 Venkataramanan Kumar <venkataramanan.kumar@linaro.org> * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c index c0c6498..7516ceb 100644 --- a/bfd/elf32-v850.c +++ b/bfd/elf32-v850.c @@ -1920,6 +1920,12 @@ v850_elf_is_local_label_name (bfd *abfd ATTRIBUTE_UNUSED, const char *name) return ( (name[0] == '.' && (name[1] == 'L' || name[1] == '.')) || (name[0] == '_' && name[1] == '.' && name[2] == 'L' && name[3] == '_')); } + +static bfd_boolean +v850_elf_is_target_special_symbol (bfd *abfd, asymbol *sym) +{ + return v850_elf_is_local_label_name (abfd, sym->name); +} /* We overload some of the bfd_reloc error codes for own purposes. */ #define bfd_reloc_gp_not_found bfd_reloc_other @@ -3791,6 +3797,8 @@ static const struct bfd_elf_special_section v850_elf_special_sections[] = #define elf_backend_rela_normal 1 #define bfd_elf32_bfd_is_local_label_name v850_elf_is_local_label_name +#define bfd_elf32_bfd_is_target_special_symbol v850_elf_is_target_special_symbol + #define bfd_elf32_bfd_reloc_type_lookup v850_elf_reloc_type_lookup #define bfd_elf32_bfd_reloc_name_lookup v850_elf_reloc_name_lookup #define bfd_elf32_bfd_merge_private_bfd_data v850_elf_merge_private_bfd_data |