Binutils with MCST patches
Go to file
Nick Clifton 906e58cab5 bfd/
* elf32-arm.c (THM2_MAX_FWD_BRANCH_OFFSET): Define.
        (THM2_MAX_BWD_BRANCH_OFFSET): Define.
        (ARM_MAX_FWD_BRANCH_OFFSET): Define.
        (ARM_MAX_BWD_BRANCH_OFFSET): Define.
        (THM_MAX_FWD_BRANCH_OFFSET): Define.
        (THM_MAX_BWD_BRANCH_OFFSET): Define.
        (arm_long_branch_stub): Define.
        (arm_pic_long_branch_stub): Define.
        (arm_thumb_v4t_long_branch_stub): Define.
        (arm_thumb_thumb_long_branch_stub): Define.
        (arm_thumb_arm_v4t_long_branch_stub): Define.
        (STUB_SUFFIX): Define.
        (elf32_arm_stub_type): Define.
        (elf32_arm_stub_hash_entry): Define.
        (elf32_arm_link_hash_entry): Add stub_cache field.
        (arm_stub_hash_lookup): Define.
        (elf32_arm_link_hash_table): Add stub_hash_table, stub_bfd,
        add_stub_section, layout_sections_again, stub_group, bfd_count,
        top_index, input_list fields.
        (elf32_arm_link_hash_newfunc): Init new field.
        (stub_hash_newfunc): New function.
        (elf32_arm_link_hash_table_create): Init stub_hash_table.
        (elf32_arm_hash_table_free): New function.
        (arm_type_of_stub): New function.
        (elf32_arm_stub_name): New function.
        (elf32_arm_get_stub_entry): New function.
        (elf32_arm_stub_add_mapping_symbol): New function.
        (elf32_arm_add_stub): New function.
        (arm_build_one_stub): New function.
        (arm_size_one_stub): New function.
        (elf32_arm_setup_section_lists): New function.
        (elf32_arm_next_input_section): New function.
        (group_sections): New function.
        (elf32_arm_size_stubs): New function.
        (elf32_arm_build_stubs): New function.
        (bfd_elf32_arm_add_glue_sections_to_bfd): Skip stub sections.
        (bfd_elf32_arm_process_before_allocation): No longer handle
        R_ARM_CALL and R_ARM_THM_CALL.
        (using_thumb_only): New function.
        (elf32_arm_final_link_relocate): Redirect calls to stub if range
        exceeds encoding capabilities.
        (bfd_elf32_bfd_link_hash_table_free): Define.
        * bfd-in.h (R_ARM_max): Fix value to 130.
        (elf32_arm_setup_section_lists): Protype.
        (elf32_arm_next_input_section): Protype.
        (elf32_arm_size_stubs): Protype.
        (elf32_arm_build_stubs): Protype.

        ld/
        * emultempl/armelf.em (build_section_lists): New function.
        (stub_file): Define.
        (need_laying_out): Define.
        (group_size): Define.
        (hook_stub_info): Define.
        (hook_in_stub): New function.
        (elf32_arm_add_stub_section): New function.
        (gldarm_layout_sections_again): New function.
        (gld${EMULATION_NAME}_finish): Replace arm_elf_finish(). Generate
        stubs for long calls if needed.
        (arm_elf_create_output_section_statements): create stub_file bfd.
        (arm_for_each_input_file_wrapper): New function.
        (arm_lang_for_each_input_file): New function.
        (lang_for_each_input_file): Define.
        (PARSE_AND_LIST_PROLOGUE): Add option token OPTION_STUBGROUP_SIZE.
        (PARSE_AND_LIST_LONGOPTS): Add option stub-group-size.
        (PARSE_AND_LIST_OPTIONS): Add option stub-group-size.
        (PARSE_AND_LIST_ARGS_CASES): Add OPTION_STUBGROUP_SIZE case.
        (LDEMUL_FINISH): Update to gld${EMULATION_NAME}_finish.
        * ld/lang.c (print_input_statement): Skip if bfd has
        BFD_LINKER_CREATED.

        ld/testsuite
        * ld-arm/arm-elf.exp (armelftests): Add farcall-arm-arm,
        farcall-arm-arm-pic-veneer, farcall-arm-arm-be8 farcall-arm-thumb,
        farcall-arm-thumb-blx, farcall-arm-thumb-pic-veneer,
        farcall-arm-thumb-blx-pic-veneer, farcall-thumb-thumb,
        farcall-thumb-thumb-pic-veneer, farcall-thumb-thumb-blx,
        farcall-thumb-thumb-m, farcall-thumb-thumb-m-pic-veneer,
        farcall-thumb-thumb-blx-pic-veneer, farcall-thumb-arm,
        farcall-thumb-arm-pic-veneer, farcall-thumb-arm-blx,
        farcall-thumb-arm-blx-pic-veneer.
        Change thumb2-bl-as-thumb1-bad, thumb2-bl-bad.
        * ld-arm/thumb2-bl-as-thumb1-bad.d: Reflects farcall stub
        generation.
        * ld-arm/thumb2-bl-bad.d: Likewise.
        * ld-arm/thumb2-bl-as-thumb1-bad.s: Update comments.
        * ld-arm/thumb2-bl-bad.s: Likewise.
2008-05-15 17:00:15 +00:00
bfd bfd/ 2008-05-15 17:00:15 +00:00
binutils update dependencies 2008-05-14 06:45:42 +00:00
config 2008-05-12 Samuel Tardieu <sam@rfc1149.net> 2008-05-12 16:25:40 +00:00
cpu * mt.opc (parse_imm16): Apply 2007-09-26 opcodes/mt-asm.c change 2008-01-29 03:50:23 +00:00
elfcpp * elfcpp_file.h (class Elf_file): Add large_shndx_offset_ field. 2008-04-19 18:33:19 +00:00
etc * standards.texi: Import 22 July 2007 version. 2007-08-13 09:45:22 +00:00
gas update dependencies 2008-05-14 06:45:42 +00:00
gdb * dbxread.c: Formatting. 2008-05-15 13:23:34 +00:00
gold PR 6493 2008-05-09 14:13:06 +00:00
gprof update dependencies 2008-05-14 06:45:42 +00:00
include * mips.h (INSN_MACRO): Move it up to the the pinfo macros. 2008-04-28 16:59:27 +00:00
intl merge from gcc 2008-04-18 15:14:13 +00:00
ld bfd/ 2008-05-15 17:00:15 +00:00
libdecnumber merge from gcc 2008-04-18 15:14:13 +00:00
libiberty merge from gcc 2008-04-21 22:30:17 +00:00
opcodes update dependencies 2008-05-14 06:45:42 +00:00
readline PR gdb/544 2008-03-24 12:59:51 +00:00
sim * ppc/altivec.igen (vperm): Latch inputs into temporaries. 2008-05-09 15:03:09 +00:00
texinfo
.cvsignore
COPYING
COPYING.LIB
COPYING.LIBGLOSS 2007-12-19 Jeff Johnston <jjohnstn@redhat.com> 2007-12-19 20:47:45 +00:00
COPYING.NEWLIB 2007-12-19 Jeff Johnston <jjohnstn@redhat.com> 2007-12-19 19:12:23 +00:00
COPYING3 * COPYING3: New file. Contains version 3 of the GNU General Public License. 2007-07-17 13:50:23 +00:00
COPYING3.LIB * COPYING3: New file. Contains version 3 of the GNU General Public License. 2007-07-17 13:50:23 +00:00
ChangeLog * src-release (BINUTILS_SUPPORT_DIRS): Add elfcpp and gold. 2008-05-12 04:12:15 +00:00
MAINTAINERS * MAINTAINERS: Replace reference to configure.in with reference to configure.ac. 2008-04-18 08:55:06 +00:00
Makefile.def * Makefile.def: check-gold depends upon all-binutils. 2008-04-07 21:58:34 +00:00
Makefile.in 2008-04-18 Paolo Bonzini <bonzini@gnu.org> 2008-04-18 11:07:31 +00:00
Makefile.tpl 2008-04-18 Paolo Bonzini <bonzini@gnu.org> 2008-04-18 11:07:31 +00:00
README
README-maintainer-mode
compile
config-ml.in 2007-11-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2007-11-29 15:36:39 +00:00
config.guess * config.sub, config.guess: Update from upstream sources. 2008-04-14 09:28:35 +00:00
config.rpath * config.rpath: Add AIX 6 support. 2008-03-13 19:27:44 +00:00
config.sub * config.sub, config.guess: Update from upstream sources. 2008-04-14 09:28:35 +00:00
configure 2008-04-18 Paolo Bonzini <bonzini@gnu.org> 2008-04-18 11:07:31 +00:00
configure.ac 2008-04-18 Paolo Bonzini <bonzini@gnu.org> 2008-04-18 11:07:31 +00:00
depcomp
djunpack.bat
install-sh
libtool.m4 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2008-03-16 06:49:28 +00:00
ltgcc.m4 2007-05-31 Paolo Bonzini <bonzini@gnu.org> 2007-05-31 06:40:36 +00:00
ltmain.sh 2007-05-25 Andreas Tobler <a.tobler@schweiz.org> 2007-05-25 19:56:24 +00:00
ltoptions.m4 * ltmain.sh: Update from GCC. 2007-05-24 17:33:42 +00:00
ltsugar.m4 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2008-03-16 06:49:28 +00:00
ltversion.m4 * ltmain.sh: Update from GCC. 2007-05-24 17:33:42 +00:00
lt~obsolete.m4 2007-07-05 H.J. Lu <hongjiu.lu@intel.com> 2007-07-05 17:57:04 +00:00
makefile.vms
missing
mkdep
mkinstalldirs
move-if-change
setup.com
src-release * src-release (BINUTILS_SUPPORT_DIRS): Add elfcpp and gold. 2008-05-12 04:12:15 +00:00
symlink-tree
ylwrap

README

		   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.