mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-07 13:39:43 +08:00
power10 on ppc32
We don't support power10 on ppc32, mainly because some instructions have 34-bit fields for which we don't have relocations on ppc32. If you try to assemble typical code, you'll see errors saying "reloc ... not supported by object file format". Also, on 32-bit hosts with binutils configured without a 64-bit bfd, you'll see errors saying "bignum invalid" when using large offsets. But let's not kill output of prefix insns entirely on 32-bit hosts. * config/tc-ppc.c (md_assemble): Emit prefix insn by parts when valueT is smaller than 64 bits.
This commit is contained in:
parent
6a1ed9106f
commit
15a32af52f
@ -1,3 +1,8 @@
|
||||
2020-09-09 Alan Modra <amodra@gmail.com>
|
||||
|
||||
* config/tc-ppc.c (md_assemble): Emit prefix insn by parts when
|
||||
valueT is smaller than 64 bits.
|
||||
|
||||
2020-09-07 Cooper Qu <cooper.qu@linux.alibaba.com>
|
||||
|
||||
* config/tc-csky.c (CSKYV2_ISA_DSP): CSKY_ISA_DSPE60.
|
||||
|
@ -3882,7 +3882,8 @@ md_assemble (char *str)
|
||||
|
||||
/* The prefix part of an 8-byte instruction always occupies the lower
|
||||
addressed word in a doubleword, regardless of endianness. */
|
||||
if (!target_big_endian && insn_length == 8)
|
||||
if (insn_length == 8
|
||||
&& (sizeof (insn) > sizeof (valueT) || !target_big_endian))
|
||||
{
|
||||
md_number_to_chars (f, PPC_GET_PREFIX (insn), 4);
|
||||
md_number_to_chars (f + 4, PPC_GET_SUFFIX (insn), 4);
|
||||
|
Loading…
Reference in New Issue
Block a user