aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2013-04-03 14:42:10 +0000
committerNick Clifton <nickc@redhat.com>2013-04-03 14:42:10 +0000
commit41702d50f7b112ca176a93d79121c2f5a1dc9606 (patch)
tree17cdbf1ea369323f131270af8632bf410339ad0f /bfd
parentcb8af559c12b9a85acb429fed4d59e858574a43c (diff)
downloadgdb-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/ChangeLog5
-rw-r--r--bfd/elf32-v850.c8
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