For one
0afc614c9938 ("x86: Warn .insn instruction with length > 15
bytes") introduced a .insn use involving a slash; such tests need to
have --divide passed to gas.
And then
5bc71c2a6b8e ("x86-64: Add R_X86_64_CODE_6_GOTTPOFF") broke
BFD_RELOC_X86_64_GOTTPOFF conversion to R_X86_64_CODE_4_GOTTPOFF, by
adding respective code in a section guarded by
generate_relax_relocations (the case of that not being required there
was limited to 32-bit object files). Re-arrange that block of code to
check generate_relax_relocations later.
instructions without data prefix. Always generate
R_386_GOT32X for "sym*GOT" operand in 32-bit mode. */
if (i.prefix[DATA_PREFIX] == 0
- && (generate_relax_relocations
- || (!object_64bit
- && i.rm.mode == 0
- && i.rm.regmem == 5))
&& (i.rm.mode == 2
|| (i.rm.mode == 0 && i.rm.regmem == 5))
&& i.tm.opcode_space == SPACE_BASE
if (is_apx_rex2_encoding ())
fixP->fx_tcbit = 1;
}
- else
+ else if (generate_relax_relocations)
{
/* Set fx_tcbit3 for REX2 prefix. */
if (is_apx_rex2_encoding ())
fixP->fx_tcbit = 1;
}
}
- else
+ else if (generate_relax_relocations
+ || (i.rm.mode == 0 && i.rm.regmem == 5))
fixP->fx_tcbit2 = 1;
}
}
run_list_test "x86-64-suffix-bad"
run_list_test "unspec64" ""
run_list_test "prefix64" "-al"
-run_list_test "oversized64" "-al"
+run_list_test "oversized64" "-al --divide"
run_dump_test "x86-64-fxsave"
run_dump_test "x86-64-fxsave-intel"
run_dump_test "x86-64-arch-1"