summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2006-07-18 16:45:51 +0000
committerPaul Brook <paul@codesourcery.com>2006-07-18 16:45:51 +0000
commit38a4d6952453498a6d2b4ab05d87bf64cb1b1a89 (patch)
treef6878029f9fcf5ceb61b2ea2e9f5c362d313a94a
parenta4ff94d30506566e1901dfad09840007a0b01f57 (diff)
downloadgdb-38a4d6952453498a6d2b4ab05d87bf64cb1b1a89.tar.gz
2006-07-18 Paul Brook <paul@codesourcery.com>
Merge from mainline. bfd/ * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM. gas/ * tc-arm.c (do_t_add_sub): Use addw/subw when source is PC. (md_convert_frag): Use correct reloc for add_pc. Use BFD_RELOC_ARM_T32_ADD_IMM for normal add/sum. (md_apply_fix): Handle BFD_RELOC_ARM_T32_ADD_IMM. (arm_force_relocation): Handle BFD_RELOC_ARM_T32_ADD_IMM. gas/testsuite/ * gas/arm/thumb2_add.d: New test. * gas/arm/thumb2_add.s: New test.
-rw-r--r--ChangeLog.csl19
-rw-r--r--bfd/bfd-in2.h1
-rw-r--r--bfd/libbfd.h1
-rw-r--r--bfd/reloc.c2
4 files changed, 23 insertions, 0 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
index 3e67bf32efd..8d1358d6edb 100644
--- a/ChangeLog.csl
+++ b/ChangeLog.csl
@@ -1,3 +1,22 @@
+2006-07-18 Paul Brook <paul@codesourcery.com>
+
+ Merge from mainline.
+ bfd/
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * reloc.c: Add BFD_RELOC_ARM_T32_ADD_IMM.
+
+ gas/
+ * tc-arm.c (do_t_add_sub): Use addw/subw when source is PC.
+ (md_convert_frag): Use correct reloc for add_pc. Use
+ BFD_RELOC_ARM_T32_ADD_IMM for normal add/sum.
+ (md_apply_fix): Handle BFD_RELOC_ARM_T32_ADD_IMM.
+ (arm_force_relocation): Handle BFD_RELOC_ARM_T32_ADD_IMM.
+
+ gas/testsuite/
+ * gas/arm/thumb2_add.d: New test.
+ * gas/arm/thumb2_add.s: New test.
+
2006-07-14 Nathan Sidwell <nathan@codesourcery.com>
bfd/
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index ffb6e8e15ac..5560fed0d03 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2961,6 +2961,7 @@ pc-relative or some form of GOT-indirect relocation. */
BFD_RELOC_ARM_IMMEDIATE,
BFD_RELOC_ARM_ADRL_IMMEDIATE,
BFD_RELOC_ARM_T32_IMMEDIATE,
+ BFD_RELOC_ARM_T32_ADD_IMM,
BFD_RELOC_ARM_T32_IMM12,
BFD_RELOC_ARM_T32_ADD_PC12,
BFD_RELOC_ARM_SHIFT_IMM,
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index a587d802bf0..c303c31290b 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -1252,6 +1252,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_ARM_IMMEDIATE",
"BFD_RELOC_ARM_ADRL_IMMEDIATE",
"BFD_RELOC_ARM_T32_IMMEDIATE",
+ "BFD_RELOC_ARM_T32_ADD_IMM",
"BFD_RELOC_ARM_T32_IMM12",
"BFD_RELOC_ARM_T32_ADD_PC12",
"BFD_RELOC_ARM_SHIFT_IMM",
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 6925bf6cf21..24797828098 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -2804,6 +2804,8 @@ ENUMX
ENUMX
BFD_RELOC_ARM_T32_IMMEDIATE
ENUMX
+ BFD_RELOC_ARM_T32_ADD_IMM
+ENUMX
BFD_RELOC_ARM_T32_IMM12
ENUMX
BFD_RELOC_ARM_T32_ADD_PC12