Commit graph

3 commits

Author SHA1 Message Date
Alan Modra
8c9604b6a2 Adjust some strip testcases to silence h8300 warnings
* testsuite/binutils-all/strip-13mips64.s: Add section flags
	for reloc section.
	* testsuite/binutils-all/strip-13rel.s: Likewise.
	* testsuite/binutils-all/strip-13rela.s: Likewise.
	* testsuite/binutils-all/strip-14mips64.s: Likewise.
	* testsuite/binutils-all/strip-14rel.s: Likewise.
	* testsuite/binutils-all/strip-14rela.s: Likewise.
	* testsuite/binutils-all/strip-15mips64.s: Likewise.
	* testsuite/binutils-all/strip-15rel.s: Likewise.
	* testsuite/binutils-all/strip-15rela.s: Likewise.
2018-09-17 23:16:48 +09:30
Alan Modra
506b86a4f5 binutils testsuite strip-13 test
The strip-13 test runs into difficulty using dc.a on some targets.
dc.a writes a power of 2 number of bytes large enough to contain a
target address.  On some targets, eg. avr-elf, this can be 2 bytes but
the ELF format used require words of 4 bytes to make up a relocation
entry.  There was a hack in the test, duplicating the reloc type into
what is normally the addend to make the test work when little-endian,
but that hack fails for similar big-endian targets.

This patch fixes that problem by arranging to emit 32-bit and 64-bit
ELF relocs using .4byte and .8byte directives, chosen as appropriate
for the ELF size.  I've also bumped the reloc number tested to a
higher unused value, and made the number more easily parameterised by
target should that be necessary in the future.  Whether REL or RELA
relocs are used is now chosen by a new is_rela readelf test of an
object file, rather than by lists of targets.

	* testsuite/lib/binutils-common.exp (is_elf64): Use directory of
	input file for readelf.out.
	(is_rela): New proc.
	* testsuite/binutils-all/objcopy.exp (elf64): Set new variable
	from first result of is_elf64 test.
	(reloc_format): Set using is_rela.
	(strip-13): Pass RELOC and ELF64 to assembler.
	(strip-14, strip-15): Use elf64 rather than calling is_elf64 again.
	* testsuite/binutils-all/strip-13.d: Run for more targets.
	* testsuite/binutils-all/strip-13mips64.s: Use RELOC and set
	addend to zero.
	* testsuite/binutils-all/strip-13rel.s: Use RELOC and ELF64.
	Don't add _NONE reloc.
	* testsuite/binutils-all/strip-13rela.s: Likewise.
2018-08-18 13:46:32 +09:30
Maciej W. Rozycki
2f8ceb3899 binutils/testsuite: Support REL and MIPS64 reloc formats with `strip-13'
Add source variants for the `strip-13' test that produce relocations in
the REL and MIPS64 formats, fixing a failure for the `mips64el-openbsd'
target.  This also corrects output for `i*86-*', `i960-*', `m6812-*' and
`m68hc12-*', o32 `mips*-*', and `score*-*' targets, which however does
not show up as a test result change due to lax error message matching
causing `bad value' previously produced by `strip' as a result of input
file rejection to be accepted as a test pass.

For `m6811-*' aka `m68hc11-*' targets this causes a phantom regression,
because they use 16-bit addressing and therefore `.dc.a' emits 16-bit
quantities causing relocation data constructed in assembly not to be as
expected.  Previously input was rejected by `strip' with a `bad value'
message and now it is accepted, however due to the relocation data error
the relocation number is not one of the unsupported ones and the tool
completes successfully, which scores as a test failure.

Disable the test case for `m6811-*' and `m68hc11-*' targets then, as it
is a test case bug rather than a problem with the relevant backend.  A
separate change to the test case is required to correct this problem, at
which point the test case can be enabled for the affected targets.

	binutils/
	* testsuite/binutils-all/strip-13.s: Rename to...
	* testsuite/binutils-all/strip-13rela.s: ... this.
	* testsuite/binutils-all/strip-13rel.s: New test source.
	* testsuite/binutils-all/strip-13mips64.s: New test source.
	* testsuite/binutils-all/strip-13.d: Remove `arm-*', `d10v-*',
	`dlx-*' and `xgate-*' from `not-target' list.  Add `m6811-*' and
	`m68hc11-*' to `not-target' list.
	* testsuite/binutils-all/objcopy.exp: Switch between sources for
	`strip-13'.
2018-04-05 13:08:35 +01:00
Renamed from binutils/testsuite/binutils-all/strip-13.s (Browse further)