mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-18 12:24:38 +08:00
506b86a4f5
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. |
||
---|---|---|
bfd | ||
binutils | ||
config | ||
contrib | ||
cpu | ||
elfcpp | ||
etc | ||
gas | ||
gdb | ||
gold | ||
gprof | ||
include | ||
intl | ||
ld | ||
libdecnumber | ||
libiberty | ||
opcodes | ||
readline | ||
sim | ||
texinfo | ||
zlib | ||
.cvsignore | ||
.gitattributes | ||
.gitignore | ||
ar-lib | ||
ChangeLog | ||
compile | ||
config-ml.in | ||
config.guess | ||
config.rpath | ||
config.sub | ||
configure | ||
configure.ac | ||
COPYING | ||
COPYING3 | ||
COPYING3.LIB | ||
COPYING.LIB | ||
COPYING.LIBGLOSS | ||
COPYING.NEWLIB | ||
depcomp | ||
djunpack.bat | ||
install-sh | ||
libtool.m4 | ||
lt~obsolete.m4 | ||
ltgcc.m4 | ||
ltmain.sh | ||
ltoptions.m4 | ||
ltsugar.m4 | ||
ltversion.m4 | ||
MAINTAINERS | ||
Makefile.def | ||
Makefile.in | ||
Makefile.tpl | ||
makefile.vms | ||
missing | ||
mkdep | ||
mkinstalldirs | ||
move-if-change | ||
README | ||
README-maintainer-mode | ||
setup.com | ||
src-release.sh | ||
symlink-tree | ||
test-driver | ||
ylwrap |
README for GNU development tools This directory contains various GNU compilers, assemblers, linkers, debuggers, etc., plus their support routines, definitions, and documentation. If you are receiving this as part of a GDB release, see the file gdb/README. If with a binutils release, see binutils/README; if with a libg++ release, see libg++/README, etc. That'll give you info about this package -- supported targets, how to use it, how to report bugs, etc. It is now possible to automatically configure and build a variety of tools with one command. To build all of the tools contained herein, run the ``configure'' script here, e.g.: ./configure make To install them (by default in /usr/local/bin, /usr/local/lib, etc), then do: make install (If the configure script can't determine your type of computer, give it the name as an argument, for instance ``./configure sun4''. You can use the script ``config.sub'' to test whether a name is recognized; if it is, config.sub translates it to a triplet specifying CPU, vendor, and OS.) If you have more than one compiler on your system, it is often best to explicitly set CC in the environment before running configure, and to also set CC when running make. For example (assuming sh/bash/ksh): CC=gcc ./configure make A similar example using csh: setenv CC gcc ./configure make Much of the code and documentation enclosed is copyright by the Free Software Foundation, Inc. See the file COPYING or COPYING.LIB in the various directories, for a description of the GNU General Public License terms under which you can copy the files. REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info on where and how to report problems.