diff options
author | Alan Modra <amodra@bigpond.net.au> | 2012-10-26 03:40:36 +0000 |
---|---|---|
committer | Alan Modra <amodra@bigpond.net.au> | 2012-10-26 03:40:36 +0000 |
commit | 2e8c333d901c35f790601aa72b0ff4dc7dfb2225 (patch) | |
tree | e75c4ae6d70944d447a029794c6ba1bb80a33a4e /gas | |
parent | 0d79cdb2e17eaca0ff26f86840979729370e6b5a (diff) | |
download | binutils-redhat-2e8c333d901c35f790601aa72b0ff4dc7dfb2225.tar.gz |
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/ChangeLog | 7 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 5 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 035a9cc306..7b85c7cf5e 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 2820c31bde..62c4791b2b 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) { |