Go to file
Jakub Jelinek b509e930ff bfd/
* elflink.c (elf_bfd_final_link): Don't output STT_SECTION symbol
	into .dynsym if elf_section_data (sec)->dynindx <= 0.
	Adjust counting of last_local.
	(_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
	other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
	created by the linker nor !SHF_ALLOC.

	* elf32-i386.c (elf_i386_finish_dynamic_sections): Point
	DT_PLTGOT to the start of the .got.plt section instead of the
	.got output section.  Set sh_entsize for .got section in addition
	to .got.plt.
	(elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
	is at sgot->output_section->vma.
	* elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
	DT_PLTGOT to the start of the .got.plt section instead of the
	.got output section.
	(elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
	is at sgot->output_section->vma.  Set sh_entsize for .got section
	in addition to .got.plt.
	* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
	(bfd_section_from_phdr): Likewise.
	(map_sections_to_segments): Likewise.
	(assign_file_positions_for_segments): Likewise.
	(get_program_header_size): Likewise.
	* elflink.c (bfd_elf_size_dynamic_sections): Set
	elf_tdata (output_bfd)->relro from info->relro.
	* elf-bfd.h (struct elf_obj_tdata): Add relro field.
include/
	* bfdlink.h (struct bfd_link_info): Add relro, relro_start and
	relro_end fields.
	* elf/common.h (PT_GNU_EH_FRAME, PT_GNU_STACK): Add comments.
	(PT_GNU_RELRO): Define.
binutils/
	* readelf.c (get_segment_type): Handle PT_GNU_RELRO.
ld/
	* genscripts.sh: Generate -z combreloc -z now -z relro scripts
	for binaries, -shared and -pie.
	* emulparams/elf_i386.sh (SEPARATE_GOTPLT): Set.
	* emulparams/elf_x86_64.sh (SEPARATE_GOTPLT): Set.
	* emulparams/elf32ppc.sh (OTHER_READWRITE_SECTIONS): Rename to...
	(OTHER_RELRO_SECTIONS): ... this.
	* ldlex.l (DATA_SEGMENT_RELRO_END): Add.
	* emultempl/elf32.em (gld${EMULATION_NAME}_handle_option): Handle
	-z relro and -z norelro.
	(gld${EMULATION_NAME}_list_options): Add it to usage.
	(gld${EMULATION_NAME}_get_script): Return -z combreloc -z now
	-z relro scripts when appropriate.
	* scripttempl/elf.sc: Unset SEPARATE_GOTPLT if RELRO_NOW is set.
	Create separate .got.plt section if SEPARATE_GOTPLT.
	Move sections which are only written during relocation handling
	to the beginning of RW segment.  If NO_SMALL_DATA, move .got
	before .data.  Add DATA_SEGMENT_RELRO_END directive.
	Include OTHER_RELRO_SECTIONS.
	* ldgram.y (DATA_SEGMENT_RELRO_END): Add.
	* ldexp.c (exp_print_token): Handle DATA_SEGMENT_RELRO_END.
	(fold_unary): Likewise.
	(fold_binary): Handle -z relro.
	* ldexp.h (struct exp_data_seg): Add exp_dataseg_relro_seen and
	exp_dataseg_relro_adjust phases.  Add relro_end field.
	* ldmain.c (main): Initialize link_info.relro to FALSE.
	* ldlang.c (lang_size_sections): Handle -z relro.
ld/testsuite/
	* ld-i386/tlspic.rd: Adjust for section reordering changes
	and removal of unneeded STT_SECTION symbols from .dynsym.
	* ld-i386/tlspic.dd: Likewise.
	* ld-i386/tlspic.sd: Likewise.
	* ld-i386/tlsbin.rd: Likewise.
	* ld-i386/tlsbinpic.s: Likewise.
	* ld-i386/tlsbin.dd: Likewise.
	* ld-i386/tlsbin.sd: Likewise.
	* ld-i386/tlsnopic.rd: Likewise.
	* ld-i386/tlsnopic1.s: Likewise.
	* ld-i386/combreloc.d: Likewise.
	* ld-i386/tlsnopic.dd: Likewise.
	* ld-i386/tlsnopic.sd: Likewise.
	* ld-x86-64/tlspic.rd: Likewise.
	* ld-x86-64/tlspic.dd: Likewise.
	* ld-x86-64/tlsbin.dd: Likewise.
	* ld-x86-64/tlspic.sd: Likewise.
	* ld-x86-64/tlsbin.sd: Likewise.
	* ld-x86-64/tlspic.td: Likewise.
	* ld-x86-64/tlsbin.td: Likewise.
	* ld-x86-64/tlsbin.rd: Likewise.
	* ld-s390/tlspic1.s: Likewise.
	* ld-s390/tlsbinpic.s: Likewise.
	* ld-s390/tlspic.rd: Likewise.
	* ld-s390/tlsbin.rd: Likewise.
	* ld-s390/tlspic.dd: Likewise.
	* ld-s390/tlsbin.dd: Likewise.
	* ld-s390/tlsbin.sd: Likewise.
	* ld-s390/tlsbin.td: Likewise.
	* ld-s390/tlspic.sd: Likewise.
	* ld-s390/tlspic.td: Likewise.
	* ld-s390/tlspic1_64.s: Likewise.
	* ld-s390/tlsbinpic_64.s: Likewise.
	* ld-s390/tlspic_64.rd: Likewise.
	* ld-s390/tlsbin_64.rd: Likewise.
	* ld-s390/tlspic_64.dd: Likewise.
	* ld-s390/tlsbin_64.dd: Likewise.
	* ld-s390/tlspic_64.sd: Likewise.
	* ld-s390/tlspic_64.td: Likewise.
	* ld-s390/tlsbin_64.td: Likewise.
	* ld-s390/tlsbin_64.sd: Likewise.
	* ld-powerpc/tlsexe32.r: Likewise.
	* ld-powerpc/tlsso32.r: Likewise.
	* ld-powerpc/tlsso32.d: Likewise.
	* ld-powerpc/tlsso32.g: Likewise.
	* ld-powerpc/tlsso32.t: Likewise.
	* ld-powerpc/tlsexe.r: Likewise.
	* ld-powerpc/tlsso.r: Likewise.
	* ld-powerpc/tlsso.g: Likewise.
	* ld-powerpc/tlsexetoc.r: Likewise.
	* ld-powerpc/tlstocso.r: Likewise.
	* ld-powerpc/tlstocso.g: Likewise.
	* ld-ia64/tlspic.rd: Likewise.
	* ld-ia64/tlspic.dd: Likewise.
	* ld-ia64/tlspic.sd: Likewise.
	* ld-ia64/tlspic.td: Likewise.
	* ld-ia64/tlsbin.rd: Likewise.
	* ld-ia64/tlsbin.sd: Likewise.
	* ld-ia64/tlsbin.td: Likewise.
	* ld-elfvsb/elfvsb.exp: XFAIL non-PIC load offset tests on s390x.
	* ld-shared/shared.exp: Likewise.
2004-05-11 17:08:38 +00:00
config merge from gcc: 2004-04-27 18:28:03 +00:00
etc Replace i[3456]86 with i[3-7]86 2003-05-16 16:30:26 +00:00
include bfd/ 2004-05-11 17:08:38 +00:00
libgloss * mips/array.ld, mips/cfe.ld, mips/ddb-kseg0.ld, mips/ddb.ld, 2004-05-05 12:16:31 +00:00
newlib * libc/include/machine/endian.h: Add missing endif. 2004-05-08 17:13:38 +00:00
texinfo 2004-02-23 Andrew Cagney <cagney@redhat.com> 2004-02-23 19:37:48 +00:00
winsup * fhandler.cc (fhandler_base::open): Set file attributes to correct 2004-05-11 15:39:50 +00:00
COPYING 19990502 sourceware import 1999-05-03 07:29:06 +00:00
COPYING.LIB 19990502 sourceware import 1999-05-03 07:29:06 +00:00
COPYING.LIBGLOSS 2002-12-20 Jeff Johnston <jjohnstn@redhat.com> 2002-12-20 21:36:01 +00:00
COPYING.NEWLIB 2004-02-02 Jeff Johnston <jjohnstn@redhat.com> 2004-02-03 00:05:49 +00:00
ChangeLog merge from gcc: 2004-04-27 18:25:01 +00:00
MAINTAINERS Typo fix: s/otheriwse/otherwise/ 2004-04-14 01:26:14 +00:00
Makefile.def merge from gcc: 2004-04-27 18:25:01 +00:00
Makefile.in merge from gcc: 2004-04-27 18:25:01 +00:00
Makefile.tpl merge from gcc: 2004-04-27 18:25:01 +00:00
README 19990502 sourceware import 1999-05-03 07:29:06 +00:00
README-maintainer-mode Update URL 2003-05-30 07:30:26 +00:00
config-ml.in * config-ml.in: Don't mess with the cache file. 2004-01-05 00:42:16 +00:00
config.guess Index: ChangeLog 2004-02-19 14:55:25 +00:00
config.if * config.if: Remove unused libc_interface determination. 2003-07-16 06:35:35 +00:00
config.sub Index: ChangeLog 2004-02-19 14:55:25 +00:00
configure merge from gcc: 2004-04-27 18:25:01 +00:00
configure.in merge from gcc: 2004-04-27 18:25:01 +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 * gettext.m4: Quote names of macros to be defined by AC_DEFUN 2004-01-14 13:41:37 +00:00
install-sh PR bootstrap/11932 2004-02-20 02:05:00 +00:00
libtool.m4 * libtool.m4 (lt_cv_deplibs_check_method): Use pass_all on mips*. 2003-04-11 03:58:39 +00:00
ltcf-c.sh 2002-12-01 Nathanael Nerode <neroden@gcc.gnu.org> 2002-12-01 12:01:26 +00:00
ltcf-cxx.sh * libtool.m4 (LD): Append -melf* option to LD on IRIX with GNU ld. 2003-02-20 01:12:28 +00:00
ltcf-gcj.sh * ltcf-cxx.sh: Replace $linker_flags with $compiler_flags wherever 2003-02-19 23:51:28 +00:00
ltconfig 2003-10-03 H.J. Lu <hongjiu.lu@intel.com> 2003-10-04 04:54:47 +00:00
ltmain.sh * ltmain.sh (relink_command): Fix typo in previous change. 2002-03-16 14:43:09 +00:00
makefile.vms 19990502 sourceware import 1999-05-03 07:29:06 +00:00
missing * install-sh: Update to newer upstream versions (associated with 2003-08-29 00:13:09 +00:00
mkdep * mkdep: New file. 1999-08-08 17:46:02 +00:00
mkinstalldirs PR bootstrap/11932 2004-02-20 02:05:00 +00:00
move-if-change 19990502 sourceware import 1999-05-03 07:29:06 +00:00
setup.com 19990502 sourceware import 1999-05-03 07:29:06 +00:00
src-release Remove MPW support, no longer used. 2004-03-25 17:51:10 +00:00
symlink-tree * config-ml.in, symlink-tree: Add license. 2003-08-14 20:44:13 +00:00
ylwrap 19990502 sourceware import 1999-05-03 07:29:06 +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.