aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2012-10-26 03:40:37 +0000
committerAlan Modra <amodra@gmail.com>2012-10-26 03:40:37 +0000
commit1fe532cf6090bf2babd3c630e07b3c8f01c2c333 (patch)
treeec8b18a05cdfe31c6c11267968145f84a25118ce /gas
parente3b0b0abf987d925f2a79bceea08ff2cb566253a (diff)
downloadgdb-1fe532cf6090bf2babd3c630e07b3c8f01c2c333.zip
gdb-1fe532cf6090bf2babd3c630e07b3c8f01c2c333.tar.gz
gdb-1fe532cf6090bf2babd3c630e07b3c8f01c2c333.tar.bz2
PR target/14758
bfd/ * elf32-ppc.c (ppc_elf_reloc_type_lookup): Decode ppc64 _DS bfd_reloc values. Map to corresponding D-form relocs. (is_insn_ds_form, is_insn_qs_form): New functions. (ppc_elf_relocate_section): Validate insn with DS-form or DQ-form fields using D-form reloc. gas/ * config/tc-ppc.c (ppc_setup_opcodes): Fix comment. (md_assemble): Translate to _DS relocs for ppc32 as well as ppc64. (tc_gen_reloc): Handle _DS relocs in ppc32 mode.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-ppc.c5
2 files changed, 9 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 035a9cc..7b85c7c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2012-10-26 Alan Modra <amodra@gmail.com>
+
+ PR target/14758
+ * config/tc-ppc.c (ppc_setup_opcodes): Fix comment.
+ (md_assemble): Translate to _DS relocs for ppc32 as well as ppc64.
+ (tc_gen_reloc): Handle _DS relocs in ppc32 mode.
+
2012-10-22 Simon Baldwin <simonb@google.com>
* as.c (dump_statistics): Compute data size as the delta between
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 2820c31..62c4791 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1513,7 +1513,7 @@ insn_validate (const struct powerpc_opcode *op)
}
/* Insert opcodes and macros into hash tables. Called at startup and
- for .cpu pseudo. */
+ for .machine pseudo. */
static void
ppc_setup_opcodes (void)
@@ -3062,8 +3062,7 @@ md_assemble (char *str)
break;
}
- if (ppc_obj64
- && (operand->flags & (PPC_OPERAND_DS | PPC_OPERAND_DQ)) != 0)
+ if ((operand->flags & (PPC_OPERAND_DS | PPC_OPERAND_DQ)) != 0)
{
switch (reloc)
{