Commit graph

29 commits

Author SHA1 Message Date
Nick Clifton
75be928bd2 Update FSF addresses 2005-05-12 07:32:09 +00:00
Alan Modra
aef6203bd6 update copyright dates 2005-03-03 11:52:12 +00:00
Alan Modra
1ba54ee020 bfd/
* dwarf2.c (_bfd_dwarf2_find_nearest_line): Add output section
	vma and output offset to address.
	* simple.c (simple_save_output_info): Only set output section
	and offset for debug sections, or those not already set up by
	the linker.
	(bfd_simple_get_relocated_section_contents): Update comment.
ld/testsuite/
	* ld-elfvsb/elfvsb.exp: Remove file name from "undefined ref" string.
2004-09-24 07:07:22 +00:00
Alan Modra
82dd044a0d * ld-elfvsb/elfvsb.exp: Cope with ppc64 dot symbols. 2004-08-17 05:39:32 +00:00
Jakub Jelinek
8c37241be3 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
Jakub Jelinek
4dc570c2f5 bfd/
* elf32-sparc.c (elf32_sparc_relocate_section): Handle
	relocs against hidden/protected undefweak symbols properly.
	* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
gas/testsuite/
	* gas/cfi/cfi-sparc64-1.d: Update.
ld/testsuite/
	* ld-elfvsb/elfvsb.exp: XFAIL some tests on sparc64.
	* ld-shared/shared.exp: Likewise.
2004-04-19 14:25:49 +00:00
Dave Anglin
c0d48c0b48 * configure.host (HOSTING_LIBS): Define for hppa*-*-linux*.
* ld-elfvsb/elfvsb.exp: xfail non-pic shared library tests for
	non 64-bit hppa*-*-linux* targets.
	* ld-elfvsb/main.c (main_visibility_check): Cast value returned by
	visibility_funptr () to a function pointer.
	* ld-shared/shared.exp: xfail shared (non PIC), shared (non PIC, load
	offset), and shared (PIC main, non PIC so) tests for non 64-bit
	hppa*-*-linux* targets.
2003-10-07 17:30:02 +00:00
Alan Modra
81cacc150b * ld-elfvsb/elfvsb.exp: Run for powerpc64 too.
* ld-powerpc/tls.t: Update.
	* ld-powerpc/tlsexe.d: Update.
	* ld-powerpc/tlsexe.r: Update.
	* ld-powerpc/tlsexetoc.d: Update.
	* ld-powerpc/tlsexetoc.r: Update.
	* ld-powerpc/tlsexetoc.t: Update.
	* ld-powerpc/tlsso.d: Update.
	* ld-powerpc/tlsso.g: Update.
	* ld-powerpc/tlsso.r: Update.
	* ld-powerpc/tlsso.t: Update.
	* ld-powerpc/tlstocso.d: Update.
	* ld-powerpc/tlstocso.g: Update.
	* ld-powerpc/tlstocso.r: Update.
	* ld-powerpc/tlstocso.t: Update.
2003-06-10 04:36:01 +00:00
H.J. Lu
22d5e33918 bfd/
2003-05-20  Jakub Jelinek  <jakub@redhat.com>

	* elflink.h (elf_link_output_extsym): Only issue error about !=
	STV_DEFAULT symbols if they are bfd_link_hash_undefined.

2003-05-20  H.J. Lu <hongjiu.lu@intel.com>

	* elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
	when removing the old definition for symbols with non-default
	visibility.

ld/testsuite/

2003-05-20  Jakub Jelinek  <jakub@redhat.com>

	* ld-elfvsb/common.c: New file.
	* ld-elfvsb/elfvsb.exp: Add common.

2003-05-20  H.J. Lu <hongjiu.lu@intel.com>

	* ld-elfvsb/sh3.c: New file.
	* ld-elfvsb/test.c: Likewise.

	* ld-elfvsb/elfvsb.exp: Add new weak hidden symbol tests.
2003-05-20 14:35:01 +00:00
H.J. Lu
b765d4e375 2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
* config/default.exp (gcc_ld_flag): New. Make the newly built
	linker available to gcc.
	* lib/ld-lib.exp (default_ld_simple_link): Pass $gcc_ld_flag
	to gcc.

	* ld-elfvers/vers.exp: Use "ld_simple_link $CC" to build shared
	libraries.
	* ld-elfvsb/elfvsb.exp: Likewise.
	* ld-elfweak/elfweak.exp: Likewise.
	* ld-shared/shared.exp: Likewise.

	* ld-elfvers/vers.exp: Use "-Wl,-rpath,." to build shared
	libraries.
	* ld-elfvsb/elfvsb.exp: Likewise.

	* ld-elfvsb/elfvsb.exp: Remove xfail for powerpc-*-linux*.

	* ld-elfweak/elfweak.exp: Use PIC for shared libraries.
2003-05-16 05:04:34 +00:00
Nick Clifton
59758b1cc8 Run on sh[34]*-*-linux*. 2003-05-13 11:39:58 +00:00
Martin Schwidefsky
4648dfcf5b * ld-elfvsb/elf-offset.ld: Add .rel.eh_frame and .rela.eh_frame
to linker script.
	* ld-elfvsb/elfvsb.exp (visibility_run): Add setup_xfails for s390x.
	* ld-selective/selective.exp: Disable for s390 and s390x.
	* ld-shared/elf-offset.ld: Add .rel.eh_frame and .rela.eh_frame
	to linker script.
	* ld-shared/shared.exp (shared_test): Add setup_xfails for s390x.
	* ld-undefined/undefined.exp (checkund): Remove setup_xfail for s390x.
2003-05-09 15:35:09 +00:00
Andreas Schwab
3a8260b266 * ld-elfvsb/elfvsb.exp: Run dump tests even when cross
compiling.
2003-05-07 09:21:27 +00:00
H.J. Lu
1b1fe8feb3 bfd/
2003-04-27  H.J. Lu <hjl@gnu.org>

	* elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
	(ELF_LINK_DYNAMIC_WEAK): New.

	* elflink.h (elf_merge_symbol): Add one argument to indicate if
	a symbol should be skipped. Ignore definitions in dynamic
	objects for symbols with non-default visibility.
	(elf_add_default_symbol): Adjusted.
	(elf_link_add_object_symbols): Check if a symbol should be
	skipped. Don't merge the visibility field with the one from
	a dynamic object.
	(elf_link_check_versioned_symbol): Use undef_bfd.
	(elf_link_output_extsym): Warn if a forced local symbol is
	referenced from dynamic objects. Make non-weak undefined symbol
	with non-default visibility a fatal error.

ld/testsuite/

2003-04-27  H.J. Lu <hjl@gnu.org>

	* ld-elfvsb/elfvsb.dat: Updated.
	* ld-elfvsb/elfvsb.exp: Likewise.
	* ld-elfvsb/main.c: Likewise.
	* ld-elfvsb/sh1.c: Likewise.
	* ld-elfvsb/sh2.c: Likewise.
2003-04-28 03:31:36 +00:00
Jakub Jelinek
9147e853bf bfd/
* elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
ld/testsuite/
	* ld-shared/shared.exp: Run on s390*-*-linux* and x86_64-*-linux* too.
	xfail tests linking non-pic code into shared libs on x86_64-*-linux*.
	* ld-elfvsb/elfvsb.exp: Likewise.
	* ld-elfvers/vers.exp: Likewise.  Add vers24a, vers24b and vers24c
	tests.
	* ld-elfvers/vers3.ver: Allow VERS_2.0 to come before GLIBC_*
	version.
	* ld-elfvers/vers19.ver: Likewise.
	* ld-elfvers/vers24a.c: New test.
	* ld-elfvers/vers24b.c: New test.
	* ld-elfvers/vers24c.c: New test.
	* ld-elfvers/vers24.map: New test.
	* ld-elfvers/vers24.rd: New test.
	* lib/ld-lib.exp (run_ld_link_tests): Add optional 7th argument
	cflags.  If source files have .c extension, compile them first.
2003-02-13 22:14:11 +00:00
Alan Modra
19c7c58222 * ld-discard/discard.exp, ld-scripts/phdrs.exp, ld-scripts/phdrs2.exp,
ld-selective/sel-dump.exp: Test hppa*64*-*-hpux* target.
	* ld-elfvers/vers.exp, ld-elfvsb/elfvsb.exp, ld-elfweak/elfweak.exp,
	ld-linkonce/linkonce.exp, ld-shared/shared.exp,
	ld-undefined/weak-undef.exp:  Test hppa*64*-*-hpux* and hppa*-*-linux*
	targets.
	* ld-discard/exit.s, ld-discard/extern.s, ld-discard/start.s,
	ld-discard/static.s: Add whitespace before assembler directives.
2002-07-30 07:41:15 +00:00
Richard Henderson
212a6b8ef7 * ld-elfvsb/elfvsb.exp: Mirror ia64 non-pic xfails for alpha.
* ld-shared/shared.exp: Likewise.
        * ld-selective/selective.exp: Disable for alpha.
        * ld-undefined/undefined.exp: Add alpha to dwarf2 xfails.
2002-04-19 19:28:09 +00:00
H.J. Lu
04827a14fb 2001-11-02 H.J. Lu <hjl@gnu.org>
* ld-elfvsb/elfvsb.exp: Add the "ld -r" test.

	* ld-elfvsb/hidden0.d: New.
	* ld-elfvsb/hidden1.d: New.
	* ld-elfvsb/internal0.d: New.
	* ld-elfvsb/internal1.d: New.
	* ld-elfvsb/protected0.d: New.
	* ld-elfvsb/protected1.d: New.
	* ld-elfvsb/undef.s: New.
	* ld-elfvsb/undef.s: New.
2001-11-02 17:24:54 +00:00
H.J. Lu
66517a2f18 2001-06-06 H.J. Lu <hjl@gnu.org>
* ld-bootstrap/bootstrap.exp: Rebuild tmpdir/ld2 with tmpdir/ld3
	on Linux/mips.

	* ld-elfvers/vers.exp: Also run on istarget Linux/mips.
	* ld-elfvsb/elfvsb.exp: Likewise.
	* ld-shared/shared.exp: Likewise.

	* ld-selective/selective.exp: Mark selective2, selective3,
	selective4 and selective5 xfail on Linux/mips.

	* ld-shared/main.c: Skip invalid -Bsymbolic tests on Linux/mips.

	* symbolic.dat: Remove invalid -Bsymbolic tests on Linux/mips.

	* ld-srec/srec.exp: Add Linux/mips to xfail.
2001-06-06 21:03:59 +00:00
Nick Clifton
a2b64bede3 Fixtypos in ChangeLogs, fix copyright dates in files 2001-03-13 06:14:29 +00:00
H.J. Lu
ad995491f8 2001-02-14 H.J. Lu <hjl@gnu.org>
* ld-bootstrap/bootstrap.exp: Rebuild tmpdir/ld2 with tmpdir/ld3
	for -static on ia64.

	* ld-checks/checks.exp: Don't run on ia64-*-elf* nor
	ia64-*-linux*.

	* ld-elfvers/vers.exp: Also run ia64-*-elf* and ia64-*-linux*.

	* ld-elfvsb/elfvsb.exp: Use i?86-*-*. Also run on ia64-*-linux*.
	Set up expected failures for ia64-*-linux*.
	* ld-shared/shared.exp: Likewise.
2001-02-15 01:17:07 +00:00
Phil Blundell
2ffd68ef6e 2001-01-03 Philip Blundell <pb@futuretv.com>
* ld-elfvsb/elfvsb.exp: Run test on Linux/Alpha.
	* ld-shared/shared.exp: Likewise.
2001-01-03 09:51:52 +00:00
Phil Blundell
4f38fc1c6c 2001-01-01 Philip Blundell <philb@gnu.org>
* ld-elfvers/vers.exp: Run test on Linux/ARM.
	* ld-elfvsb/elfvsb.exp: Likewise.
	* ld-shared/shared.exp: Likewise.
2001-01-01 14:52:34 +00:00
H.J. Lu
d1d8dddfbd 2000-10-19 H.J. Lu (hjl@gnu.org)
* ld-elfvsb/elfvsb.exp (visibility_run): Set expected failures
	for Linux/PPC.
	* ld-shared/shared.exp: Likewise.
2000-10-19 19:52:28 +00:00
H.J. Lu
360e95866f 2000-07-24 H.J. Lu (hjl@gnu.org)
* ld-elfvsb/elfvsb.exp: Add -g to $CC to get the location of
	the undefined reference.
2000-07-24 15:40:20 +00:00
H.J. Lu
08c44e659e 2000-07-16 H.J. Lu (hjl@gnu.org)
* ld-elfvsb/elfvsb.exp (support_protected): New variable. Check
	and set to "yes" if the protected visibility is expected to
	pass.
	(visibility_run): Set expected to fail for the "protected"
	and "protected_undef_def" tests only if $support_protected is
	"no".

	* ld-elfvsb/main.c (PROTECTED_CHECK): Check for the protected
	visibility support if defined.
2000-07-16 21:29:32 +00:00
H.J. Lu
1345a0c087 2000-07-15 H.J. Lu (hjl@gnu.org)
* ld-elfvsb/elfvsb.exp (visibility_run): Set expected failure
	for "protected_undef_def".

	* ld-elfvsb/main.c: Don't define HIDDEN_UNDEF_TEST when
	PROTECTED_WEAK_TEST is defined.
	Don't define PROTECTED_UNDEF_TEST when PROTECTED_WEAK_TEST is
	defined.
	Define PROTECTED_TEST when PROTECTED_UNDEF_TEST is defined.

	* ld-elfvsb/sh1.c (visibility): Mark protected only if
	PROTECTED_TEST, PROTECTED_UNDEF_TEST or PROTECTED_WEAK_TEST
	is defined.
	(visibility_var): Likewise.
2000-07-15 23:57:20 +00:00
H.J. Lu
7cda33a15e 2000-06-05 H.J. Lu (hjl@gnu.org)
* lib/ld-lib.exp (default_ld_link): Redirect the linker output
	to link_output and make it global.

	* ld-elfvsb/elfvsb.exp (visibility_test): Add "hidden_undef",
	"hidden_undef_def", "hidden_weak", "protected_undef",
	"protected_undef_def" and "protected_weak".
	(visibility_run): Likewise.
	* ld-elfvsb/main.c: Likewise.
	* ld-elfvsb/sh1.c: Likewise.
	* ld-elfvsb/sh2.c: Likewise.

	* ld-elfvsb/elfvsb.dat: Updated.
2000-06-05 20:43:18 +00:00
H.J. Lu
6fc49d288b 2000-05-13 H.J. Lu (hjl@gnu.org)
* lib/ld-lib.exp (default_ld_link): Redirect the linker output
	to link_output and make it global.

	* ld-elfvsb/elf-offset.ld: New. ELF visibility fearture
	tests.
	* ld-elfvsb/elfvsb.dat: Likewise.
	* ld-elfvsb/elfvsb.exp: Likewise.
	* ld-elfvsb/main.c: Likewise.
	* ld-elfvsb/sh1.c: Likewise.
	* ld-elfvsb/sh2.c: Likewise.
2000-05-13 16:54:32 +00:00