diff options
author | Paul Brook <paul@codesourcery.com> | 2006-07-18 16:45:51 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2006-07-18 16:45:51 +0000 |
commit | 38a4d6952453498a6d2b4ab05d87bf64cb1b1a89 (patch) | |
tree | f6878029f9fcf5ceb61b2ea2e9f5c362d313a94a | |
parent | a4ff94d30506566e1901dfad09840007a0b01f57 (diff) | |
download | gdb-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.csl | 19 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 1 | ||||
-rw-r--r-- | bfd/libbfd.h | 1 | ||||
-rw-r--r-- | bfd/reloc.c | 2 |
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 |