Binutils with MCST patches
Go to file
Alan Modra 65f38f15bf * elf64-ppc.c (struct ppc_dyn_relocs): New.
(IS_ABSOLUTE_RELOC): Define.
	(struct ppc_link_hash_entry): New.
	(struct ppc_link_hash_table): New.
	(ppc_hash_table): Define.
	(link_hash_newfunc): New function.
	(ppc64_elf_link_hash_table_create): New function.
	(create_got_section): New function.
	(ppc64_elf_create_dynamic_sections): Call create_got_section.  Stash
	pointers to our dynamic sections in hash table.
	(ppc64_elf_copy_indirect_symbol): New function.
	(ppc64_elf_check_relocs): Remove DEBUG code.  Use short-cuts to
	dynamic sections.  Localise vars.  Modify code for refcounts
	starting from zero.  Don't allocate here, or force symbols dynamic.
	Don't copy all relocs if shared, select ones we need.  Add code
	to track possible copy relocs for non-shared link.
	(ppc64_elf_gc_mark_hook): Update comment.
	(ppc64_elf_gc_sweep_hook): Sweep dynrelocs too.
	(ppc64_elf_adjust_dynamic_symbol): Remove DEBUG code.  Rewrite .plt
	code for reference counting garbage collection.  Don't create .plt
	entries for functions that don't comply with ABI naming convention,
	and don't allocate .plt space here.  Use short-cuts to dynamic
	sections.  If possible, keep dynamic relocations instead of using
	copy relocs.  Remove confused comments.
	(ppc_adjust_dynindx): Delete.
	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
	(allocate_dynrelocs): New function.
	(readonly_dynrelocs): New function.
	(ppc64_elf_size_dynamic_sections): Rewrite.  Allocate local .got
	space here, and call allocate_dynrelocs to allocate space for
	global .plt, .got and reloc sections.  Use short-cuts to dynamic
	sections.  Call readonly_dynrelocs to determine whether we need
	DT_TEXTREL.  Don't generate section symbols here, the generic
	ELF linker code does it for us.
	(ppc64_elf_final_link): Call regular ELF backend linker rather than
	gc variety, since we do our own .got handling.
	(ppc64_elf_relocate_section): Remove DEBUG code.  Make use of
	dynamic section short-cuts.  Localise vars, and delay setting.
	Handle unknown relocs in main switch statement.  Replace ugly
	complicated tests for unresolvable relocs with a simple direct
	scheme using "unresolved_reloc" var.  Test ELF_ST_VISIBILITY
	before allowing an undefined sym in a shared lib.  Do R_*_DS tests
	after main switch, when we've set addend.  Do non-addend insn
	tweaks before main swithc.  Ignore input_section->vma when
	calculating reloc offsets as it's always zero.  Rewrite dynamic
	reloc handling.  Consolidate R_*_HA handling.  Handle more relocs.
	(ppc64_elf_finish_dynamic_symbol): Remove DEBUG code.  Make use
	of dynamic section short-cuts.  Reorganise .plt handling code.
	Remove confused comments.  Take note of ELF_LINK_FORCED_LOCAL.
	Move expressions out of swap_reloca_out function calls.
	(ppc64_elf_reloc_type_class): New function.
	(ppc64_elf_info_to_howto): Move common expression to local var.
	(ppc64_elf_finish_dynamic_sections): Remove DEBUG code.  Make use
	of dynamic section short-cuts.  Don't fiddle with section syms
	here as the ELF linker does it for us.
	(elf_backend_can_refcount): Define.
	(bfd_elf64_bfd_link_hash_table_create): Define.
	(elf_backend_copy_indirect_symbol): Define.
	(elf_backend_reloc_type_class): Define.
	(elf_backend_*, bfd_elf64_bfd_* defines): Sort.
2001-09-29 06:49:16 +00:00
bfd * elf64-ppc.c (struct ppc_dyn_relocs): New. 2001-09-29 06:49:16 +00:00
binutils * objdump.c (dump_section_header): Dump SEC_ARCH_BIT_0. 2001-09-28 21:10:41 +00:00
config Add s390 support 2001-02-10 00:58:38 +00:00
etc oops - omitted from previous delta 2001-03-26 21:42:48 +00:00
gas Add missing function protoypes. 2001-09-27 09:58:01 +00:00
gdb *** empty log message *** 2001-09-29 00:00:04 +00:00
gprof Locale changes from Bruno Haible <haible@clisp.cons.org>. 2001-09-19 05:33:36 +00:00
include Remove spurious comment 2001-09-27 07:45:32 +00:00
intl Shouldn't have escaped. 1999-06-02 20:33:41 +00:00
ld * ldmisc.c (USE_STDARG): Remove. 2001-09-26 01:55:44 +00:00
libiberty merge from gcc 2001-09-29 03:19:56 +00:00
mmalloc * mmalloc/Makefile.in (install-info): Make sure $(infodir) exists. 2000-05-17 11:45:56 +00:00
opcodes * arc-dis.c: Formatting fixes. 2001-09-26 01:54:07 +00:00
readline Clone src/config.guess. Mention in MAINTAINERS. 2001-07-20 20:08:08 +00:00
sim Removed a section of code that didn't do anything, but left values in 2001-08-02 00:50:38 +00:00
texinfo Update texinfo.tex to version 2000-05-28.15. 2000-07-06 05:39:36 +00:00
.cvsignore Applied Stephane Carrez <Stephane.Carrez@worldnet.fr> patches to add support 2000-06-19 01:22:44 +00:00
COPYING 19990502 sourceware import 1999-05-03 07:29:11 +00:00
COPYING.LIB 19990502 sourceware import 1999-05-03 07:29:11 +00:00
COPYING.NEWLIB 2001-02-22 Jeff Johnston <jjohnstn@redhat.com> 2001-02-22 22:26:34 +00:00
ChangeLog * config.sub, config.guess: Import latest from subversions. 2001-09-28 21:04:51 +00:00
MAINTAINERS * MAINTAINERS: Clarify libiberty merge rules and procedures. 2001-07-26 14:20:05 +00:00
Makefile.in * Makefile.in (AS_FOR_TARGET, LD_FOR_TARGET, 2001-09-21 05:14:32 +00:00
README 19990502 sourceware import 1999-05-03 07:29:11 +00:00
README-maintainer-mode Add note about inability to use "make distclean" in maintainer mode. 2001-03-23 18:06:17 +00:00
config-ml.in * config-ml.in (CC, CXX): Avoid trailing whitespace. 2000-08-22 05:01:20 +00:00
config.guess * config.sub, config.guess: Import latest from subversions. 2001-09-28 21:04:51 +00:00
config.if 2001-05-14 H.J. Lu <hjl@gnu.org> 2001-05-14 16:40:49 +00:00
config.sub * config.sub, config.guess: Import latest from subversions. 2001-09-28 21:04:51 +00:00
configure * configure: Output host type to stdout, not stderr. 2001-02-07 01:06:43 +00:00
configure.in 2001-09-19 Ben Elliston <bje@redhat.com> 2001-09-19 06:07:36 +00:00
djunpack.bat * djunpack.bat: Change the Sed script to replace @V@ in fnchange.lst 2000-05-08 15:13:30 +00:00
gettext.m4 * ltconfig, ltmain.sh: Updated from libtool multi-language branch. 2000-08-31 09:25:11 +00:00
install-sh 19990502 sourceware import 1999-05-03 07:29:11 +00:00
libtool.m4 * ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh, 2001-05-20 19:02:56 +00:00
ltcf-c.sh * ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris, 2001-06-04 19:33:12 +00:00
ltcf-cxx.sh * ltcf-cxx.sh (osf3/osf4/osf5): Support creation of C++ shared 2001-05-28 21:05:35 +00:00
ltcf-gcj.sh * ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh, 2001-05-20 19:02:56 +00:00
ltconfig * ltconfig, ltmain.sh: Upgrade to libtool 1.4a 1.641.2.256. 2001-05-28 20:56:20 +00:00
ltmain.sh * ltconfig, ltmain.sh: Upgrade to libtool 1.4a 1.641.2.256. 2001-05-28 20:56:20 +00:00
makefile.vms 19990502 sourceware import 1999-05-03 07:29:11 +00:00
missing 19990502 sourceware import 1999-05-03 07:29:11 +00:00
mkdep * mkdep: New file. 1999-08-08 17:46:02 +00:00
mkinstalldirs 19990502 sourceware import 1999-05-03 07:29:11 +00:00
move-if-change 19990502 sourceware import 1999-05-03 07:29:11 +00:00
mpw-README 19990502 sourceware import 1999-05-03 07:29:11 +00:00
mpw-build.in 19990502 sourceware import 1999-05-03 07:29:11 +00:00
mpw-config.in 19990502 sourceware import 1999-05-03 07:29:11 +00:00
mpw-configure 19990502 sourceware import 1999-05-03 07:29:11 +00:00
mpw-install 19990502 sourceware import 1999-05-03 07:29:11 +00:00
setup.com 19990502 sourceware import 1999-05-03 07:29:11 +00:00
symlink-tree * symlink-tree: Check number of arguments. 2000-07-07 13:21:39 +00:00
ylwrap 19990502 sourceware import 1999-05-03 07:29:11 +00:00

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.