Commit graph

814 commits

Author SHA1 Message Date
Tomer Levi
911a63006c 2004-12-21 Tomer Levi <Tomer.Levi@nsc.com>
* ld-crx/reloc-abs32.d: Update reference file according
	to disassembler printing method.
 	* ld-crx/reloc-rel16.d: Likewise.
	* ld-crx/reloc-rel24.d: Likewise.
	* ld-crx/reloc-rel32.d: Likewise.
	* ld-crx/reloc-rel4.d: Likewise.
	* ld-crx/reloc-rel8-cmp.d: Likewise.
	* ld-crx/reloc-rel8.d: Likewise.
2004-12-22 08:14:38 +00:00
Tomer Levi
5b269403ba 2004-12-21 Tomer Levi <Tomer.Levi@nsc.com>
* ld-crx/reloc-abs32.d: Update reference file according to disassembler printing method.
 	* ld-crx/reloc-rel16.d: Likewise.
	* ld-crx/reloc-rel24.d: Likewise.
	* ld-crx/reloc-rel32.d: Likewise.
	* ld-crx/reloc-rel4.d: Likewise.
	* ld-crx/reloc-rel8-cmp.d: Likewise.
	* ld-crx/reloc-rel8.d: Likewise.
2004-12-21 16:28:40 +00:00
Richard Sandiford
1e50d24d55 include/elf/
* v850.h (R_V850_LO16_SPLIT_OFFSET): New reloc.

bfd/
	* reloc.c (BFD_RELOC_V850_LO16_SPLIT_OFFSET): New bfd_reloc_code_type.
	* elf32-v850.c (v850_elf_howto_table): Add entry for
	R_V850_LO16_SPLIT_OFFSET.
	(v850_elf_reloc_map): Map it to BFD_RELOC_V850_LO16_SPLIT_OFFSET.
	(v850_elf_perform_lo16_relocation): New function, extracted from...
	(v850_elf_perform_relocation): ...here.  Use it to handle
	R_V850_LO16_SPLIT_OFFSET.
	(v850_elf_check_relocs, v850_elf_final_link_relocate): Handle
	R_V850_LO16_SPLIT_OFFSET.
	* libbfd.h, bfd-in2.h: Regenerate.

gas/
	* config/tc-v850.c (handle_lo16): New function.
	(v850_reloc_prefix): Use it to check lo().
	(md_assemble, md_apply_fix3): Handle BFD_RELOC_V850_LO16_SPLIT_OFFSET.

gas/testsuite/
	* gas/v850/split-lo16.{s,d}: New test.
	* gas/v850/v850.exp: Run it.

ld/testsuite/
	* ld-v850: New directory.
2004-12-16 16:56:04 +00:00
Richard Sandiford
c314987d19 * elfxx-mips.c (mips_elf_calculate_relocation): Don't report an
overflow for calls to undefined weak symbols.
2004-12-14 09:48:20 +00:00
Richard Sandiford
1f0f3e9b89 * ld-mips-elf/mips-elf.exp: Only run jalbal if n32 is supported. 2004-12-13 13:09:55 +00:00
Alan Modra
5c799c0790 bfd/
* elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
	canonical sections syms have a name.

gas/testsuite/
	Update for changed section syms.

ld/testsuite/
	Update for changed section syms.
2004-12-11 04:32:37 +00:00
Ian Lance Taylor
3a6eb9c0d7 * ld-mips-elf/jalbal.d: New test.
* ld-mips-elf/jalbal.s: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
2004-12-09 07:14:53 +00:00
Ian Lance Taylor
0efd416086 * ld-mips-elf/jaloverflow.d: New test.
* ld-mips-elf/jaloverflow.s: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
2004-12-08 20:28:08 +00:00
H.J. Lu
e1d9786917 2004-12-03 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/group1.d: Support 64bit.
2004-12-03 17:06:28 +00:00
Paul Brook
529fcb9585 2004-12-01 Paul Brook <paul@codesourcery.com>
bfd/
	* elflink.c (elf_link_add_object_symbols): Make symbols from discarded
	sections undefined.
ld/testsuite/
	* ld-elf/group1.d: New test.
	* ld-elf/group.ld, ld-elf/group1a.s, ld-elf/group1b.s: New test.
2004-12-01 23:23:12 +00:00
Daniel Jacobowitz
6db74b6f21 * ld-selective/selective.exp: Use -print-libgcc-file-name for
ARM and v850 also.
2004-12-01 21:12:39 +00:00
Paul Brook
0beaef2b05 2004-11-24 Paul Brook <paul@codesourcery.com>
bfd/
	* elf32-arm.c (elf32_arm_swap_symbol_in): New function.
	(elf32_arm_swap_symbol_out): New function.
	(elf32_arm_size_info): Add.
	(elf_backend_size_info): Define.
ld/testsuite/
	* ld-arm/mixed-lib.sym: Update for THUMB_FUNC change.
2004-11-24 14:44:47 +00:00
Nick Clifton
3ec5763260 Add ORIGIN and LENGTH linker script operators. 2004-11-19 09:31:55 +00:00
Daniel Jacobowitz
b7693d0213 bfd/
* elf32-arm.c (PLT_THUMB_STUB_SIZE): Define.
	(elf32_arm_plt_thumb_stub): New.
	(struct elf32_arm_link_hash_entry): Add plt_thumb_refcount
	and plt_got_offset.
	(elf32_arm_link_hash_traverse): Fix typo.
	(elf32_arm_link_hash_table): Add obfd.
	(elf32_arm_link_hash_newfunc): Initialize new fields.
	(elf32_arm_copy_indirect_symbol): Copy plt_thumb_refcount.
	(elf32_arm_link_hash_table_create): Initialize obfd.
	(record_arm_to_thumb_glue): Mark the glue as a local ARM function.
	(record_thumb_to_arm_glue): Mark the glue as a local Thumb function.
	(bfd_elf32_arm_get_bfd_for_interworking): Verify that the
	interworking BFD is not dynamic.
	(bfd_elf32_arm_process_before_allocation): Handle R_ARM_PLT32.  Do
	not emit glue for PLT references.
	(elf32_arm_final_link_relocate): Handle Thumb functions.  Do not
	emit glue for PLT references.  Support the Thumb PLT prefix.
	(elf32_arm_gc_sweep_hook): Handle R_ARM_THM_PC22 and
	plt_thumb_refcount.
	(elf32_arm_check_relocs): Likewise.
	(elf32_arm_adjust_dynamic_symbol): Handle Thumb functions and
	plt_thumb_refcount.
	(allocate_dynrelocs): Handle Thumb PLT references.
	(elf32_arm_finish_dynamic_symbol): Likewise.
	(elf32_arm_symbol_processing): New function.
	(elf_backend_symbol_processing): Define.
opcodes/
	* arm-dis.c (WORD_ADDRESS): Define.
	(print_insn): Use it.  Correct big-endian end-of-section handling.
gas/testsuite/
	* gas/arm/mapping.d: Expect F markers for Thumb code.
	* gas/arm/unwind.d: Update big-endian pattern.
ld/
	* emultempl/armelf.em (arm_elf_set_bfd_for_interworking): Don't use
	a dynamic object for stubs.
ld/testsuite/
	* ld-arm/mixed-app.d, ld-arm/mixed-app.r, ld-arm/mixed-app.s,
	ld-arm/mixed-app.sym, ld-arm/mixed-lib.d, ld-arm/mixed-lib.r,
	ld-arm/mixed-lib.s, ld-arm/mixed-lib.sym, ld-arm/arm-dyn.ld,
	ld-arm/arm-lib.ld: New files.
	* ld-arm/arm-app-abs32.d, ld-arm/arm-app-abs32.r, ld-arm/arm-app.d,
	ld-arm/arm-app.r, ld-arm/arm-lib-plt32.d, ld-arm/arm-lib-plt32.r,
	ld-arm/arm-lib.d, ld-arm/arm-lib.r, ld-arm/arm-static-app.d,
	ld-arm/arm-static-app.r: Update for big-endian.
	* ld-arm/arm-elf.exp: Run the new tests.
2004-11-17 17:50:28 +00:00
Richard Sandiford
353057a53c * elf-bfd.h (eh_cie_fde): Add new fields: add_augmentation_size and
add_fde_encoding.  Remove need_relative.
	* elf-eh-frame.c (extra_augmentation_string_bytes)
	(extra_augmentation_data_bytes, size_of_output_cie_fde): New functions.
	(_bfd_elf_discard_section_eh_frame): Consider changing the FDE encoding
	in cases where the CIE has no existing 'R' augmentation.  Use
	size_of_output_cie_fde when assigning offsets.  Use the final offset
	as the new section size.
	(_bfd_elf_eh_frame_section_offset): Remove need_relative handling.
	Account for any extra augmentation bytes in the returned offset.
	(_bfd_elf_write_section_eh_frame): Rework so that the entries are
	moved before being modified.  Pad growing entries with DW_CFA_nops.
	Add 'z' and 'R' augmentations as directed by add_augmentation_size
	and add_fde_encoding.
2004-11-16 10:16:30 +00:00
Alan Modra
d693c47eec * ld-d10v/reloc-003.d: Update for changed error message.
* ld-d10v/reloc-004.d: Likewise.
	* ld-d10v/reloc-007.d: Likewise.
	* ld-d10v/reloc-008.d: Likewise.
	* ld-d10v/reloc-011.d: Likewise.
	* ld-d10v/reloc-012.d: Likewise.
	* ld-d10v/reloc-015.d: Likewise.
	* ld-d10v/reloc-016.d: Likewise.
2004-11-10 03:38:17 +00:00
Nick Clifton
300dac7e8c oops - omitted from previous delta 2004-11-09 14:53:56 +00:00
Nick Clifton
7499d566bb Add support fpr MAXQ processor 2004-11-08 13:17:43 +00:00
Nick Clifton
977cdf5aa7 Fix support for PECOFF weak symbols 2004-11-08 08:12:53 +00:00
Hans-Peter Nilsson
1f02b94b93 * ld-elf/merge.d: xfail crisv32-*-*.
* ld-cris/dsov32-1.s, ld-cris/dsov32-2.s, ld-cris/dsov32-3.s,
	ld-cris/dsov32-4.s, ld-cris/libdso-10.d, ld-cris/libdso-11.d,
	ld-cris/libdso-12.d, ld-cris/libdso-13.d, ld-cris/libdso-14.d,
	ld-cris/move-1.s, ld-cris/pv32-1.d, ld-cris/pv32.s,
	ld-cris/start1.s, ld-cris/v10-v32.d, ld-cris/v10-va.d,
	ld-cris/v32-ba-1.d, ld-cris/v32-ba-1.s, ld-cris/v32-bin-1.d,
	ld-cris/v32-bin-1.s, ld-cris/v32-v10.d, ld-cris/v32-va.d,
	ld-cris/va-v10.d, ld-cris/va-v32.d: New tests.
	* ld-cris/ldsym1.d: Adjust for change in linker script.
2004-11-04 15:04:05 +00:00
Hans-Peter Nilsson
ca7d30d9ca * ld-cris/expdyn1.d, ld-cris/expdyn5.d, ld-cris/expdyn6.d,
ld-cris/expdyn7.d, ld-cris/gotplt1.d, ld-cris/gotplt2.d,
	ld-cris/gotplt3.d, ld-cris/hiddef1.d, ld-cris/libdso-2.d,
	ld-cris/locref1.d, ld-cris/locref2.d, ld-cris/weakref2.d,
	ld-i386/tlsbin.rd, ld-i386/tlsnopic.rd, ld-i386/tlspic.rd,
	ld-ia64/tlsbin.dd, ld-ia64/tlsbin.rd, ld-ia64/tlspic.dd,
	ld-ia64/tlspic.rd, ld-powerpc/tlsexe32.d, ld-powerpc/tlsexe32.g,
	ld-powerpc/tlsexe32.r, ld-powerpc/tlsexe32.t,
	ld-powerpc/tlsso32.d, ld-powerpc/tlsso32.g, ld-powerpc/tlsso32.r,
	ld-powerpc/tlsso32.t, ld-s390/tlsbin.dd, ld-s390/tlsbin.rd,
	ld-s390/tlspic.rd, ld-sparc/tlssunbin32.rd,
	ld-sparc/tlssunpic32.rd, ld-x86-64/tlsbin.rd, ld-x86-64/tlspic.dd,
	ld-x86-64/tlspic.rd: Adjust for _GLOBAL_OFFSET_TABLE_ now hidden.
2004-11-02 05:40:05 +00:00
Paul Brook
0c6616e1ae Missed from previous commit.
ld/testsuite/
	* ld-elfvers/vers29.c: New file.
	* ld-elfvers/vers29.dsym: New file.
	* ld-elfvers/vers29.ver: New file.
2004-10-26 21:00:23 +00:00
Paul Brook
3e3b46e5c8 bfd/
* elflink.c (elf_finalize_dynstr): Skip shared aux structure.
	(bfd_elf_size_dynamic_sections): Create default version definition.
	(elf_link_output_extsym): Adjust for default symbol version.
include/
	* bfdlink.h (struct bfd_link_info): Add create_default_symver.
ld/
	* ld.texinfo: Document --default-symver.
	* ldmain.c (main): Set link_info.create_default_symver.
	* lexsup.c (enum option_values): Add OPTION_DEFAULT_SYMVER.
	(ld_options): Add default-symver.
	(parse_args): Handle OPTION_DEFAULT_SYMVER.
ld/testsuite/
	* ld-elfvers/vers.exp (build_binary): Add ldargs parameter.
	(build_vers_lib_pic_flags): New function.
	Add vers29 test.
	* ld-elfvers/vers29.c: New file.
	* ld-elfvers/vers29.dsym: New file.
	* ld-elfvers/vers29.ver: New file.
2004-10-26 13:46:05 +00:00
Hans-Peter Nilsson
1fddb8daad * ld-mmix/sec-8m.d: Adjust test for dump using correct section
length.
	* ld-mmix/sec-9.d: Renamed test, formerly known as sec-5.d.
	* ld-mmix/sec-5.d, ld-mmix/b-offloc.s: Rewritten test.
2004-10-24 21:39:30 +00:00
Hans-Peter Nilsson
04d3ad575b * ld-mmix/getaa-6b.d, ld-mmix/getaa-6f.d, ld-mmix/getaa14b.d,
ld-mmix/getaa14f.d, ld-mmix/jumpa-6b.d, ld-mmix/jumpa-6f.d,
	ld-mmix/jumpa14b.d, ld-mmix/jumpa14f.d, ld-mmix/reg-1.d,
	ld-mmix/reg-1m.d: Adjust for changed error message format.
2004-10-24 00:13:15 +00:00
H.J. Lu
0e99ae0cc2 2004-10-19 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/exclude.exp: Allow cris-*-elf.

	* ld-elf/exclude1.s: Add ".data". Remove "- include_sym".
	* ld-elf/exclude2.s: Add ".data".
2004-10-19 17:14:38 +00:00
Hans-Peter Nilsson
cad5e2c2ac * ld-elf/exclude.exp: Don't run for cris-*-elf. 2004-10-19 05:02:49 +00:00
Daniel Jacobowitz
b58f81aef6 bfd/
* bfd-in2.h: Regenerate.
	* bfd.c (struct bfd): Add no_export.
	* elflink.c (elf_link_add_object_symbols): Handle no_export.
ld/
	* ldlang.c (struct excluded_lib, excluded_libs, add_excluded_libs)
	(check_excluded_libs): New.
	(load_symbols): Call check_excluded_libs.
	* ldlang.h (add_excluded_libs): New prototype.
	* emultempl/elf32.em (OPTION_EXCLUDED_LIBS): Define.
	(gld${EMULATION_NAME}_add_options): Add --exclude-libs.
	(gld${EMULATION_NAME}_handle_option): Handle --exclude-libs.
	* ld.texinfo (Command Line Variables): Document --exclude-libs.
	(Options Specific to i386 PE Targets): Remove --exclude-libs.
ld/testsuite/
	* ld-elf/exclude1.s, ld-elf/exclude2.s, ld-elf/exclude.exp: New.
2004-10-16 18:13:54 +00:00
Alan Modra
391df1c063 * ld-crx/reloc-num8.d: Adjust for changed orphan placement.
* ld-crx/reloc-num16.d: Likewise.
	* ld-crx/reloc-num32.d: Likewise.
	* ld-scripts/provide-2.t: Start .data at 0x2000.
	* ld-scripts/provide-2.d: Adjust.
2004-10-15 00:27:12 +00:00
H.J. Lu
e0255be8fc 2004-10-14 H.J. Lu <hongjiu.lu@intel.com>
* ld-scripts/sort.exp: Run for ELF targets only.
2004-10-14 16:20:47 +00:00
Alan Modra
afd7a018c9 ld/
PR 63
	* ldlang.h (lang_output_section_statement_type): Make "next" a
	struct lang_output_section_statement_struct *.
	(struct orphan_save): Move from elf32.em.  Add "name" and "flags".
	(lang_output_section_find_by_flags, lang_insert_orphan): Declare.
	* ldlang.c (lang_output_section_find_1): Adjust for changed
	output_section_statement "next".
	(strip_excluded_output_sections): Likewise.
	(lang_record_phdrs): Likewise.
	(lang_output_section_find_by_flags): New function.
	(output_prev_sec_find): Move from pe.em.  Adjust iterator.
	(lang_insert_orphan): New function.  Tail end of elf32.em's
	place_orphan merged with that from pe.em.  Allow bfd_section to
	be placed first.  New heuristic for placing new output section
	statement in existing script, and accompanying split of __start
	symbol alignment into a separate assignment to dot.
	(lang_add_section): Consistently use output->bfd_section rather than
	an alias, section->output_section.
	(map_input_to_output_sections): Rename overly long arg.  Move
	initialization of data_statement output section to here..
	(lang_check_section_addresses): ..from here.
	(print_assignment): Correct printing of etree_assert.
	(print_all_symbols): Don't bomb if userdata is NULL.
	(IGNORE_SECTION): Rearrange.
	* emultempl/elf32.em (output_rel_find): Adjust interator.
	(output_prev_sec_find): Delete.
	(struct orphan_save): Delete.
	(gld${EMULATION_NAME}_place_orphan): Cater for zero bfd_section
	flags without creating a duplicate output section statement.
	Revise code holding history of various orphan section placements.
	Allow orphan sections to place before script specified output
	sections.  Call lang_output_section_find_by_flags when placement
	by name fails.  Use lang_insert_orphan.
	* emultempl/mmo.em (output_prev_sec_find): Delete.
	(struct orphan_save): Delete.
	(mmo_place_orphan): Revise code holding history of orphan placement.
	Allow orphans to place before existing output sections.  Use
	lang_insert_orphan.
	* emultempl/pe.em (output_prev_sec_find): Delete.
	(struct orphan_save): Delete.
	(gld_${EMULATION_NAME}_place_orphan): Revise to suit use of
	lang_insert_orphan.
ld/testsuite/
	* ld-scripts/overlay-size.d: Update for changed orphan section
	placement.
	* ld-mmix/bpo-18.d: Likewise.
2004-10-14 12:54:47 +00:00
Bob Wilson
43cd72b9aa bfd ChangeLog
* elf32-xtensa.c (elf32xtensa_size_opt): New global variable.
	(xtensa_default_isa): Global variable moved here from xtensa-isa.c.
	(elf32xtensa_no_literal_movement): New global variable.
	(elf_howto_table): Add entries for new relocations.
	(elf_xtensa_reloc_type_lookup): Handle new relocations.
	(property_table_compare): When addresses are equal, compare sizes and
	various property flags.
	(property_table_matches): New.
	(xtensa_read_table_entries): Extend to read new property tables.  Add
	output_addr parameter to indicate that output addresses should be used.
	Use bfd_get_section_limit.
	(elf_xtensa_find_property_entry): New.
	(elf_xtensa_in_literal_pool): Use elf_xtensa_find_property_entry.
	(elf_xtensa_check_relocs): Handle new relocations.
	(elf_xtensa_do_reloc): Use bfd_get_section_limit.  Handle new
	relocations.  Use new xtensa-isa.h functions.
	(build_encoding_error_message): Remove encode_result parameter.  Add
	new target_address parameter used to detect alignment errors.
	(elf_xtensa_relocate_section): Use bfd_get_section_limit.  Clean up
	error handling.  Use new is_operand_relocation function.
	(elf_xtensa_combine_prop_entries, elf_xtensa_merge_private_bfd_data):
	Use underbar macro for error messages.  Formatting.
	(get_const16_opcode): New.
	(get_l32r_opcode): Add a separate flag for initialization.
	(get_relocation_opnd): Operand number is no longer explicit in the
	relocation.  Change to decode the opcode and analyze its operands.
	(get_relocation_slot): New.
	(get_relocation_opcode): Add bfd parameter.  Use bfd_get_section_limit.
	Use new xtensa-isa.h functions to handle multislot instructions.
	(is_l32r_relocation): Add bfd parameter.  Use is_operand_relocation.
	(get_asm_simplify_size, is_alt_relocation, is_operand_relocation,
	insn_decode_len, insn_decode_opcode, check_branch_target_aligned,
	check_loop_aligned, check_branch_target_aligned_address, narrowable,
	widenable, narrow_instruction, widen_instruction, op_single_fmt_table,
	get_single_format, init_op_single_format_table): New.
	(elf_xtensa_do_asm_simplify): Add error_message parameter and use it
	instead of calling _bfd_error_handler.  Use new xtensa-isa.h functions.
	(contract_asm_expansion): Add error_message parameter and pass it to
	elf_xtensa_do_asm_simplify.  Replace use of R_XTENSA_OP0 relocation
	with R_XTENSA_SLOT0_OP.
	(get_expanded_call_opcode): Extend to handle either L32R or CONST16
	instructions.  Use new xtensa-isa.h functions.
	(r_reloc struct): Add new virtual_offset field.
	(r_reloc_init): Add contents and content_length parameters.  Set
	virtual_offset field to zero.  Add contents to target_offset field for
	partial_inplace relocations.
	(r_reloc_is_defined): Check for null.
	(print_r_reloc): New debug function.
	(source_reloc struct): Replace xtensa_operand field with pair of the
	opcode and the operand position.  Add is_abs_literal field.
	(init_source_reloc): Specify operand by opcode/position pair.  Set
	is_abs_literal field.
	(source_reloc_compare): When target_offsets are equal, compare other
	fields to make sorting predictable.
	(literal_value struct): Add is_abs_literal field.
	(value_map_hash_table struct): Add has_last_loc and last_loc fields.
	(init_literal_value): New.
	(is_same_value): Replace with ...
	(literal_value_equal): ... this function.  Add comparisons of
	virtual_offset and is_abs_literal fields.
	(value_map_hash_table_init): Use bfd_zmalloc.  Check for allocation
	failure.  Initialize has_last_loc field.
	(value_map_hash_table_delete): New.
	(hash_literal_value): Rename to ...
	(literal_value_hash): ... this.  Include is_abs_literal flag and
	virtual_offset field in the hash value.
	(get_cached_value): Rename to ...
	(value_map_get_cached_value): ... this.  Update calls to
	literal_value_hash and literal_value_equal.
	(add_value_map): Check for allocation failure.  Update calls to
	value_map_get_cached_value and literal_value_hash.
	(text_action, text_action_list, text_action_t): New types.
	(find_fill_action, compute_removed_action_diff, adjust_fill_action,
	text_action_add, text_action_add_literal, offset_with_removed_text,
	offset_with_removed_text_before_fill, find_insn_action,
	print_action_list, print_removed_literals): New.
	(offset_with_removed_literals): Delete.
	(xtensa_relax_info struct): Add is_relaxable_asm_section, action_list,
	fix_array, fix_array_count, allocated_relocs, relocs_count, and
	allocated_relocs_count fields.
	(init_xtensa_relax_info): Initialize new fields.
	(reloc_bfd_fix struct): Add new translated field.
	(reloc_bfd_fix_init): Add translated parameter and use it to set the
	translated field.
	(fix_compare, cache_fix_array): New.
	(get_bfd_fix): Remove fix_list parameter and get all relax_info for the
	section via get_xtensa_relax_info.  Use cache_fix_array to set up
	sorted fix_array and use bsearch instead of linear search.
	(section_cache_t): New struct.
	(init_section_cache, section_cache_section, clear_section_cache): New.
	(ebb_t, ebb_target_enum, proposed_action, ebb_constraint): New types.
	(init_ebb_constraint, free_ebb_constraint, init_ebb, extend_ebb_bounds,
	extend_ebb_bounds_forward, extend_ebb_bounds_backward,
	insn_block_decodable_len, ebb_propose_action, ebb_add_proposed_action):
	New.
	(retrieve_contents): Use bfd_get_section_limit.
	(elf_xtensa_relax_section): Add relocations_analyzed flag.  Update call
	to compute_removed_literals.  Free value_map_hash_table when no longer
	needed.
	(analyze_relocations): Check is_relaxable_asm_section flag.  Call
	compute_text_actions for all sections.
	(find_relaxable_sections): Mark sections as relaxable if they contain
	ASM_EXPAND relocations that can be optimized.  Adjust r_reloc_init
	call.  Increment relax_info src_count field only for appropriate
	relocation types.  Remove is_literal_section check.
	(collect_source_relocs): Use bfd_get_section_limit.  Adjust calls to
	r_reloc_init and find_associated_l32r_irel.  Check
	is_relaxable_asm_section flag.  Handle L32R instructions with absolute
	literals.  Pass is_abs_literal flag to init_source_reloc.
	(is_resolvable_asm_expansion): Use bfd_get_section_limit.  Check for
	CONST16 instructions.  Adjust calls to r_reloc_init and
	pcrel_reloc_fits.  Handle weak symbols conservatively.
	(find_associated_l32r_irel): Add bfd parameter and pass it to
	is_l32r_relocation.
	(compute_text_actions, compute_ebb_proposed_actions,
	compute_ebb_actions, check_section_ebb_pcrels_fit,
	check_section_ebb_reduces, text_action_add_proposed,
	compute_fill_extra_space): New.
	(remove_literals): Replace with ...
	(compute_removed_literals): ... this function.  Call
	init_section_cache.  Use bfd_get_section_limit.  Sort internal_relocs.
	Call xtensa_read_table_entries to get the property table.  Skip
	relocations other than R_XTENSA_32 and R_XTENSA_PLT.  Use new
	is_removable_literal, remove_dead_literal, and
	identify_literal_placement functions.
	(get_irel_at_offset): Rewrite to use bsearch on sorted relocations
	instead of linear search.
	(is_removable_literal, remove_dead_literal,
	identify_literal_placement): New.
	(relocations_reach): Update check for literal not referenced by any
	PC-relative relocations.  Adjust call to pcrel_reloc_fits.
	(coalesce_shared_literal, move_shared_literal): New.
	(relax_section): Use bfd_get_section_limit.  Call
	translate_section_fixes.  Update calls to r_reloc_init and
	offset_with_removed_text.  Check new is_relaxable_asm_section flag.
	Add call to pin_internal_relocs.  Add special handling for
	R_XTENSA_ASM_SIMPLIFY and R_XTENSA_DIFF* relocs.  Use virtual_offset
	info to calculate new addend_displacement variable.  Replace code for
	deleting literals with more general code to perform the actions
	determined by the action_list for the section.
	(translate_section_fixes, translate_reloc_bfd_fix): New.
	(translate_reloc): Check new is_relaxable_asm_section flag.  Call
	find_removed_literal only if is_operand_relocation.  Update call to
	offset_with_removed_text.  Use new target_offset and removed_bytes
	variables.
	(move_literal): New.
	(relax_property_section):  Use bfd_get_section_limit.  Set new
	is_full_prop_section flag and handle new property tables.  Update calls
	to r_reloc_init and offset_with_removed_text.  Check
	is_relaxable_asm_section flag.  Handle expansion of zero-sized
	unreachable entries, with use of offset_with_removed_text_before_fill.
	For relocatable links, combine entries only for literal tables.
	(relax_section_symbols): Check is_relaxable_asm_section flag.  Update
	calls to offset_with_removed_text.  Translate st_size field for
	function symbols.
	(do_fix_for_relocatable_link): Change to return bfd_boolean to indicate
	failure.  Add contents parameter.  Update call to get_bfd_fix.  Update
	call to r_reloc_init.  Call _bfd_error_handler and return FALSE for
	R_XTENSA_ASM_EXPAND relocs.
	(do_fix_for_final_link): Add input_bfd and contents parameters.  Update
	call to get_bfd_fix.  Include offset from contents for partial_inplace
	relocations.
	(is_reloc_sym_weak): New.
	(pcrel_reloc_fits): Use new xtensa-isa.h functions.
	(prop_sec_len): New.
	(xtensa_is_property_section): Handle new property sections.
	(is_literal_section): Delete.
	(internal_reloc_compare): When r_offset matches, compare r_info and
	r_addend to make sorting predictable.
	(internal_reloc_matches): New.
	(xtensa_get_property_section_name): Handle new property sections.
	(xtensa_get_property_predef_flags): New.
	(xtensa_callback_required_dependence): Use bfd_get_section_limit.
	Update calls to xtensa_isa_init, is_l32r_relocation, and r_reloc_init.
	* xtensa-isa.c (xtensa_default_isa): Moved to elf32-xtensa.c.
	(xtisa_errno, xtisa_error_msg): New variables.
	(xtensa_isa_errno, xtensa_isa_error_msg): New.
	(xtensa_insnbuf_alloc): Add error handling.
	(xtensa_insnbuf_to_chars): Add num_chars parameter.  Update to
	use xtensa_format_decode.  Add error handling.
	(xtensa_insnbuf_from_chars): Add num_chars parameter.  Decode the
	instruction length to find the number of bytes to copy.
	(xtensa_isa_init): Add error handling.  Replace calls to
	xtensa_load_isa and xtensa_extend_isa with code to initialize lookup
	tables in the xtensa_modules structure.
	(xtensa_check_isa_config, xtensa_add_isa, xtensa_load_isa,
	xtensa_extend_isa): Delete.
	(xtensa_isa_free): Change to only free lookup tables.
	(opname_lookup_compare): Replace with ...
	(xtensa_isa_name_compare): ... this function.  Use strcasecmp.
	(xtensa_insn_maxlength): Rename to ...
	(xtensa_isa_maxlength): ... this.
	(xtensa_insn_length): Delete.
	(xtensa_insn_length_from_first_byte): Replace with ...
	(xtensa_isa_length_from_chars): ... this function.
	(xtensa_num_opcodes): Rename to ...
	(xtensa_isa_num_opcodes): ... this.
	(xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
	xtensa_isa_num_regfiles, xtensa_isa_num_stages,
	xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
	xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
	xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
	xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
	xtensa_format_get_slot, xtensa_format_set_slot): New functions.
	(xtensa_opcode_lookup): Add error handling.
	(xtensa_decode_insn): Replace with ...
	(xtensa_opcode_decode): ... this function, with new format and
	slot parameters.  Add error handling.
	(xtensa_encode_insn): Replace with ...
	(xtensa_opcode_encode): ... this function, which does the encoding via
	one of the entries in the "encode_fns" array.  Add error handling.
	(xtensa_opcode_name): Add error handling.
	(xtensa_opcode_is_branch, xtensa_opcode_is_jump, xtensa_opcode_is_loop,
	xtensa_opcode_is_call): New.
	(xtensa_num_operands): Replace with ...
	(xtensa_opcode_num_operands): ... this function.  Add error handling.
	(xtensa_opcode_num_stateOperands,
	xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
	xtensa_opcode_funcUnit_use, xtensa_operand_name,
	xtensa_operand_is_visible): New.
	(xtensa_get_operand, xtensa_operand_kind): Delete.
	(xtensa_operand_inout): Add error handling and special-case for
	"sout" operands.
	(xtensa_operand_get_field, xtensa_operand_set_field): Rewritten to
	operate on one slot of an instruction.  Added error handling.
	(xtensa_operand_encode): Handle default operands with no encoding
	functions.  Check for success by comparing against decoded value.
	Add error handling.
	(xtensa_operand_decode): Handle default operands.  Return decoded value
	through argument pointer.  Add error handling.
	(xtensa_operand_is_register, xtensa_operand_regfile,
	xtensa_operand_num_regs, xtensa_operand_is_known_reg): New.
	(xtensa_operand_isPCRelative): Rename to ...
	(xtensa_operand_is_PCrelative): ... this.  Add error handling.
	(xtensa_operand_do_reloc, xtensa_operand_undo_reloc): Return value
	through argument pointer.  Add error handling.
	(xtensa_stateOperand_state, xtensa_stateOperand_inout,
	xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
	xtensa_regfile_lookup_shortname, xtensa_regfile_name,
	xtensa_regfile_shortname, xtensa_regfile_view_parent,
	xtensa_regfile_num_bits, xtensa_regfile_num_entries,
	xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
	xtensa_state_is_exported, xtensa_sysreg_lookup,
	xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
	xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
	xtensa_interface_num_bits, xtensa_interface_inout,
	xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
	xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New.
	* xtensa-modules.c: Rewrite to use new data structures.
	* reloc.c (BFD_RELOC_XTENSA_DIFF8, BFD_RELOC_XTENSA_DIFF16,
	BFD_RELOC_XTENSA_DIFF32, BFD_RELOC_XTENSA_SLOT0_OP,
	BFD_RELOC_XTENSA_SLOT1_OP, BFD_RELOC_XTENSA_SLOT2_OP,
	BFD_RELOC_XTENSA_SLOT3_OP, BFD_RELOC_XTENSA_SLOT4_OP,
	BFD_RELOC_XTENSA_SLOT5_OP, BFD_RELOC_XTENSA_SLOT6_OP,
	BFD_RELOC_XTENSA_SLOT7_OP, BFD_RELOC_XTENSA_SLOT8_OP,
	BFD_RELOC_XTENSA_SLOT9_OP, BFD_RELOC_XTENSA_SLOT10_OP,
	BFD_RELOC_XTENSA_SLOT11_OP, BFD_RELOC_XTENSA_SLOT12_OP,
	BFD_RELOC_XTENSA_SLOT13_OP, BFD_RELOC_XTENSA_SLOT14_OP,
	BFD_RELOC_XTENSA_SLOT0_ALT, BFD_RELOC_XTENSA_SLOT1_ALT,
	BFD_RELOC_XTENSA_SLOT2_ALT, BFD_RELOC_XTENSA_SLOT3_ALT,
	BFD_RELOC_XTENSA_SLOT4_ALT, BFD_RELOC_XTENSA_SLOT5_ALT,
	BFD_RELOC_XTENSA_SLOT6_ALT, BFD_RELOC_XTENSA_SLOT7_ALT,
	BFD_RELOC_XTENSA_SLOT8_ALT, BFD_RELOC_XTENSA_SLOT9_ALT,
	BFD_RELOC_XTENSA_SLOT10_ALT, BFD_RELOC_XTENSA_SLOT11_ALT,
	BFD_RELOC_XTENSA_SLOT12_ALT, BFD_RELOC_XTENSA_SLOT13_ALT,
	BFD_RELOC_XTENSA_SLOT14_ALT): Add new relocations.
	* Makefile.am (xtensa-isa.lo, xtensa-modules.lo): Update dependencies.
	* Makefile.in: Regenerate.
	* bfd-in2.h: Likewise.
	* libbfd.h: Likewise.

gas ChangeLog

	* config/tc-xtensa.c (absolute_literals_supported): New global flag.
	(UNREACHABLE_MAX_WIDTH): Define.
	(XTENSA_FETCH_WIDTH): Delete.
	(cur_vinsn, xtensa_fetch_width, xt_saved_debug_type, past_xtensa_end,
	prefer_const16, prefer_l32r): New global variables.
	(LIT4_SECTION_NAME): Define.
	(lit4_state struct): Add lit4_seg_name and lit4_seg fields.
	(XTENSA_PROP_*, GET_XTENSA_PROP_*, SET_XTENSA_PROP_*): Define.
	(frag_flags struct): New.
	(xtensa_block_info struct): Move from tc-xtensa.h.  Add flags field.
	(subseg_map struct): Add cur_total_freq and cur_target_freq fields.
	(bitfield, bit_is_set, set_bit, clear_bit): Define.
	(MAX_FORMATS): Define.
	(op_placement_info struct, op_placement_table): New.
	(O_pltrel, O_hi16, O_lo16): Define.
	(directiveE enum): Rename directive_generics to directive_transform.
	Delete directive_relax.  Add directive_schedule,
	directive_absolute_literals, and directive_last_directive.
	(directive_info): Rename "generics" to "transform".  Delete "relax".
	Add "schedule" and "absolute-literals".
	(directive_state): Adjust entries to match changes in directive_info.
	(xtensa_relax_statesE, RELAX_IMMED_MAXSTEPS): Move to tc-xtensa.h.
	(xtensa_const16_opcode, xtensa_movi_opcode, xtensa_movi_n_opcode,
	xtensa_l32r_opcode, xtensa_nop_opcode, xtensa_rsr_lcount_opcode): New.
	(xtensa_j_opcode, xtensa_rsr_opcode): Delete.
	(align_only_targets, software_a0_b_retw_interlock,
	software_avoid_b_j_loop_end, maybe_has_b_j_loop_end,
	software_avoid_short_loop, software_avoid_close_loop_end,
	software_avoid_all_short_loops, specific_opcode): Delete.
	(warn_unaligned_branch_targets): New.
	(workaround_a0_b_retw, workaround_b_j_loop_end, workaround_short_loop,
	workaround_close_loop_end, workaround_all_short_loops): Default FALSE.
	(option_[no_]link_relax, option_[no_]transform,
	option_[no_]absolute_literals, option_warn_unaligned_targets,
	option_prefer_l32r, option_prefer_const16, option_target_hardware):
	New enum values.
	(option_[no_]align_only_targets, option_literal_section_name,
	option_text_section_name, option_data_section_name,
	option_bss_section_name, option_eb, option_el): Delete.
	(md_longopts): Add entries for: [no-]transform, [no-]absolute-literals,
	warn-unaligned-targets, prefer-l32r, prefer-const16, [no-]link-relax,
	and target-hardware.  Delete entries for [no-]target-align-only,
	literal-section-name, text-section-name, data-section-name, and
	bss-section-name.
	(md_parse_option): Handle new options and remove old ones.  Accept but
	ignore [no-]density options.  Warn for [no-]generics and [no-]relax
	and treat them as [no-]transform.
	(md_show_usage): Add new options and remove old ones.
	(xtensa_setup_hw_workarounds): New.
	(md_pseudo_table): Change "word" entry to use xtensa_elf_cons.  Add
	"long", "short", "loc" and "frequency" entries.
	(use_generics): Rename to ...
	(use_transform): ... this function.  Add past_xtensa_end check.
	(use_longcalls): Add past_xtensa_end check.
	(code_density_available, can_relax): Delete.
	(do_align_targets): New.
	(get_directive): Accept dashes in directive names.  Warn about
	[no-]generics and [no-]relax directives and treat them as
	[no-]transform.
	(xtensa_begin_directive): Call md_flush_pending_output only for some
	directives.  Check for directives inside instruction bundles.  Warn
	about deprecated ".begin literal" usage.  Warn and ignore [no-]density
	directives.  Handle new directives.  Check generating_literals flag
	for literal_prefix.
	(xtensa_end_directive): Check for directives inside instruction
	bundles.  Warn and ignore [no-]density directives.  Handle new
	directives.  Call xtensa_set_frag_assembly_state.
	(xtensa_loc_directive_seen, xtensa_dwarf2_directive_loc,
	xtensa_dwarf2_emit_insn): New.
	(xtensa_literal_position): Call md_flush_pending_output.  Do not check
	use_literal_section flag.
	(xtensa_literal_pseudo): Call md_flush_pending_output.  Handle absolute
	literals.  Use xtensa_elf_cons to parse the expression.
	(xtensa_literal_prefix): Do not check use_literal_section.  Support
	".lit4" sections for absolute literals.  Change prefix convention to
	replace ".text" (or ".t" in a linkonce section).  No need to call
	subseg_set.
	(xtensa_frequency_pseudo, xtensa_elf_cons, xtensa_elf_suffix): New.
	(expression_end): Handle closing braces and colons.
	(PLT_SUFFIX, plt_suffix): Delete.
	(expression_maybe_register): Use new xtensa-isa.h functions.  Use
	xtensa_elf_suffix instead of checking for plt suffix, and handle O_lo16
	and O_hi16 expressions as well.
	(tokenize_arguments): Handle closing braces and colons.
	(parse_arguments): Use new xtensa-isa.h functions.  Handle "invisible"
	operands and paired register syntax.
	(get_invisible_operands): New.
	(xg_translate_sysreg_op): Handle new Xtensa LX RSR/WSR/XSR syntax.  Use
	new xtensa-isa.h functions.
	(xtensa_translate_old_userreg_ops, xtensa_translate_zero_immed): New.
	(xg_translate_idioms): Check if inside bundle.  Use use_transform.
	Handle new Xtensa LX RSR/WSR/XSR syntax.  Remove code to widen density
	instructions.  Use xtensa_translate_zero_immed.
	(operand_is_immed, operand_is_pcrel_label): Delete.
	(get_relaxable_immed): Use new xtensa-isa.h functions.
	(get_opcode_from_buf): Add slot parameter.  Use new xtensa-isa.h
	functions.
	(xtensa_print_insn_table, print_vliw_insn): New.
	(is_direct_call_opcode): Use new xtensa-isa.h functions.
	(is_call_opcode, is_loop_opcode, is_conditional_branch_opcode,
	is_branch_or_jump_opcode): Delete.
	(is_movi_opcode, decode_reloc, encode_reloc, encode_alt_reloc): New.
	(opnum_to_reloc, reloc_to_opnum): Delete.
	(xtensa_insnbuf_set_operand, xtensa_insnbuf_get_operand): Use new
	xtensa-isa.h functions.  Operate on one slot of an instruction.
	(xtensa_insnbuf_set_immediate_field, is_negatable_branch,
	xg_get_insn_size): Delete.
	(xg_get_build_instr_size): Use xg_get_single_size.
	(xg_is_narrow_insn, xg_is_single_relaxable_insn): Update calls to
	xg_build_widen_table.  Use xg_get_single_size.
	(xg_get_max_narrow_insn_size): Delete.
	(xg_get_max_insn_widen_size, xg_get_max_insn_widen_literal_size,
	xg_is_relaxable_insn): Update calls to xg_build_widen_table.  Use
	xg_get_single_size.
	(xg_build_to_insn): Record the loc field.  Handle OP_OPERAND_HI16U and
	OP_OPERAND_LOW16U.  Check xg_valid_literal_expression.
	(xg_expand_to_stack, xg_expand_narrow): Update calls to
	xg_build_widen_table.  Use xg_get_single_size.
	(xg_immeds_fit): Use new xtensa-isa.h functions.  Update call to
	xg_check_operand.
	(xg_symbolic_immeds_fit): Likewise.  Also handle O_lo16 and O_hi16, and
	treat weak symbols conservatively.
	(xg_check_operand): Use new xtensa-isa.h functions.
	(is_dnrange): Delete.
	(xg_assembly_relax): Inline previous calls to tinsn_copy.
	(xg_finish_frag): Specify separate relax states for the frag and slot0.
	(is_branch_jmp_to_next, xg_add_branch_and_loop_targets): Use new
	xtensa-isa.h functions.
	(xg_instruction_matches_option_term, xg_instruction_matches_or_options,
	xg_instruction_matches_options): New.
	(xg_instruction_matches_rule): Handle O_register expressions.  Call
	xg_instruction_matches_options.
	(transition_rule_cmp): New.
	(xg_instruction_match): Update call to xg_build_simplify_table.
	(xg_build_token_insn): Record loc fields.
	(xg_simplify_insn): Check is_specific_opcode field and
	density_supported flag.
	(xg_expand_assembly_insn): Skip checking code_density_available.  Use
	new xtensa-isa.h functions.  Call use_transform instead of can_relax.
	(xg_assemble_literal): Add error handling for O_big.  Call
	record_alignment.  Handle O_pltrel.
	(xg_valid_literal_expression): New.
	(xg_assemble_literal_space): Add slot parameter.  Remove call to
	set_expr_symbol_offset.  Add call to record_alignment.  Update call to
	xg_finish_frag.
	(xg_emit_insn): Delete.
	(xg_emit_insn_to_buf): Add format parameter.  Update calls to
	xg_add_opcode_fix and xtensa_insnbuf_to_chars.
	(xg_add_opcode_fix): Change opcode parameter to tinsn and add format
	and slot parameters.  Handle new "alternate" relocations for absolute
	literals and CONST16 instructions.  Check for bad uses of O_lo16 and
	O_hi16.  Use new xtensa-isa.h functions.
	(xg_assemble_tokens): Delete.
	(is_register_writer): Use new xtensa-isa.h functions.
	(is_bad_loopend_opcode): Check for xtensa_rsr_lcount_opcode instead of
	old-style RSR from LCOUNT.
	(next_frag_opcode): Delete.
	(next_frag_opcode_is_loop, next_frag_format_size, frag_format_size,
	update_next_frag_state): New.
	(update_next_frag_nop_state): Delete.
	(next_frag_pre_opcode_bytes): Use next_frag_opcode_is_loop.
	(xtensa_mark_literal_pool_location): Check use_literal_section flag and
	the state of the absolute-literals directive.  Add calls to
	record_alignment and xtensa_set_frag_assembly_state.  Call
	xtensa_switch_to_non_abs_literal_fragment instead of
	xtensa_switch_to_literal_fragment.
	(build_nop): New.
	(assemble_nop): Use build_nop.  Update call to xtensa_insnbuf_to_chars.
	(get_expanded_loop_offset): Change check for undefined opcode to an
	assertion.
	(xtensa_set_frag_assembly_state, relaxable_section,
	xtensa_find_unmarked_state_frags, xtensa_find_unaligned_branch_targets,
	xtensa_find_unaligned_loops, xg_apply_tentative_value): New.
	(md_begin): Update call to xtensa_isa_init.  Initialize linkrelax to 1.
	Set lit4_seg_name.  Call xg_init_vinsn.  Initialize new global opcodes.
	Call init_op_placement_info_table and xtensa_set_frag_assembly_state.
	(xtensa_init_fix_data): New.
	(xtensa_frob_label): Reset label symbol to the current frag.  Check
	do_align_targets and generating_literals flag.  Propagate frequency
	info to new alignment frag.  Call xtensa_set_frag_assembly_state.
	(xtensa_unrecognized_line): New.
	(xtensa_flush_pending_output): Check if inside a bundle.  Add a call
	to xtensa_set_frag_assembly_state.
	(error_reset_cur_vinsn): New.
	(md_assemble): Remove check for literal frag.  Remove call to
	istack_init.  Call use_transform instead of use_generics.  Parse
	explicit instruction format specifiers.  Move code for
	a0_b_retw_interlock workaround to xg_assemble_vliw_tokens.  Call
	error_reset_cur_vinsn on errors.  Add call to get_invisible_operands.
	Add dwarf2_where call.  Remote automatic alignment for ENTRY
	instructions.  Move call to xtensa_clear_insn_labels to the end.
	Rearrange to handle bundles.
	(xtensa_cons_fix_new): Delete.
	(xtensa_handle_align): New.
	(xtensa_frag_init): Call xtensa_set_frag_assembly_state.  Remove
	assignment to is_no_density field.
	(md_pcrel_from): Use new xtensa-isa.h functions.  Use decode_reloc
	instead of reloc_to_opnum.  Handle "alternate" relocations.
	(xtensa_force_relocation, xtensa_check_inside_bundle,
	xtensa_elf_section_change_hook): New.
	(xtensa_symbol_new_hook): Delete.
	(xtensa_fix_adjustable): Check for difference of symbols with an
	offset.  Check for external and weak symbols.
	(md_apply_fix3): Remove cases for XTENSA_OP{0,1,2} relocs.
	(md_estimate_size_before_relax): Return expansion for the first slot.
	(tc_gen_reloc): Handle difference of symbols by producing
	XTENSA_DIFF{8,16,32} relocs and by writing the value of the difference
	into the output.  Handle new XTENSA_SLOT*_OP relocs by storing the
	tentative values into the output when linkrelax is set.
	(XTENSA_PROP_SEC_NAME): Define.
	(xtensa_post_relax_hook): Call xtensa_find_unmarked_state_frags.
	Create literal tables only if using literal sections.  Create new
	property tables instead of old instruction tables.  Check for unaligned
	branch targets and loops.
	(finish_vinsn, find_vinsn_conflicts, check_t1_t2_reads_and_writes,
	new_resource_table, clear_resource_table, resize_resource_table,
	resources_available, reserve_resources, release_resources,
	opcode_funcUnit_use_unit, opcode_funcUnit_use_stage,
	resources_conflict, xg_find_narrowest_format, relaxation_requirements,
	bundle_single_op, emit_single_op, xg_assemble_vliw_tokens): New.
	(xtensa_end): Call xtensa_flush_pending_output.  Set past_xtensa_end
	flag.  Update checks for workaround options.  Call
	xtensa_mark_narrow_branches and xtensa_mark_zcl_first_insns.
	(xtensa_cleanup_align_frags): Add special case for branch targets.
	Check for and mark unreachable frags.
	(xtensa_fix_target_frags): Remove use of align_only_targets flag.
	Use RELAX_LOOP_END_BYTES in special case for negatable branch at the
	end of a zero-overhead loop body.
	(frag_can_negate_branch): Handle instructions with multiple slots.
	Use new xtensa-isa.h functions
	(xtensa_mark_narrow_branches, is_narrow_branch_guaranteed_in_range,
	xtensa_mark_zcl_first_insns): New.
	(xtensa_fix_a0_b_retw_frags, xtensa_fix_b_j_loop_end_frags): Error if
	transformations are disabled.
	(next_instrs_are_b_retw): Use new xtensa-isa.h functions.  Handle
	multislot instructions.
	(xtensa_fix_close_loop_end_frags, xtensa_fix_short_loop_frags):
	Likewise.  Also error if transformations are disabled.
	(unrelaxed_frag_max_size): New.
	(unrelaxed_frag_min_insn_count, unrelax_frag_has_b_j): Use new
	xtensa-isa.h functions.
	(xtensa_sanity_check, is_empty_loop, is_local_forward_loop): Use
	xtensa_opcode_is_loop instead of is_loop_opcode.
	(get_text_align_power): Replace as_fatal with assertion.
	(get_text_align_fill_size): Iterate instead of using modulus when
	use_nops is false.
	(get_noop_aligned_address): Assert that this is for a machine-dependent
	RELAX_ALIGN_NEXT_OPCODE frag.  Use next_frag_opcode_is_loop,
	xg_get_single_size, and frag_format_size.
	(get_widen_aligned_address): Rename to ...
	(get_aligned_diff): ... this function.  Add max_diff parameter.
	Remove handling of rs_align/rs_align_code frags.  Use
	next_frag_format_size, get_text_align_power, get_text_align_fill_size,
	next_frag_opcode_is_loop, and xg_get_single_size.  Compute max_diff
	and pass it back to caller.
	(xtensa_relax_frag): Use relax_frag_loop_align.  Add code for new
	RELAX_SLOTS, RELAX_MAYBE_UNREACHABLE, RELAX_MAYBE_DESIRE_ALIGN,
	RELAX_FILL_NOP, and RELAX_UNREACHABLE frag types.  Check relax_seen.
	(relax_frag_text_align): Rename to ...
	(relax_frag_loop_align): ... this function.  Assume loops can only be
	in the first slot of an instruction.
	(relax_frag_add_nop): Use assemble_nop instead of constructing an OR
	instruction.  Remove call to frag_wane.
	(relax_frag_narrow): Rename to ...
	(relax_frag_for_align): ... this function.  Extend to handle
	RELAX_FILL_NOP and RELAX_UNREACHABLE, as well as RELAX_SLOTS with
	RELAX_NARROW for the first slot.
	(find_address_of_next_align_frag, bytes_to_stretch): New.
	(future_alignment_required): Use find_address_of_next_align_frag and
	bytes_to_stretch.  Look ahead to subsequent frags to make smarter
	alignment decisions.
	(relax_frag_immed): Add format, slot, and estimate_only parameters.
	Check if transformations are enabled for b_j_loop_end workaround.
	Use new xtensa-isa.h functions and handle multislot instructions.
	Update call to xg_assembly_relax.
	(md_convert_frag): Handle new RELAX_SLOTS, RELAX_UNREACHABLE,
	RELAX_MAYBE_UNREACHABLE, RELAX_MAYBE_DESIRE_ALIGN, and RELAX_FILL_NOP
	frag types.
	(convert_frag_narrow): Add segP, format and slot parameters.  Call
	convert_frag_immed for branch instructions.  Adjust calls to
	tinsn_from_chars, tinsn_immed_from_frag, and xg_emit_insn_to_buf.  Use
	xg_get_single_size and xg_get_single_format.
	(convert_frag_fill_nop): New.
	(convert_frag_immed): Add format and slot parameters.  Handle multislot
	instructions and use new xtensa-isa.h functions.  Update calls to
	tinsn_immed_from_frag and xg_assembly_relax.  Check if transformations
	enabled for b_j_loop_end workaround.  Use build_nop instead of
	assemble_nop.  Check is_specific_opcode flag.  Check for unreachable
	frags.  Use xg_get_single_size.  Handle O_pltrel.
	(fix_new_exp_in_seg): Remove check for old plt flag.
	(convert_frag_immed_finish_loop): Update calls to tinsn_from_chars and
	xtensa_insnbuf_to_chars.  Call tinsn_immed_from_frag.  Change check
	for loop opcode to an assertion.  Mark all frags up to the end of the
	loop as not transformable.
	(get_last_insn_flags, set_last_insn_flags): Use get_subseg_info.
	(get_subseg_info): New.
	(xtensa_move_literals): Call xtensa_set_frag_assembly_state.  Add null
	check for dest_seg.
	(xtensa_switch_to_literal_fragment): Rewrite to handle absolute
	literals and use xtensa_switch_to_non_abs_literal_fragment otherwise.
	(xtensa_switch_to_non_abs_literal_fragment): New.
	(cache_literal_section): Add is_code parameter and pass it through to
	retrieve_literal_seg.
	(retrieve_literal_seg): Add is_code parameter and use it to set the
	flags on the literal section.  Handle case where head parameter is 0.
	(get_frag_is_no_transform, set_frag_is_specific_opcode,
	set_frag_is_no_transform): New.
	(xtensa_create_property_segments): Add end_property_function parameter
	and pass it through to add_xt_block_frags.  Call bfd_get_section_flags
	and skip SEC_DEBUGGING and !SEC_ALLOC sections.
	(xtensa_create_xproperty_segments, section_has_xproperty): New.
	(add_xt_block_frags): Add end_property_function parameter and call it
	if it is non-zero.  Call xtensa_frag_flags_init.
	(xtensa_frag_flags_is_empty, xtensa_frag_flags_init,
	get_frag_property_flags, frag_flags_to_number,
	xtensa_frag_flags_combinable, xt_block_aligned_size,
	xtensa_xt_block_combine, add_xt_prop_frags,
	init_op_placement_info_table, opcode_fits_format_slot,
	xg_get_single_size, xg_get_single_format): New.
	(istack_push): Inline call to tinsn_copy.
	(tinsn_copy): Delete.
	(tinsn_has_invalid_symbolic_operands): Handle O_hi16 and O_lo16 and
	CONST16 opcodes.  Handle O_big, O_illegal, and O_absent.
	(tinsn_has_complex_operands): Handle O_hi16 and O_lo16.
	(tinsn_to_insnbuf): Use xg_get_single_format and new xtensa-isa.h
	functions.  Handle invisible operands.
	(tinsn_to_slotbuf): New.
	(tinsn_check_arguments): Use new xtensa-isa.h functions.
	(tinsn_from_chars): Add slot parameter.  Rewrite using xg_init_vinsn,
	vinsn_from_chars, and xg_free_vinsn.
	(tinsn_from_insnbuf): New.
	(tinsn_immed_from_frag): Add slot parameter and handle multislot
	instructions.  Handle symbol differences.
	(get_num_stack_text_bytes): Use xg_get_single_size.
	(xg_init_vinsn, xg_clear_vinsn, vinsn_has_specific_opcodes,
	xg_free_vinsn, vinsn_to_insnbuf, vinsn_from_chars, expr_is_register,
	get_expr_register, set_expr_symbol_offset_diff): New.
	* config/tc-xtensa.h (MAX_SLOTS): Define.
	(xtensa_relax_statesE): Move from tc-xtensa.c. Add
	RELAX_CHECK_ALIGN_NEXT_OPCODE, RELAX_MAYBE_DESIRE_ALIGN, RELAX_SLOTS,
	RELAX_FILL_NOP, RELAX_UNREACHABLE, RELAX_MAYBE_UNREACHABLE, and
	RELAX_NONE types.
	(RELAX_IMMED_MAXSTEPS): Move from tc-xtensa.c.
	(xtensa_frag_type struct): Add is_assembly_state_set,
	use_absolute_literals, relax_seen, is_unreachable, is_specific_opcode,
	is_align, is_text_align, alignment, and is_first_loop_insn fields.
	Replace is_generics and is_relax fields by is_no_transform field.
	Delete is_text and is_longcalls fields.  Change text_expansion and
	literal_expansion to arrays of MAX_SLOTS entries.  Add arrays of
	per-slot information: literal_frags, slot_subtypes, slot_symbols,
	slot_sub_symbols, and slot_offsets.  Add fr_prev field.
	(xtensa_fix_data struct): New.
	(xtensa_symfield_type struct): Delete plt field.
	(xtensa_block_info struct): Move definition to tc-xtensa.h.  Add
	forward declaration here.
	(xt_section_type enum): Delete xt_insn_sec.  Add xt_prop_sec.
	(XTENSA_SECTION_RENAME): Undefine.
	(TC_FIX_TYPE, TC_INIT_FIX_DATA, TC_FORCE_RELOCATION, NO_PSEUDO_DOT,
	tc_unrecognized_line, md_do_align, md_elf_section_change_hook,
	HANDLE_ALIGN, TC_LINKRELAX_FIXUP, SUB_SEGMENT_ALIGN): Define.
	(TC_CONS_FIX_NEW, tc_symbol_new_hook): Delete.
	(unit_num_copies_func, opcode_num_units_func,
	opcode_funcUnit_use_unit_func, opcode_funcUnit_use_stage_func): New.
	(resource_table struct): New.
	* config/xtensa-istack.h (MAX_INSN_ARGS): Increase from 6 to 10.
	(TInsn struct): Add keep_wide, loc, fixup, record_fix, subtype,
	literal_space, symbol, sub_symbol, offset, and literal_frag fields.
	(tinsn_copy): Delete prototype.
	(vliw_insn struct): New.
	* config/xtensa-relax.c (insn_pattern_struct): Add options field.
	(widen_spec_list): Add option conditions for density and boolean
	instructions.  Add expansions using CONST16 and conditions for using
	CONST16 vs. L32R.  Use new Xtensa LX RSR/WSR syntax.  Add entries for
	predicted branches.
	(simplify_spec_list): Add option conditions for density instructions.
	Add entry for NOP instruction.
	(append_transition): Add cmp function pointer parameter and use it to
	insert the new entry in order.
	(operand_function_LOW16U, operand_function_HI16U): New.
	(xg_has_userdef_op_fn, xg_apply_userdef_op_fn): Handle
	OP_OPERAND_LOW16U and OP_OPERAND_HI16U.
	(enter_opname, split_string): Use xstrdup instead of strdup.
	(init_insn_pattern): Initialize new options field.
	(clear_req_or_option_list, clear_req_option_list,
	clone_req_or_option_list, clone_req_option_list, parse_option_cond):
	New.
	(parse_insn_pattern): Parse option conditions.
	(transition_applies): New.
	(build_transition): Use new xtensa-isa.h functions.  Fix incorrectly
	swapped last arguments in calls to append_constant_value_condition.
	Call clone_req_option_list.  Add warning about invalid opcode.
	Handle LOW16U and HI16U function names.
	(build_transition_table): Add cmp parameter and use it in calls to
	append_transition.  Use new xtensa-isa.h functions.  Check
	transition_applies before adding entries.
	(xg_build_widen_table, xg_build_simplify_table): Add cmp parameter and
	pass it through to build_transition_table.
	* config/xtensa-relax.h (ReqOrOptionList, ReqOrOption, ReqOptionList,
	ReqOption, transition_cmp_fn): New types.
	(OpType enum): Add OP_OPERAND_LOW16U and OP_OPERAND_HI16U.
	(transition_rule struct): Add options field.
	* doc/as.texinfo (Overview): Update Xtensa options.
	* doc/c-xtensa.texi (Xtensa Options): Delete --[no-]density,
	--[no-]relax, and --[no-]generics options.  Update descriptions of
	--text-section-literals and --[no-]longcalls.  Add
	--[no-]absolute-literals and --[no-]transform.
	(Xtensa Syntax): Add description of syntax for FLIX instructions.
	Remove use of "generic" and "specific" terminology for opcodes.
	(Xtensa Registers): Generalize the syntax description to include
	user-defined register files.
	(Xtensa Automatic Alignment): Update.
	(Xtensa Branch Relaxation): Mention limitation of unconditional jumps.
	(Xtensa Call Relaxation): Linker can now remove most of the overhead.
	(Xtensa Directives): Remove confusing rules about precedence.
	(Density Directive, Relax Directive): Delete.
	(Schedule Directive): New.
	(Generics Directive): Rename to ...
	(Transform Directive): ... this node.
	(Literal Directive): Update for absolute literals.  Missing
	literal_position directive is now an error.
	(Literal Position Directive): Update for absolute literals.
	(Freeregs Directive): Delete.
	(Absolute Literals Directive): New.
	(Frame Directive): Minor editing.
	* Makefile.am (DEPTC_xtensa_elf, DEPOBJ_xtensa_elf, DEP_xtensa_elf):
	Update dependencies.
	* Makefile.in: Regenerate.

gas/testsuite ChangeLog

	* gas/xtensa/all.exp: Adjust expected error message for j_too_far.
	Change entry_align test to expect an error.
	* gas/xtensa/entry_misalign2.s: Use no-transform instead of
	no-generics directives.

include ChangeLog

	* xtensa-config.h (XSHAL_USE_ABSOLUTE_LITERALS,
	XCHAL_HAVE_PREDICTED_BRANCHES, XCHAL_INST_FETCH_WIDTH): New.
	(XCHAL_EXTRA_SA_SIZE, XCHAL_EXTRA_SA_ALIGN): Delete.
	* xtensa-isa-internal.h (ISA_INTERFACE_VERSION): Delete.
	(config_sturct struct): Delete.
	(XTENSA_OPERAND_IS_REGISTER, XTENSA_OPERAND_IS_PCRELATIVE,
	XTENSA_OPERAND_IS_INVISIBLE, XTENSA_OPERAND_IS_UNKNOWN,
	XTENSA_OPCODE_IS_BRANCH, XTENSA_OPCODE_IS_JUMP,
	XTENSA_OPCODE_IS_LOOP, XTENSA_OPCODE_IS_CALL,
	XTENSA_STATE_IS_EXPORTED, XTENSA_INTERFACE_HAS_SIDE_EFFECT): Define.
	(xtensa_format_encode_fn, xtensa_get_slot_fn, xtensa_set_slot_fn): New.
	(xtensa_insn_decode_fn): Rename to ...
	(xtensa_opcode_decode_fn): ... this.
	(xtensa_immed_decode_fn, xtensa_immed_encode_fn, xtensa_do_reloc_fn,
	xtensa_undo_reloc_fn): Update.
	(xtensa_encoding_template_fn): Delete.
	(xtensa_opcode_encode_fn, xtensa_format_decode_fn,
	xtensa_length_decode_fn): New.
	(xtensa_format_internal, xtensa_slot_internal): New types.
	(xtensa_operand_internal): Delete operand_kind, inout, isPCRelative,
	get_field, and set_field fields.  Add name, field_id, regfile,
	num_regs, and flags fields.
	(xtensa_arg_internal): New type.
	(xtensa_iclass_internal): Change operands field to array of
	xtensa_arg_internal.  Add num_stateOperands, stateOperands,
	num_interfaceOperands, and interfaceOperands fields.
	(xtensa_opcode_internal): Delete length, template, and iclass fields.
	Add iclass_id, flags, encode_fns, num_funcUnit_uses, and funcUnit_uses.
	(opname_lookup_entry): Delete.
	(xtensa_regfile_internal, xtensa_interface_internal,
	xtensa_funcUnit_internal, xtensa_state_internal,
	xtensa_sysreg_internal, xtensa_lookup_entry): New.
	(xtensa_isa_internal): Replace opcode_table field with opcodes field.
	Change type of opname_lookup_table.  Delete num_modules,
	module_opcode_base, module_decode_fn, config, and has_density fields.
	Add num_formats, formats, format_decode_fn, length_decode_fn,
	num_slots, slots, num_fields, num_operands, operands, num_iclasses,
	iclasses, num_regfiles, regfiles, num_states, states,
	state_lookup_table, num_sysregs, sysregs, sysreg_lookup_table,
	max_sysreg_num, sysreg_table, num_interfaces, interfaces,
	interface_lookup_table, num_funcUnits, funcUnits and
	funcUnit_lookup_table fields.
	(xtensa_isa_module, xtensa_isa_modules): Delete.
	(xtensa_isa_name_compare): New prototype.
	(xtisa_errno, xtisa_error_msg): New.
	* xtensa-isa.h (XTENSA_ISA_VERSION): Define.
	(xtensa_isa): Change type.
	(xtensa_operand): Delete.
	(xtensa_format, xtensa_regfile, xtensa_state, xtensa_sysreg,
	xtensa_interface, xtensa_funcUnit, xtensa_isa_status,
	xtensa_funcUnit_use): New types.
	(libisa_module_specifier): Delete.
	(xtensa_isa_errno, xtensa_isa_error_msg): New prototypes.
	(xtensa_insnbuf_free, xtensa_insnbuf_to_chars,
	xtensa_insnbuf_from_chars): Update prototypes.
	(xtensa_load_isa, xtensa_extend_isa, xtensa_default_isa,
	xtensa_insn_maxlength, xtensa_num_opcodes, xtensa_decode_insn,
	xtensa_encode_insn, xtensa_insn_length,
	xtensa_insn_length_from_first_byte, xtensa_num_operands,
	xtensa_operand_kind, xtensa_encode_result,
	xtensa_operand_isPCRelative): Delete.
	(xtensa_isa_init, xtensa_operand_inout, xtensa_operand_get_field,
	xtensa_operand_set_field, xtensa_operand_encode,
	xtensa_operand_decode, xtensa_operand_do_reloc,
	xtensa_operand_undo_reloc): Update prototypes.
	(xtensa_isa_maxlength, xtensa_isa_length_from_chars,
	xtensa_isa_num_pipe_stages, xtensa_isa_num_formats,
	xtensa_isa_num_opcodes, xtensa_isa_num_regfiles, xtensa_isa_num_states,
	xtensa_isa_num_sysregs, xtensa_isa_num_interfaces,
	xtensa_isa_num_funcUnits, xtensa_format_name, xtensa_format_lookup,
	xtensa_format_decode, xtensa_format_encode, xtensa_format_length,
	xtensa_format_num_slots, xtensa_format_slot_nop_opcode,
	xtensa_format_get_slot, xtensa_format_set_slot, xtensa_opcode_decode,
	xtensa_opcode_encode, xtensa_opcode_is_branch, xtensa_opcode_is_jump,
	xtensa_opcode_is_loop, xtensa_opcode_is_call,
	xtensa_opcode_num_operands, xtensa_opcode_num_stateOperands,
	xtensa_opcode_num_interfaceOperands, xtensa_opcode_num_funcUnit_uses,
	xtensa_opcode_funcUnit_use, xtensa_operand_name,
	xtensa_operand_is_visible, xtensa_operand_is_register,
	xtensa_operand_regfile, xtensa_operand_num_regs,
	xtensa_operand_is_known_reg, xtensa_operand_is_PCrelative,
	xtensa_stateOperand_state, xtensa_stateOperand_inout,
	xtensa_interfaceOperand_interface, xtensa_regfile_lookup,
	xtensa_regfile_lookup_shortname, xtensa_regfile_name,
	xtensa_regfile_shortname, xtensa_regfile_view_parent,
	xtensa_regfile_num_bits, xtensa_regfile_num_entries,
	xtensa_state_lookup, xtensa_state_name, xtensa_state_num_bits,
	xtensa_state_is_exported, xtensa_sysreg_lookup,
	xtensa_sysreg_lookup_name, xtensa_sysreg_name, xtensa_sysreg_number,
	xtensa_sysreg_is_user, xtensa_interface_lookup, xtensa_interface_name,
	xtensa_interface_num_bits, xtensa_interface_inout,
	xtensa_interface_has_side_effect, xtensa_funcUnit_lookup,
	xtensa_funcUnit_name, xtensa_funcUnit_num_copies): New prototypes.
	* elf/xtensa.h (R_XTENSA_DIFF8, R_XTENSA_DIFF16, R_XTENSA_DIFF32,
	R_XTENSA_SLOT*_OP, R_XTENSA_SLOT*_ALT): New relocations.
	(XTENSA_PROP_SEC_NAME): Define.
	(property_table_entry): Add flags field.
	(XTENSA_PROP_*, GET_XTENSA_PROP_*, SET_XTENSA_PROP_*): Define.

ld ChangeLog

	* ld.texinfo (Xtensa): Describe new linker relaxation to optimize
	assembler-generated longcall sequences.  Describe new --size-opt
	option.
	* emulparams/elf32xtensa.sh (OTHER_SECTIONS): Add .xt.prop section.
	* emultempl/xtensaelf.em (remove_section,
	replace_insn_sec_with_prop_sec, replace_instruction_table_sections,
	elf_xtensa_after_open): New.
	(OPTION_OPT_SIZEOPT, OPTION_LITERAL_MOVEMENT,
	OPTION_NO_LITERAL_MOVEMENT): Define.
	(elf32xtensa_size_opt, elf32xtensa_no_literal_movement): New globals.
	(PARSE_AND_LIST_LONGOPTS): Add size-opt and [no-]literal-movement.
	(PARSE_AND_LIST_OPTIONS): Add --size-opt.
	(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_OPT_SIZEOPT,
	OPTION_LITERAL_MOVEMENT, and OPTION_NO_LITERAL_MOVEMENT.
	(LDEMUL_AFTER_OPEN): Set to elf_xtensa_after_open.
	* scripttempl/elfxtensa.sc: Update with changes from elf.sc.
	* Makefile.am (eelf32xtensa.c): Update dependencies.
	* Makefile.in: Regenerate.

ld/testsuite ChangeLog

	* ld-xtensa/lcall1.s: Use .literal directive.
	* ld-xtensa/lcall2.s: Align function entry.
	* ld-xtensa/coalesce2.s: Likewise.

opcodes ChangeLog

	* xtensa-dis.c (state_names): Delete.
	(fetch_data): Use xtensa_isa_maxlength.
	(print_xtensa_operand): Replace operand parameter with opcode/operand
	pair.  Remove print_sr_name parameter.  Use new xtensa-isa.h functions.
	(print_insn_xtensa): Use new xtensa-isa.h functions.  Handle multislot
	instruction bundles.  Use xmalloc instead of malloc.
2004-10-08 00:22:15 +00:00
H.J. Lu
bcaa7b3eb9 ld/
2004-10-04  H.J. Lu  <hongjiu.lu@intel.com>

	* NEWS: Mention SORT_BY_NAME, SORT_BY_ALIGNMENT and
	--sort-section name|alignment.

	* ld.texinfo: Document SORT_BY_NAME, SORT_BY_ALIGNMENT and
	--sort-section name|alignment.

	* ld.h (sort_type): New enum.
	(wildcard_spec): Change the type of `sorted' to sort_type.

	* ldgram.y (SORT): Removed.
	(SORT_BY_NAME): Added.
	(SORT_BY_ALIGNMENT): Added.
	(wildcard_spec): Updated `sorted'. Handle SORT_BY_NAME and
	SORT_BY_ALIGNMENT.
	(input_section_spec_no_keep): Updated `sorted'.
	(statement): Replace SORT with SORT_BY_NAME.

	* ldlang.c (compare_section): New function to compare 2
	sections with different sorting schemes.
	(wild_sort): Updated. Use compare_section.
	(update_wild_statements): New function.
	(lang_process): Call update_wild_statements before
	map_input_to_output_sections.

	* ldlex.l (SORT_BY_NAME): New.
	(SORT_BY_ALIGNMENT): New.
	(SORT): Return SORT_BY_NAME.

	* ldmain.c (sort_section): New. Defined.
	(main): Initialize it to none.

	* lexsup.c (option_values): Add OPTION_SORT_SECTION.
	(ld_options): Add an entry for OPTION_SORT_SECTION.
	(parse_args): Handle OPTION_SORT_SECTION.

	* mri.c (mri_draw_tree): Updated `sorted'.

ld/testsuite/

2004-10-04  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-scripts/sort.exp: New file for section sorting tests.
	* ld-scripts/sort_b_a.d: Likewise
	* ld-scripts/sort_b_a.s: Likewise
	* ld-scripts/sort_b_a.t: Likewise
	* ld-scripts/sort_b_a_a-1.d: Likewise
	* ld-scripts/sort_b_a_a-2.d: Likewise
	* ld-scripts/sort_b_a_a-3.d: Likewise
	* ld-scripts/sort_b_a_a.t: Likewise
	* ld-scripts/sort_b_a_n-1.d: Likewise
	* ld-scripts/sort_b_a_n-2.d: Likewise
	* ld-scripts/sort_b_a_n-3.d: Likewise
	* ld-scripts/sort_b_a_n.t: Likewise
	* ld-scripts/sort_b_n.d: Likewise
	* ld-scripts/sort_b_n.s: Likewise
	* ld-scripts/sort_b_n.t: Likewise
	* ld-scripts/sort_b_n_a-1.d: Likewise
	* ld-scripts/sort_b_n_a-2.d: Likewise
	* ld-scripts/sort_b_n_a-3.d: Likewise
	* ld-scripts/sort_b_n_a.t: Likewise
	* ld-scripts/sort_b_n_n-1.d: Likewise
	* ld-scripts/sort_b_n_n-2.d: Likewise
	* ld-scripts/sort_b_n_n-3.d: Likewise
	* ld-scripts/sort_b_n_n.t: Likewise
	* ld-scripts/sort_n_a-a.s: Likewise
	* ld-scripts/sort_n_a-b.s: Likewise
	* ld-scripts/sort_no-1.d: Likewise
	* ld-scripts/sort_no-2.d: Likewise
	* ld-scripts/sort_no.t: Likewise
2004-10-04 16:45:51 +00:00
H.J. Lu
d2c252d75a 2004-10-01 H.J. Lu <hongjiu.lu@intel.com>
* ld-powerpc/tls.s: Don't set tls type for undefined syms.
	* ld-powerpc/tls32.s: Likewise.
	* ld-powerpc/tlstoc.s: Likewise.
	* ld-s390/tlsbin.s: Likewise.
	* ld-s390/tlsbin_64.s: Likewise.
	* ld-s390/tlsbinpic.s: Likewise.
	* ld-s390/tlsbinpic_64.s: Likewise.
	* ld-s390/tlspic1.s: Likewise.
	* ld-s390/tlspic1_64.s: Likewise.
	* ld-sparc/tlssunbin32.s: Likewise.
	* ld-sparc/tlssunbinpic32.s: Likewise.
	* ld-sparc/tlssunnopic32.s: Likewise.
	* ld-sparc/tlssunpic32.s: Likewise.
2004-10-01 20:11:40 +00:00
Alan Modra
99f5fc1b75 * ld-s390/tlsbin.s: Set tls type for undefined syms.
* ld-s390/tlsbin_64.s: Likewise.
	* ld-s390/tlsbinpic.s: Likewise.
	* ld-s390/tlsbinpic_64.s: Likewise.
	* ld-s390/tlspic1.s: Likewise.
	* ld-s390/tlspic1_64.s: Likewise.
	* ld-sparc/tlssunbin32.s: Likewise.
	* ld-sparc/tlssunbinpic32.s: Likewise.
	* ld-sparc/tlssunnopic32.s: Likewise.
	* ld-sparc/tlssunpic32.s: Likewise.
2004-10-01 11:12:16 +00:00
Alan Modra
9a910d566c * ld-sparc/tlssunbin32.sd: Adjust for changed .dynamic location. 2004-10-01 11:11:28 +00:00
Nick Clifton
f7bf754f1f PR 371
* ld-undefined/undefined.exp: Remove redundant XPASS specifications.
2004-10-01 10:49:08 +00:00
Alan Modra
73d14ad423 * ld-powerpc/tls.s (gd, ld): Set tls type for undefined syms.
* ld-powerpc/tls32.s (gd, ld): Likewise.
	* ld-powerpc/tlstoc.s (gd, ld): Likewise.
	* ld-powerpc/tlsso.r: Update.
	* ld-powerpc/tlsso32.r: Update.
	* ld-powerpc/tlstocso.r: Update.
2004-10-01 02:19:04 +00:00
Paul Brook
eeac373afe bfd/
* elf32-arm.h (bfd_elf32_arm_set_target_relocs): Handle "abs"
	target2 relocation type.
ld/
	* ld.texinfo: Document --target2=abs.
	* emulparms/armsymbian.sh (TARGET2_TYPE): Set.
ld/testsuite/
	* ld-arm/arm-elf.exp: Add test for --target2=abs.
	* ld-arm/arm-target2-abs.d: New file.
2004-09-30 17:03:53 +00:00
Alan Modra
981beeee70 gas/testsuite/
* gas/i386/secrel.s: Pad .rdata out to 16 byte boundary.
	* gas/i386/secrel.d: Adjust to suit.

ld/testsuite/
	* ld-pe/secrel1.s: Pad .rdata out to 16 byte boundary.
	* ld-pe/secrel.d: Adjust to suit.
2004-09-29 13:36:22 +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
cbaa0dc574 binutils/
* readelf.c (process_program_headers): Don't include .tbss in non-TLS
	segments.

ld/testsuite/
	* ld-i386/tlsbin.rd: Update for changed segment map.
	* ld-i386/tlsnopic.rd: Likewise.
	* ld-i386/tlspic.rd: Likewise.
	* ld-powerpc/tlsexe.r: Likewise.
	* ld-powerpc/tlsexe32.r: Likewise.
	* ld-powerpc/tlsexetoc.r: Likewise.
	* ld-powerpc/tlsso.r: Likewise.
	* ld-powerpc/tlsso32.r: Likewise.
	* ld-powerpc/tlstocso.r: Likewise.
	* ld-s390/tlsbin.rd: Likewise.
	* ld-s390/tlsbin_64.rd: Likewise.
	* ld-s390/tlspic.rd: Likewise.
	* ld-s390/tlspic_64.rd: Likewise.
	* ld-sh/tlsbin-2.d: Likewise.
	* ld-sh/tlspic-2.d: Likewise.
	* ld-x86-64/tlsbin.rd: Likewise.
	* ld-x86-64/tlspic.rd: Likewise.
2004-09-22 07:24:14 +00:00
Alan Modra
b301b24869 bfd/
* elf.c (IS_LOADED): Define.
	(assign_file_positions_for_segments): Don't round up file offset of
	PT_LOAD segments containing no SEC_LOAD sections, instead round down.
	Delete code handling link script adjustment of lma.  Do the adjust
	in later code handling similar ajustments.  Remove dead code error
	check.  Warn if section lma would require a negative offset
	adjustment.  Tweak lma adjustment to use p_filesz rather than p_memsz.
	Use p_vaddr + p_memsz inside section loop in place of voff.  Don't
	update voff in section loop.  Change voff in segment loop to be an
	adjustment on top of "off".  Set sec->filepos and update "off" later.
	Test for loadable sections consistently using IS_LOADED.  Similarly,
	test for alloc-only sections other than .tbss consistently.
	Don't bother checking SEC_ALLOC in PT_LOAD segments.  Remove FIXME.
	Tidy PT_NOTE handling.  Use %B and %A in error messages.
	(assign_file_positions_except_relocs): Use %B in error message.

ld/testsuite/
	* ld-scripts/overlay-size.d: Don't check .mbss lma.
	* ld-sh/sh64/mix1.xd: Update for changed .bss file offset.
	* ld-sh/sh64/shdl32.xd: Likewise.
	* ld-sh/sh64/shdl64.xd: Likewise.
2004-09-22 06:45:39 +00:00
Paul Brook
3674e28ad0 bfd/
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add prototype.
	(bfd_elf32_arm_process_before_allocation): Update prototype.
	* bfd-in2.h: Regenerate.
	* bfd/elf32-arm.h (elf32_arm_link_hash_table): Add target2_reloc.
	(elf32_arm_link_hash_table_create): Set it.
	(bfd_elf32_arm_process_before_allocation): Remove target1_is_rel.
	(bfd_elf32_arm_set_target_relocs): New function.
	(arm_real_reloc_type): New function.
	(elf32_arm_final_link_relocate): Use it.  Handle R_ARM_PREL31 and
	R_ARM_GOT_PREL.  Remove R_ARM_TARGET1.
	(elf32_arm_gc_sweep_hook): Ditto.
	(elf32_arm_check_relocs): Ditto.
	(elf32_arm_relocate_section): Handle R_ARM_GOT_PREL.
	* elfarm-nabi.c (elf32_arm_howto_table): Add R_ARM_PREL31 and
	R_ARM_GOT_TARGET2.
	(elf32_arm_got_prel): New variable.
	(elf32_arm_howto_from_type): New function.
	(elf32_arm_info_to_howto): Use it.
	(elf32_arm_reloc_map): Add BFD_RELOC_ARM_PREL31 and
	BFD_RELOC_ARM_TARGET2.
	* libbfd.h: Regenerate.
	* reloc.c: Add BFD_RELOC_ARM_TARGET2 and BFD_RELOC_ARM_PREL31.
gas/
	* config/tc-arm.c (s_arm_rel31): New funciton.
	(md_pseudo_table): Add .rel31.
	(md_apply_fix3): Handle BFD_RELOC_ARM_TARGET2,
	BFD_RELOC_32_PCREL and BFD_RELOC_ARM_PREL31.
	(tc_gen_reloc): Handle BFD_RELOC_ARM_PREL31 and BFD_RELOC_ARM_TARGET2.
	(arm_fix_adjustable): Return 0 for BFD_RELOC_ARM_TARGET2.
	(arm_parse_reloc): Add (target2).
gas/testsuite/
	* gas/arm/pic.s: Add (target2).
	* gas/arm/pic.d: Ditto.
include/
	* elf/arm.h: Remove R_ARM_STKCHK and R_ARM_THM_STKCHK.
	Add R_ARM_TARGET2, R_ARM_PREL31, R_ARM_GOT_ABS, R_ARM_GOT_PREL,
	R_ARM_GOT_BREL12, R_ARM_GOTOFF12 and R_ARM_GOTRELAX.
ld/
	* ld.texinfo: Rename arm-specific section.  Document --target*
	* emulparams/armelf_fbsd.sh: Set TARGET2_TYPE.
	* emulparams/armelf_linux.sh: Ditto.
	* emulparams/armelf_nbsd.sh: Ditto.
	* emultempl/armelf.em: Set default for TARGET2_TYPE.
	(target2_type): New variable.
	(arm_elf_before_allocation): Don't pass target1_type.
	(arm_elf_create_output_section_statements): New function.
	(PARSE_AND_LIST_PROLOGUE): Add OPTION_TARGET2.
	(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add --target=.
	(PARSE_AND_LIST_ARGS_CASES): Handle OPTION_TARGET2.
	(LDEMUL_CREATE_OUTPUT_SECTION_STATEMENTS): Set.
	* emultempl/armelf_oabi.em (_before_allocation): Remove extra
	argument to bfd_elf32_arm_process_before_allocation.
ld/testsuite/
	* ld-arm/arm-target1-{abs,rel}.d}: New files.
	* ld-arm/arm-target1.s: New file.
	* ld-arm/arm-target2-{,got-}rel.d: New files.
	* ld-arm/arm-target2.s: New file.
	* ld-arm/arm-rel31.d: New files.
	* ld-arm/arm-rel31.s: New files.
	* ld-arm/arm.ld: New file.
	* ld-arm/arm-elf.exp: Add new tests.
2004-09-17 12:18:19 +00:00
Hans-Peter Nilsson
f9c37615e8 Fix typo last entry 2004-09-08 23:44:28 +00:00
Hans-Peter Nilsson
e646467d71 * ld-cris/hiddef1.d, ld-cris/hiddef1.d, ld-cris/hidrefgotplt1.s:
New test.
2004-09-07 18:32:27 +00:00
Nick Clifton
42851540ac Add LD and GAS testsuites for CRX port.
Fix several crx bugs.
2004-09-03 14:31:41 +00:00
Hans-Peter Nilsson
f4faf27b48 * ld-cris/expdyn1.d, ld-cris/expdyn5.d, ld-cris/expdyn6.d,
ld-cris/expdyn7.d, ld-cris/gotplt2.d, ld-cris/gotplt3.d,
	ld-cris/libdso-1.d, ld-cris/libdso-2.d, ld-cris/locref1.d,
	ld-cris/nodyn4.d, ld-cris/nodyn5.d: Adjust for reordered
	sections.
2004-08-21 12:51:41 +00:00
Alan Modra
82dd044a0d * ld-elfvsb/elfvsb.exp: Cope with ppc64 dot symbols. 2004-08-17 05:39:32 +00:00
Alan Modra
2f4a83ee59 * ld-scripts/cross1.t: Remove .opd section spec. 2004-08-17 01:18:50 +00:00
Stephane Carrez
c98bad6f54 * ld-undefined/undefined.exp: The undefine tests now work on
68HC11 and 68HC12.
2004-08-01 20:10:05 +00:00
Kaz Kojima
ff636ee388 [gas/testsuite]
* gas/sh/basic.exp: Don't do sh2a test for sh5.
	* gas/sh/sh2a.d: Match elf32-sh* format too.

[ld/testsuite]
	* ld-sh/sh64/crange3-cmpct.rd: Update.
	* ld-sh/sh64/crange3-media.rd: Update.
2004-07-30 00:29:22 +00:00
Nick Clifton
1bec8141aa ld-h8300/h8300.exp: Addition of new test case to check relaxation for H8S target.
ld-h8300/relax-6.s: New test source file.
ld-h8300/relax-6.d: New test expected disassembly file.
ld-h8300/relax-6-coff.d: New test expected disassembly file for COFF format.
2004-07-27 16:47:02 +00:00
Nick Clifton
ed049af3bc Fix for PR 280 - remove duplicated raw insn output fron h8300/h8500 disassemblers 2004-07-22 16:52:43 +00:00
H.J. Lu
08ccf96b08 bfd/
2004-07-22  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.c (elf_fixup_link_order): Issue a warning and flag
	an error if failed.

ld/

2004-07-22  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-scripts/crossref.exp: XFAIL ia64-*-* on the first test.
2004-07-22 14:19:04 +00:00
Nick Clifton
ceb78239b9 * ld-h8300/h8300.exp: Addition of gcsection test case.
* ld-h8300/gcsection.s: New test source file.
* ld-h8300/gcsection.d: New test expected disassembly file.
2004-07-13 16:56:09 +00:00
Richard Sandiford
17a6716ad0 * ld-mips-elf/reloc-merge-lo16.{s,d,ld}: New test.
* ld-mips-elf/mips-elf.exp: Run it.
2004-07-08 15:43:00 +00:00
Kaz Kojima
f6a8ae8136 * emulparams/shlelf32_linux.sh (COMMONPAGESIZE): Set to 4KB.
* ld-elf/frame.exp: Don't run on sh*-*-elf*.
	* ld-sh/shared-1.d: Adjust for section reordering changes.
	* ld-sh/shared-2.d: Likewise.
	* ld-sh/tlsbin-2.d: Likewise.
	* ld-sh/tlspic-2.d: Likewise.
	* ld-sh/sh64/abi32.xd: Likewise.
	* ld-sh/sh64/abi64.xd: Likewise.
	* ld-sh/sh64/cmpct1.xd: Likewise.
	* ld-sh/sh64/crange1.rd: Likewise.
	* ld-sh/sh64/crange2.rd: Likewise.
	* ld-sh/sh64/crange3-cmpct.rd: Likewise.
	* ld-sh/sh64/crange3-media.rd: Likewise.
	* ld-sh/sh64/crange3.rd: Likewise.
	* ld-sh/sh64/gotplt.d: Likewise.
	* ld-sh/sh64/init-cmpct.d: Likewise.
	* ld-sh/sh64/init-media.d: Likewise.
	* ld-sh/sh64/init64.d: Likewise.
	* ld-sh/sh64/mix1.xd: Likewise.
	* ld-sh/sh64/mix2.xd: Likewise.
	* ld-sh/sh64/shdl32.xd: Likewise.
	* ld-sh/sh64/shdl64.xd: Likewise.
2004-07-02 11:25:54 +00:00
Alan Modra
5bb2a87619 * ld-discard/static.d: Accept both original sym and section sym. 2004-07-02 06:46:17 +00:00
Jakub Jelinek
d74eb79518 * ld-sparc/tlssunpic32.rd: Adjust for section reordering changes
and removal of unneeded STT_SECTION symbols from .dynsym.
	* ld-sparc/tlssunbin32.rd: Likewise.
	* ld-sparc/tlssunpic32.dd: Likewise.
	* ld-sparc/tlssunpic32.sd: Likewise.
	* ld-sparc/tlssunbin32.dd: Likewise.
	* ld-sparc/tlssunbin32.sd: Likewise.
	* ld-sparc/tlssunbin32.td: Likewise.
2004-07-01 16:24:51 +00:00
Alan Modra
cdd3575c22 bfd/
* elflink.c (elf_section_ignore_discarded_relocs): Revert last
	change.  Comment.
	(elf_section_complain_discarded): New function.  Handle
	.gcc_except_table too.
	(elf_link_input_bfd): Rewrite handling of relocs against symbols
	in discarded sections.
	* elf-bfd.h (elf_discarded_section): Protect macro arg.
ld/testsuite/
	* ld-discard/extern.d: Update.
	* ld-discard/start.d: Update.
	* ld-discard/static.d: Update.
2004-07-01 13:48:53 +00:00
H.J. Lu
2de26f35df bfd/
2004-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR 233
	* elflink.c (elf_link_input_bfd): Issue an error for non-debug
	local references to discarded sections and report their
	locations.

ld/testsuite/

2004-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR 233
	* ld-discard/extern.d: Updated.
	* ld-discard/start.d: Likewise.
	* ld-discard/static.d: Likewise.
2004-06-30 16:19:20 +00:00
Joern Rennecke
5b9b7d8109 gas/testsuite:
Actually add these files:
	2004-05-28  Andrew Stubbs <andrew.stubbs@superh.com>
	* testsuite/gas/sh/arch: New directory.
	* testsuite/gas/sh/arch/arch.exp: New test script.
	* testsuite/gas/sh/arch/arch_expected.txt: New file.
	* testsuite/gas/sh/arch/sh.s: New file.
	* testsuite/gas/sh/arch/sh2.s: New file.
	* testsuite/gas/sh/arch/sh-dsp.s: New file.
	* testsuite/gas/sh/arch/sh2e.s: New file.
	* testsuite/gas/sh/arch/sh3-nommu.s: New file.
	* testsuite/gas/sh/arch/sh3.s: New file.
	* testsuite/gas/sh/arch/sh3-dsp.s: New file.
	* testsuite/gas/sh/arch/sh3e.s: New file.
	* testsuite/gas/sh/arch/sh4-nommu-nofpu.s: New file.
	* testsuite/gas/sh/arch/sh4-nofpu.s: New file.
	* testsuite/gas/sh/arch/sh4.s: New file.
	* testsuite/gas/sh/arch/sh4a-nofpu.s: New file.
	* testsuite/gas/sh/arch/sh4al-dsp.s: New file.
ld/testsuite:
	Actually add these files:
	2004-05-28  Andrew Stubbs <andrew.stubbs@superh.com>
	* testsuite/ld-sh/arch/arch.exp: New test script.
	* testsuite/ld-sh/arch/arch_expected.txt: New file.
	* testsuite/ld-sh/arch/sh.s: New file.
	* testsuite/ld-sh/arch/sh2.s: New file.
	* testsuite/ld-sh/arch/sh-dsp.s: New file.
	* testsuite/ld-sh/arch/sh2e.s: New file.
	* testsuite/ld-sh/arch/sh3-nommu.s: New file.
	* testsuite/ld-sh/arch/sh3.s: New file.
	* testsuite/ld-sh/arch/sh3-dsp.s: New file.
	* testsuite/ld-sh/arch/sh3e.s: New file.
	* testsuite/ld-sh/arch/sh4-nommu-nofpu.s: New file.
	* testsuite/ld-sh/arch/sh4-nofpu.s: New file.
	* testsuite/ld-sh/arch/sh4.s: New file.
	* testsuite/ld-sh/arch/sh4a-nofpu.s: New file.
	* testsuite/ld-sh/arch/sh4al-dsp.s: New file.
	* testsuite/ld-sh/arch/sh4a.s: New file.
2004-06-29 16:35:05 +00:00
Alan Modra
3874ed78d9 * ld-elf/frame.exp: Don't run on mcore. 2004-06-29 14:44:25 +00:00
Alan Modra
336d6a6432 * ld-bootstrap/bootstrap.exp: Handle timestamps in more pe targets. 2004-06-26 04:20:14 +00:00
H.J. Lu
35d437df82 2004-06-24 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers.exp: Use PIC for shared libraries by default.
2004-06-24 15:07:43 +00:00
Alexandre Oliva
aee6f5b4bd bfd/ChangeLog:
* elf-bfd.h (struct elf_backend_data): Added
elf_backend_omit_section_dynsym.
(_bfd_elf_link_omit_section_dynsym): Declare.
* elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
(elf_backend_omit_section_dynsym): Use it for frvfdpic.
* elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
(_bfd_elf_link_renumber_dynsyms): ... this function.
* elfxx-target.h (elf_backend_omit_section_dynsym): Default to
_bfd_elf_link_omit_section_dynsym).
(elfNN_bed): Added elf_backend_omit_section_dynsym.
ld/ChangeLog:
* emulparams/elf32frvfd.sh (GENERATE_PIE_SCRIPT): Set to yes.
ld/testsuite/ChangeLog:
* ld-frv/fdpic-pie-1.d: Adjust for pie-specific link script.
* ld-frv/fdpic-pie-2.d: Likewise.
* ld-frv/fdpic-pie-6.d: Likewise.
* ld-frv/fdpic-pie-7.d: Likewise.
* ld-frv/fdpic-pie-8.d: Likewise.
* ld-frv/fdpic-shared-1.d: Likewise.
* ld-frv/fdpic-shared-2.d: Likewise.
* ld-frv/fdpic-shared-3.d: Likewise.
* ld-frv/fdpic-shared-4.d: Likewise.
* ld-frv/fdpic-shared-5.d: Likewise.
* ld-frv/fdpic-shared-6.d: Likewise.
* ld-frv/fdpic-shared-7.d: Likewise.
* ld-frv/fdpic-shared-8.d: Likewise.
* ld-frv/fdpic-shared-local-2.d: Likewise.
* ld-frv/fdpic-shared-local-8.d: Likewise.
2004-06-21 14:45:42 +00:00
Nick Clifton
e6f12cf6cb Handle ports which do not support the --shared switch 2004-06-21 10:24:39 +00:00
Nick Clifton
23a75657ad * ld-elfvsb/main.c: Ensure visibility_def and visibility_func are
actually referenced (gcc 3.4 eliminates comparisons of addresses
  of global symbols with NULL).
* ld-selective/selective.exp: Suppress -fvtable-gc tests for gcc
  3.4.0 and above, as this option and its functionality is no longer
  supported, making these tests fail).
2004-06-18 15:41:47 +00:00
Nick Clifton
c9c33288af Fixes for assembling with an ARM targeted version of GAS 2004-05-18 16:18:56 +00:00
H.J. Lu
117a3ac803 2004-05-17 H.J. Lu <hongjiu.lu@intel.com>
* ld-elf/frame.exp: New file. Test read-only .eh_frame and
	.gcc_except_table sections.
	* ld-elf/frame.s: Likewise.
	* ld-elf/table.s: Likewise.
	* ld-elf/tbss.s: Likewise.
2004-05-17 17:38:46 +00:00
Kaz Kojima
2f2f4511bd * ld-sh/tlsbin-2.d: Adjust for section reordering changes
and removal of unneeded STT_SECTION symbols from .dynsym.
	* ld-sh/tlsbin-3.d: Likewise.
	* ld-sh/tlspic-2.d: Likewise.
2004-05-12 05:58:09 +00:00
Ben Elliston
b24f926d5b * ld-sh/sh64/relax.exp: Remove stray semicolons.
* ld-sh/sh64/relfail.exp: Likewise.
	* lib/ld-lib.exp: Likewise.
2004-05-12 03:08:09 +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
Hans-Peter Nilsson
816a1cc6bf 2004-05-10 John Paul Wallington <jpw@gnu.org>
* ld-mmix/bspec2.d: Update sh_info to decimal.
	* ld-mmix/local1.d: Likewise.
	* ld-mmix/local3.d: Likewise.
	* ld-mmix/local5.d: Likewise.
	* ld-mmix/local7.d: Likewise.
2004-05-10 03:57:04 +00:00
Alexandre Oliva
b8bfc9e13d * ld-frv/fdpic.exp: Restore $LDFLAGS at the end.
* ld-frv/fr450-link.d: Match fdpic as well.
2004-05-06 02:46:13 +00:00
Kaz Kojima
7e415deb05 * ld-sh/sh64/crange1.rd: Update sh_info to decimal.
* ld-sh/sh64/crange2.rd: Likewise.
	* ld-sh/sh64/crange3.rd: Likewise.
	* ld-sh/sh64/crange3-cmpct.rd: Likewise.
	* ld-sh/sh64/crange3-media.rd: Likewise.
	* ld-sh/sh64/crangerel1.rd: Likewise.
	* ld-sh/sh64/crangerel2.rd: Likewise.
2004-05-06 00:13:39 +00:00
Alan Modra
0c9c985cf1 * ld-powerpc/tlsexe.r: Update sh_info to decimal.
* ld-powerpc/tlsexe32.r: Likewise.
	* ld-powerpc/tlsexetoc.r: Likewise.
	* ld-powerpc/tlsso.r: Likewise.
	* ld-powerpc/tlsso32.r: Likewise.
	* ld-powerpc/tlstocso.r: Likewise.
2004-05-05 13:31:05 +00:00
Chris Demetriou
4030e8f624 [ bfd/ChangeLog ]
2004-04-24  Chris Demetriou  <cgd@broadcom.com>

	* elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
	(elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
	(bfd_elf32_bfd_reloc_type_lookup): Remove cases for
	BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
	and BFD_RELOC_32_PCREL.
	(mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
	R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
	* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
	(_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
	(mips_elf_next_relocation): Move comment about matching HI/LO
	relocations to...
	(_bfd_mips_elf_relocate_section): Here.  Remove handling for
	R_MIPS_GNU_REL_HI16.

[ include/elf/ChangeLog ]
2004-04-24  Chris Demetriou  <cgd@broadcom.com>

	* mips.h (R_MIPS_PC32, R_MIPS_PC64, R_MIPS_GNU_REL_LO16)
	(R_MIPS_GNU_REL_HI16): Remove.
	(R_MIPS_GNU_REL16_S2): Update comment.

[ ld/testsuite/ChangeLog ]
2004-04-24  Chris Demetriou  <cgd@broadcom.com>

	* ld-elf/merge.d: XFAIL on all MIPS targets.
2004-04-24 22:07:14 +00:00
Alan Modra
15fb45b86b * ld-powerpc/tlsexe32.d: Update.
* ld-powerpc/tlsso32.d: Update.
2004-04-24 12:41:02 +00:00
Chris Demetriou
76fe5927f9 2004-04-23 Chris Demetriou <cgd@broadcom.com>
* ld-mips-elf/reloc-3-r.d: Remove, as part of MIPS -membedded-pic
        removal.
        * ld-mips-elf/reloc-3-srec.d: Likewise.
        * ld-mips-elf/reloc-3.ld: Likewise.
        * ld-mips-elf/reloc-3a.s: Likewise.
        * ld-mips-elf/reloc-3b.s: Likewise.
        * ld-mips-elf/mips-elf.exp: Don't run now-removed tests.
2004-04-24 00:20:13 +00:00
Kaz Kojima
1f1799d5ad bfd/
* elf32-sh.c (sh_elf_plt_sym_val): New function.
	(elf_backend_plt_sym_val): Define.

opcodes/
	* sh-dis.c (print_insn_sh): Print the value in constant pool
	as a symbol if it looks like a symbol.

gas/testsuite/
	* gas/sh/pcrel2.d: Update.
	* gas/sh/tlsd.d: Update.
	* gas/sh/tlsnopic.d: Update.
	* gas/sh/tlspic.d: Update.

ld/testsuite/
	* ld-sh/tlsbin-1.d: Update
	* ld-sh/tlspic-1.d: Update.
2004-04-23 02:47:39 +00:00
H.J. Lu
01e91a6c57 Move testsuite ChangeLog entry to testsuite/ChangeLog 2004-04-22 16:42:13 +00:00
H.J. Lu
cc2218d563 2004-04-22 H.J. Lu <hongjiu.lu@intel.com>
* ld-i386/tlspic.dd: Updated.
2004-04-22 16:31:47 +00:00
Chris Demetriou
23867d6732 [ bfd/ChangeLog ]
2004-04-21  Chris Demetriou  <cgd@broadcom.com>

	* coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
	* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
	* bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
	(bfd_mips_elf32_create_embedded_relocs): Remove prototypes
	* bfd-in2.h: Regenerate.

[ ld/ChangeLog ]
2004-04-21  Chris Demetriou  <cgd@broadcom.com>

	* ld.texinfo: Remove MIPS --embedded-relocs documentation.
	* emulparams/elf32bmip.sh (EXTRA_EM_FILE): Remove definition.
	* emulparams/mipsidt.sh (TEMPLATE_NAME): Use generic.em.
	(EXTRA_EM_FILE): Use mipsecoff.em
	* emulparams/mipsidtl.sh (TEMPLATE_NAME): Use generic.em.
	(EXTRA_EM_FILE): Use mipsecoff.em
	* emultempl/mipsecoff.em: Restructure to be included as an
	extra emulation file.
	(check_sections, gld${EMULATION_NAME}_after_open)
	(gld${EMULATION_NAME}_after_allocation)
	(gld${EMULATION_NAME}_get_script)
	(ld_${EMULATION_NAME}_emulation): Remove
	(gld${EMULATION_NAME}_before_parse): Rename to...
	(mipsecoff_before_parse): This.
	(LDEMUL_BEFORE_PARSE): Define.
	* emultempl/mipself.em: Remove file.
	* scripttempl/mips.sc (.rel.sdata): Do not include in output.
	(__runtime_reloc_start, __runtime_reloc_stop): Stop providing
	these symbols.
	* Makefile.am: Remove dependencies on emultempl/mipself.em.
	* Makefile.in: Regenerate.

[ ld/testsuite/ChangeLog ]
2004-04-21  Chris Demetriou  <cgd@broadcom.com>

	* ld-empic/run.c: Removed as part of MIPS --embedded-relocs removal.
	* ld-empic/empic.exp: Likewise.
	* ld-empic/relax.t: Likewise.
	* ld-empic/relax1.c: Likewise.
	* ld-empic/relax2.c: Likewise.
	* ld-empic/relax3.c: Likewise.
	* ld-empic/relax4.c: Likewise.
	* ld-empic/runtest1.c: Likewise.
	* ld-empic/runtest2.c: Likewise.
	* ld-empic/runtesti.s: Likewise.
	* ld-mips-elf/empic1-ln.d: Likewise.
	* ld-mips-elf/empic1-lp.d: Likewise.
	* ld-mips-elf/empic1-mn.d: Likewise.
	* ld-mips-elf/empic1-mp.d: Likewise.
	* ld-mips-elf/empic1-ref.s: Likewise.
	* ld-mips-elf/empic1-sn.d: Likewise.
	* ld-mips-elf/empic1-sp.d: Likewise.
	* ld-mips-elf/empic1-space.s: Likewise.
	* ld-mips-elf/empic1-tgt.s: Likewise.
	* ld-mips-elf/empic2-fwd-0.d: Likewise.
	* ld-mips-elf/empic2-fwd-1.d: Likewise.
	* ld-mips-elf/empic2-fwd-tgt.s: Likewise.
	* ld-mips-elf/empic2-ref.s: Likewise.
	* ld-mips-elf/empic2-rev-0.d: Likewise.
	* ld-mips-elf/empic2-rev-1.d: Likewise.
	* ld-mips-elf/empic2-rev-tgt.s: Likewise.
	* ld-mips-elf/empic2-space.s: Likewise.
	* ld-mips-elf/emrelocs-eb.d: Likewise.
	* ld-mips-elf/emrelocs-el.d: Likewise.
	* ld-mips-elf/emrelocs.ld: Likewise.
	* ld-mips-elf/emrelocs1.s: Likewise.
	* ld-mips-elf/emrelocs2.s: Likewise.
	* ld-mips-elf/mips-elf.exp: Don't run now-removed tests.
2004-04-21 20:52:31 +00:00
H.J. Lu
a664545d53 2004-04-20 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfweak/elfweak.exp: Add an undefined weak size change
	test.

	* ld-elfweak/size.dat: New file.
	* ld-elfweak/size_bar.c: Likewise.
	* ld-elfweak/size_foo.c: Likewise.
	* ld-elfweak/size_main.c: Likewise.
2004-04-20 14:50:22 +00:00
Nick Clifton
6482c264f4 Add support for a .secrel32 x86 reloc to allow DWARF" debug information to used
with COFF based x86 ports.
2004-04-20 12:17:16 +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
H.J. Lu
a4b6e8f6a4 gas/
2004-04-14  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-generic.c: Add some comments.

ld/testsuite/

2004-04-14  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-scripts/assert.s: Add a newline.
	* ld-scripts/data.s: Likewise.
2004-04-15 01:49:22 +00:00
Alan Modra
8bfaaee75b PR 47.
* ld-cdtest/cdtest.exp: Remove -fgnu-linker.
2004-04-08 14:20:05 +00:00
Alan Modra
76cb62b003 * ld-scripts/align.exp: Don't run on aix.
* ld-scripts/assert.s: Remove comment.
	* ld-scripts/data.s: Likewise.
	* ld-scripts/data.t: Set start address to allow for aout headers.
	Make first LONG pc-relative.
	* ld-scripts/data.d: Update.
	* ld-scripts/defined2.d: Allow other random syms.
	* ld-scripts/defined3.d: Likewise.
	* ld-scripts/provide-1.s: Pad section.
	* ld-scripts/provide-1.t: Set .data address and align.
	* ld-scripts/provide-1.d: Update.
	* ld-scripts/provide-2.s: Pad section.
	* ld-scripts/provide-2.d: Allow random trailing syms.
	* ld-scripts/provide-3.s: Pad section.
	* ld-scripts/provide-3.d: Fix typos.
	* ld-scripts/provide.exp: Don't run on aix.
	* ld-scripts/size-1.s: Simplify test.
	* ld-scripts/size-1.t: Rewrite.
	* ld-scripts/size-1.d: Update.
	* ld-scripts/size-2.s: Simplify.
	* ld-scripts/size-2.t: Set start address.  Set exe flag on image.
	* ld-scripts/size-2.d: Update.
	* ld-scripts/size.exp: Don't run on aix.  Run size-2 on all elf
	targets except mips.
2004-04-08 00:51:37 +00:00
Alexandre Oliva
90084db24d * ld-frv/fdpic*.d: Adjust to compensate for page size change. 2004-03-27 21:11:17 +00:00
Alan Modra
d04a7507b7 * ld-powerpc/tlsexe.r: Update for changed sym type.
* ld-powerpc/tlsexetoc.r: Likewise.
2004-03-26 06:14:18 +00:00
Hans-Peter Nilsson
2d4b84b0f5 * ld-cris/dsofnf.s, ld-cris/dsofnf2.s, ld-cris/gotplt1.d,
ld-cris/gotplt2.d, ld-cris/gotplt3.d: New tests.
2004-03-22 04:06:06 +00:00
H.J. Lu
d400d2a669 2004-03-19 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers.exp: Add new tests for versioned weak
	definition.

	* ld-elfvers/vers28a.c: New file.
	* ld-elfvers/vers28a.dsym: Likewise.
	* ld-elfvers/vers28a.ver: Likewise.
	* ld-elfvers/vers28b.c: Likewise.
	* ld-elfvers/vers28b.dsym: Likewise.
	* ld-elfvers/vers28b.map: Likewise.
	* ld-elfvers/vers28b.ver: Likewise.
	* ld-elfvers/vers28c.c: Likewise.
	* ld-elfvers/vers28c.dsym: Likewise.
	* ld-elfvers/vers28c.ver: Likewise.
2004-03-19 17:02:31 +00:00
Alan Modra
140cc2404f * ld-scripts/provide-2.d: Ignore random symbols. 2004-03-19 07:14:44 +00:00
Alan Modra
fdd12ef3c6 opcodes/
* ppc-dis.c (print_insn_powerpc): Don't print tabs.  Handle
	PPC_OPERANDS_GPR_0.
	* ppc-opc.c (RA0): Define.
	(RAQ, RAL, RAM, RAS, RSQ, RTQ, RSO): Use PPC_OPERAND_GPR_0.
	(RAOPT): Rename from RAO.  Update all uses.
	(powerpc_opcodes): Use RA0 as appropriate.  Add "lsdx", "lsdi",
	"stsdx", "stsdi", "lmd" and "stmd" insns.

include/opcode/
	* ppc.h (PPC_OPERAND_GPR_0): Define.  Bump other operand defines.

gas/testsuite/
	Update gas/ppc/.

ld/testsuite/
	Update ld-powerpc/.
2004-03-16 00:58:43 +00:00
Nathan Sidwell
68715859c7 * ld-scripts/size-1.d: Add bigendian regexps.
* ld-scripts/size-2.d: Set --wide for readelf.
2004-03-05 19:27:34 +00:00
Nathan Sidwell
e5caec89a0 * elf.c (map_sections_to_segments): Ignore .tbss sections for
layout purposes.

	* ldlang.c (lang_add_section): Don't force SEC_LOAD on
	SEC_THREAD_LOCAL.
	(IGNORE_SECTION): Ignore .tbss sections too.
	(lang_size_sections_1): .tbss sections do not advance dot.

	* ld-scripts/size.exp: New.
	* ld-scripts/size-[12].{d,s,t}: New.
2004-03-05 11:26:05 +00:00
Richard Sandiford
676a64f422 Add fr450 support. 2004-03-01 10:11:46 +00:00
Alexandre Oliva
9b1f5ff99b * ld-frv/fdpic-pie-2.d: Adjust for decay of FUNCDESC relocs that
bind locally.
* ld-frv/fdpic-pie-8.d: Likewise.
* ld-frv/fdpic-shared-4.d: Likewise.
* ld-frv/fdpic-pie-6-fail.d: Renamed from...
* ld-frv/fdpic-pie-6.d: New test.
* ld-frv/fdpic-shared-6-fail.d: Renamed from...
* ld-frv/fdpic-shared-6.d: New test.
* ld-frv/fdpic6.ldv: New.
* ld-frv/fdpic-static-6.d: Adjust test name.
* ld-frv/fdpic-pie-8-fail.d: Removed.
* ld-frv/fdpic.exp: Run new tests.
2004-02-24 16:39:09 +00:00
Nathan Sidwell
1b49374200 * ldlang.h (struct lang_output_section_state): Change processed
field's type.
	* ldexp.c (check, invalid): Remove.
	(fold_name): Move valid_p assignments. Create undefined symbol
	when needed. Directly exampine section's processd flag.
	* ldlang.c (lang_output_section_statement_lookup): Adjust
	processed field init.
	(lang_size_sections_1): Allow LOADADDR when determining section's
	VMA. Adjust error message. Fold data statement's expr.
	(lang_size_sections): Correctly increment lang_statement_iteration.

	* ld-scripts/provide.exp: New.
	* ld-scripts/provide-{1,2,3}.{s,t,d}.exp: New.

	* ldexp.c (fold_tree): Follow indirect symbols.
2004-02-23 10:10:02 +00:00
Alan Modra
33ed461333 * ld-scripts/data.t: Set ".other" address so location doesn't
depend on target alignment.
	* ld-scripts/data.d: Update.
2004-02-23 09:24:46 +00:00
Nathan Sidwell
876f40905a * ldgram.y (exp): Add two operand ALIGN.
* ldexp.c (fold_binary): Add ALIGN_K case.
	* ld.texinfo (ALIGN): Document two operand version.
	* ld-scripts/align.{s,t,exp}: New.
2004-02-20 15:31:10 +00:00
Nathan Sidwell
384d938fc8 * ldlang.c (map_input_to_output_sections): Initialize sections
mentioned in a data statement expression.
	(lang_do_assignments_1): Add data statement's expression's
	section's vma.
	* ld-scripts/data.{s,t,d,exp}: New.
2004-02-19 14:08:31 +00:00
Nathan Sidwell
b6ca8815ef * ldgram.y (statement_anywhere): Add assert rule.
* ldlang.c (exp_init_os): Add assert case.
	* testsuite/ld-scripts/assert.{s,t,exp}: New.
2004-02-18 16:37:21 +00:00
Richard Sandiford
d25aed713b bfd/
* elfxx-mips.c (mips_elf_calculate_relocation): Use
	_bfd_elf_symbol_refs_local_p to decide whether to decay
	a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
	(_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
	relocs if the symbol wasn't defined by a regular object file.
	Don't check the symbol's dynindx.

ld/testsuite/
	* ld-mips/elf/elf-rel-xgot-{n32,n64-linux}.d: Update after 2004-02-02
	changes to the way large constants are added.
	* ld-mips/elf/elf-rel-got-{n32,n64-linux}.d: Likewise.  Adjust order
	of GOT entries after today's change to the handling of GOT_PAGE
	relocations.
2004-02-17 10:19:24 +00:00
Nick Clifton
3255318a04 Add support for relaxing the 32bit ldc/stc instructions. 2004-02-09 12:15:57 +00:00
Daniel Jacobowitz
2df149a4c0 * ld-arm/arm-app-abs32.s, ld-arm/arm-app-abs32.r,
ld-arm/arm-app-abs32.d: New files.
	* ld-arm/arm-elf.exp: Add arm-app-abs32 testcase.
2004-01-23 16:51:39 +00:00
Alan Modra
3a0875f46c * ld-i386/tlsbin.dd: Adjust for changed sib printing. 2004-01-18 23:14:13 +00:00
Daniel Jacobowitz
0885b73e8a * ld-arm/arm-elf.exp: Add arm-static-app test.
* ld-arm/arm-static-app.s, ld-arm/arm-static-app.d,
	ld-arm/arm-static-app.r: New files.
2004-01-13 21:09:18 +00:00
Nick Clifton
ca9a79a174 Add support for relaxation of bit manipulation instructions. 2004-01-12 15:02:22 +00:00
H.J. Lu
0fb33ef4f8 2004-01-09 H.J. Lu <hongjiu.lu@intel.com>
* ld-selective/selective.exp: Skip ia64-*-*.
2004-01-09 21:19:15 +00:00
Daniel Jacobowitz
c787b88946 * ld-arm/arm-lib.d, ld-arm/arm-lib.r: Update for R_ARM_PLT32
changes.
2004-01-09 16:53:10 +00:00
Daniel Jacobowitz
2e73b915a9 * ld-arm/arm-app.d, ld-arm/arm-app.r, ld-arm/arm-app.s,
ld-arm/arm-lib.d, ld-arm/arm-lib.r, ld-arm/arm-lib.s,
	ld-arm/arm-lib-plt32.d, ld-arm/arm-lib-plt32.r,
	ld-arm/arm-lib-plt32.s, ld-arm/arm-elf.exp: New files.
2004-01-06 21:47:38 +00:00
Alexandre Oliva
a9a704fc4e * ld-frv: Update .d files with correct addresses displayed for
dynamic relocations.
2003-12-02  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic1.s (.D0): Move to separate data section.
2003-11-28  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic-static-1.d, ld-frv/fdpic-static-2.d,
* ld-frv/fdpic-static-7.d, ld-frv/fdpic-static-8.d: Update to
reflect EMBEDDED= change in linker script.
2003-11-27  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv: Update .d files to reflect changes in the page size, the
addition of a stack segment, the use of a NULL function descriptor
for weakundef functions and the change in the lazy funcdesc_value
in-place addend value.
2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
* lib/ld-lib.exp (is_elf_format): Match frv-uclinux.
2003-10-06  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic-static-1.d, ld-frv/fdpic-static-2.d,
ld-frv/fdpic-static-7.d, ld-frv/fdpic-static-8.d: Addresses are
now _gp-based, not .rofixup-based.
* ld-frv/fdpic-static-6.d: Likewise.  Match warning about
relocation to different section.
2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic.exp: Add -melf32frvfd to LDFLAGS.
2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic7.s, ld-frv/fdpic-static-7.d, ld-frv/fdpic-pie-7.d,
ld-frv/fdpic-shared-7.d: New.
* ld-frv/fdpic8.s, ld-frv/fdpic-static-8.d, ld-frv/fdpic-pie-8.d,
ld-frv/fdpic-shared-8.d: New.
* ld-frv/fdpic-pie-8-fail.d, ld-frv/fdpic-shared-8-fail.d: New.
* ld-frv/fdpic.exp: Run them.
* ld-frv/fdpic8.ldv, ld-frv/fdpic8min.ldv: New.
2003-09-18  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/fdpic5.s, ld-frv/fdpic-static-5.d, ld-frv/fdpic-pie-5.d,
ld-frv/fdpic-shared-5.d: New.
* ld-frv/fdpic6.s, ld-frv/fdpic-static-6.d, ld-frv/fdpic-pie-6.d,
ld-frv/fdpic-shared-6.d: New.
* ld-frv/fdpic.exp: Run them.
* ld-frv/fdpic*.d: Add -mfdpic to assembler flags.  Updated.
* ld-frv/fdpic2min.ldv: New, used by fdpic-shared-2.d.
* ld-frv/fdpic-shared-2-fail.d: New.
* ld-frv/fdpic.exp: Run it.
* ld-frv/fdpic4.s, ld-frv/fdpic-shared-4.d: New.
* ld-frv/fdpic.exp: Add new test.
* ld-frv/fdpic-pie-2.d: Remove unnecessary function descriptors.
* ld-frv/fdpic-shared-local-2.d, ld-frv/fdpic2.ldv: New.
* ld-frv/fdpic3.s, ld-frv/fdpic-shared-3.d: New.
* ld-frv/fdpic.exp: Add new tests.
* ld-frv/fdpic.exp, ld-frv/fdpic1.s, ld-frv/fdpic2.s,
* ld-frv/fdpic-static-1.d, ld-frv/fdpic-static-2.d,
* ld-frv/fdpic-pie-1.d, ld-frv/fdpic-pie-2.d,
* ld-frv/fdpic-shared-1.d, ld-frv/fdpic-shared-2.d: Renamed from
ucpic.
2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
* ld-frv/ucpic.exp, ld-frv/ucpic1.s, ld-frv/ucpic2.s: New.
* ld-frv/ucpic-static-1.d, ld-frv/ucpic-static-2.d: New.
* ld-frv/ucpic-pie-1.d, ld-frv/ucpic-pie-2.d: New.
* ld-frv/ucpic-shared-1.d, ld-frv/ucpic-shared-2.d: New.
2004-01-06 19:19:31 +00:00
Alan Modra
c9e214e571 Split ChangeLog files. 2004-01-02 11:16:21 +00:00
Alan Modra
031d7588c2 * ld-selective/sel-dump.exp: Use is_elf_format, xfail assorted targets.
* ld-selective/selective.exp: Likewise.
2004-01-02 08:27:08 +00:00
Mark Mitchell
da04927b0a * ld-srec/srec.exp (run_srec_test): Remove -fgnu-linker, since GCC
3.4 does not support it.
2003-12-30 16:53:31 +00:00
Richard Sandiford
18ab192184 * ld-mips-elf/reloc-1[ab].s: New source files.
* ld-mips-elf/reloc-1-{n32,n64,rel}.d: New tests.
	* ld-mips-elf/reloc-2[ab].s: New source files.
	* ld-mips-elf/reloc-2.{d,ld}: New test.
	* ld-mips-elf/reloc-3[ab].s: New source files.
	* ld-mips-elf/reloc-3-{r,srec}.d: New tests.
	* ld-mips-elf/mips-elf.exp: Run them.
2003-12-18 10:25:12 +00:00
Richard Sandiford
258e658f8b * ld-mips-elf/elf-rel-xgot-n32.d: Fix offset for "lw $5,dl1+34($5)".
* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
2003-12-07 21:49:09 +00:00
Kaz Kojima
f60ec7acea * ld-sh/sh64/shmix-1.s: Add align to match data alignment.
* ld-sh/sh64/shmix-3.s: Likewise.
	* ld-sh/sh64/mix1.sd: Update.
	* ld-sh/sh64/mix1.xd: Likewise.
	* ld-sh/sh64/mix1-noexp.sd: Likewise.
	* ld-sh/sh64/mix2.sd: Likewise.
	* ld-sh/sh64/mix2.xd: Likewise.
	* ld-sh/sh64/mix2-noexp.sd: Likewise.
2003-12-01 12:01:22 +00:00
Alan Modra
a2b2bf0e86 Update for changed section alignment. 2003-12-01 06:56:51 +00:00
Alan Modra
af04c4eaf2 * ld-powerpc/tlsexe32.d: Update for changed symbols from objdump.
* ld-powerpc/tlsso32.d: Likewise.
2003-11-19 03:46:08 +00:00
Stephane Carrez
8afcbaff98 * ld-undefined/undefined.exp: Mark as xfail for m6811 and m6812
due to elf/Dwarf2 binutils limitation.
2003-10-27 11:42:30 +00:00
H.J. Lu
9e75165df3 2003-10-23 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers.exp (test_ldfail): Add "-Wl," to pass the
	linker option from gcc.
2003-10-23 17:52:00 +00:00
Alan Modra
5aa04fdff8 * ld-powerpc/tlsexetoc.d: Correct.
* ld-powerpc/tlstoc.d: Correct.
2003-10-23 09:03:02 +00:00
Hans-Peter Nilsson
89b7466f76 * ld-mmix/greg-14.d, ld-mmix/greg-5.d, ld-mmix/pushja1b.d,
ld-mmix/pushja1f.d, ld-mmix/pushja7b.d, ld-mmix/pushja7f.d: Pass
	--no-pushj-stubs to the assembler.
	* ld-mmix/pushjs2b.d, ld-mmix/greg-14s.d, ld-mmix/pushjs1.d,
	ld-mmix/greg-5s.d, ld-mmix/pushjs3b.d, ld-mmix/pushja1f-s.d,
	ld-mmix/pushjs1m.d, ld-mmix/pushja7b-s.d, ld-mmix/pushja7f-s.d,
	ld-mmix/pushja1b-s.d, ld-mmix/pushjs2.d, ld-mmix/pushjs3.d,
	ld-mmix/pushjs4b.d, ld-mmix/pushjs4.d, ld-mmix/pushjs1bm.d,
	ld-mmix/pushjs1b.d, ld-mmix/pushjs2m.d, ld-mmix/pushjs1r.d,
	ld-mmix/pushjs3m.d, ld-mmix/pushjs2bm.d, ld-mmix/pushjs4m.d,
	ld-mmix/pushjs3bm.d, ld-mmix/pushjs2r.d, ld-mmix/pushjs4bm.d,
	ld-mmix/pushjs3r.d, ld-mmix/pushjs4r.d: New tests.
2003-10-18 16:05:02 +00:00
Kaz Kojima
46e993b970 [bfd]
* elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
	relocations.
	(sh_elf_check_relocs): Likewise.

	* elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
	(sh64_elf_merge_symbol_attribute): New.
	* elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
	(sh64_elf64_merge_symbol_attribute): New.

[ld/testsuite]
	* ld-sh/sh64/rd-sh64.exp: If the test matches *-dso.d, copy
	the output of linker to the file tmpdir/*-dso.so.
	* ld-sh/sh64/stobin-0-dso.d: New.
	* ld-sh/sh64/stobin-1.d: New.
	* ld-sh/sh64/stobin.s: New.
	* ld-sh/sh64/stolib.s: New.
2003-10-15 06:23:55 +00:00
Richard Sandiford
98a8deaf8a * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
	(_bfd_mips_elf_finish_dynamic_symbol): Don't handle them.  Don't
	handle DT_MIPS_MSYM.  Set DT_RELSZ based on the number of relocations
	that were needed.
	(_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
	(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
2003-10-13 19:51:10 +00:00
Kaz Kojima
f19ae42f43 [ld]
* emulparams/shelf32_nbsd.sh (OTHER_SECTIONS): Redefine.

[ld/testsuite]
	* ld-sh/rd-sh.exp (LDFLAGS): Define appropriately for each
	sh64/sh5 targets.
	* ld-sh/sh.exp: Don't do relaxing test for sh64*-*-* and
	sh5*-*-* targets.
	* ld-sh/sh64/relax.exp (emul32): Set to shelf32_nbsd for netbsd.
	* ld-sh/sh64/relfail.exp: Set parameters for netbsd.
	* ld-sh/sh64/sh64.exp: Skip this for netbsd.  Trim the section
	numbers for crangerel1 and crengerel2 tests.
	* ld-sh/sh64/abi32.sd: Update.
	* ld-sh/sh64/abi32.xd: Likewise.
	* ld-sh/sh64/abi64.sd: Likewise.
	* ld-sh/sh64/abi64.xd: Likewise.
	* ld-sh/sh64/abixx-noexp.sd: Likewise.
	* ld-sh/sh64/cmpct1.sd: Likewise.
	* ld-sh/sh64/cmpct1.xd: Likewise.
	* ld-sh/sh64/crange1.rd: Likewise.
	* ld-sh/sh64/crange2.rd: Likewise.
	* ld-sh/sh64/crange3-cmpct.rd: Likewise.
	* ld-sh/sh64/crange3-media.rd: Likewise.
	* ld-sh/sh64/crange3.rd: Likewise.
	* ld-sh/sh64/crangerel1.rd: Likewise.
	* ld-sh/sh64/crangerel2.rd: Likewise.
	* ld-sh/sh64/dlsection.sd: Likewise.
	* ld-sh/sh64/endian.sbd: Likewise.
	* ld-sh/sh64/endian.sld: Likewise.
	* ld-sh/sh64/gotplt.d: Likewise.
	* ld-sh/sh64/init-cmpct.d: Likewise.
	* ld-sh/sh64/init-media.d: Likewise.
	* ld-sh/sh64/init.s: Align functions.
	* ld-sh/sh64/init64.d: Update.
	* ld-sh/sh64/mix1-noexp.sd: Likewise.
	* ld-sh/sh64/mix1.sd: Likewise.
	* ld-sh/sh64/mix1.xd: Likewise.
	* ld-sh/sh64/mix2-noexp.sd: Likewise.
	* ld-sh/sh64/mix2.sd: Likewise.
	* ld-sh/sh64/mix2.xd:Likewise.
	* ld-sh/sh64/rel32.xd: Likewise.
	* ld-sh/sh64/rel64.xd: Likewise.
	* ld-sh/sh64/reldl32.rd: Likewise.
	* ld-sh/sh64/reldl64.rd: Likewise.
	* ld-sh/sh64/shdl32.xd: Update.
	* ld-sh/sh64/shdl64.sd: Likewise.
	* ld-sh/sh64/shdl64.xd: Likewise.
	* ld-sh/shared-1.d: Add -z nocombreloc to ld option.  Update.
	* ld-sh/sub2l-1.d: Make file format match with elf32-sh.*.
	* ld-sh/weak1.d: Likewise.
2003-10-13 05:09:21 +00:00
Hans-Peter Nilsson
8e91916467 * ld-scripts/defined3.d, ld-scripts/defined3.t: New test.
* ld-scripts/defined.exp: Run defined3.
2003-10-11 09:18:58 +00:00
Hans-Peter Nilsson
b8fe28d49f * ld-scripts/defined2.d, ld-scripts/defined2.t: New test.
* ld-scripts/defined.exp: Run defined2.
2003-10-08 12:35:18 +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
H.J. Lu
5cd8624d60 2003-09-30 H.J. Lu <hongjiu.lu@intel.com>
* ld-checks/checks.exp (section_check): Remove ia64-*-elf*.
2003-09-30 19:50:40 +00:00
H.J. Lu
18c5ee84de 2003-09-30 H.J. Lu <hongjiu.lu@intel.com>
* ld-checks/checks.exp (section_check): Skip ia64-*-* instead
	of ia64-*-linux*.
2003-09-30 19:12:53 +00:00
H.J. Lu
a98f9b6c0d 2003-09-30 H.J. Lu <hongjiu.lu@intel.com>
* ld-ia64/ia64.exp: Remove -melf64_ia64.

	* ld-ia64/tlsbin.dd: Remove -melf64_ia64. Match elf..-ia64-.*
	instead of elf64-ia64-little.
	* ld-ia64/tlsbin.rd: Likewise.
	* ld-ia64/tlsbin.sd: Likewise.
	* ld-ia64/tlsbin.td: Likewise.
	* ld-ia64/tlsg.sd: Likewise.
	* ld-ia64/tlspic.dd: Likewise.
	* ld-ia64/tlspic.rd: Likewise.
	* ld-ia64/tlspic.sd: Likewise.
	* ld-ia64/tlspic.td: Likewise.
2003-09-30 18:03:54 +00:00
Chris Demetriou
5f74bc130d [ bfd/ChangeLog ]
2003-09-30  Chris Demetriou  <cgd@broadcom.com>

	* archures.c (bfd_mach_mipsisa64r2): New define.
	* bfd-in2.h: Regenerate.
	* aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
	* cpu-mips.c (I_mipsisa64r2): New enum value.
	(arch_info_struct): Add entry for I_mipsisa64r2.
	* elfxx-mips.c (_bfd_elf_mips_mach)
	(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
	(mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
	(mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.

[ binutils/ChangeLog ]
2003-09-30  Chris Demetriou  <cgd@broadcom.com>

	* readelf.c (get_machine_flags): Handle E_MIPS_ARCH_64R2.

[ gas/Changelog ]
2003-09-30  Chris Demetriou  <cgd@broadcom.com>

	* configure.in (mipsisa64r2, mipsisa64r2el, mipsisa64r2*): New CPUs.
	* configure: Regenerate.
	* config/tc-mips.c (imm2_expr): New variable.
	(md_assemble, mips16_ip): Initialize imm2_expr.
	(ISA_HAS_64BIT_REGS, ISA_HAS_DROR, ISA_HAS_ROR): Add ISA_MIPS64R2.
	(macro_build): Handle +A, +B, +C, +E, +F, +G, and +H format operands.
	(macro): Handle M_DEXT and M_DINS.
	(validate_mips_insn): Handle +E, +F, +G, +H, and +I format operands.
	(mips_ip): Likewise.
	(OPTION_MIPS64R2): New define.
	(md_longopts): New entry for -mips64r2 (OPTION_MIPS64R2).
	OPTION_ASE_BASE): Increase to compensate for OPTION_MIPS64R2.
	(md_parse_option): Handle OPTION_MIPS64R2.
	(s_mipsset): Handle setting "mips64r2" ISA.
	(mips_cpu_info_table): Add mips64r2.
	(md_show_usage): Document -mips64r2 option.
	* doc/as.texinfo: Docuemnt -mips64r2 option.
	* doc/c-mips.texi: Likewise.

[ gas/testsuite/ChangeLog ]
2003-09-30  Chris Demetriou  <cgd@broadcom.com>

	* gas/mips/cp0-names-mips64r2.d: New file.
	* gas/mips/cp0sel-names-mips64r2.d: New file.
	* gas/mips/elf_arch_mips64r2.d: New file.
	* gas/mips/hwr-names-mips64r2.d: New file.
	* gas/mips/mips32r2-ill-fp64.l: New file.
	* gas/mips/mips32r2-ill-fp64.s: New file.
	* gas/mips/mips64r2-ill.l: New file.
	* gas/mips/mips64r2-ill.s: New file.
	* gas/mips/mips64r2.d: New file.
	* gas/mips/mips64r2.s: New file.
	* gas/mips/mips.exp: Define "mips64r2" arch, and run new tests.

[ include/elf/ChangeLog ]
2003-09-30  Chris Demetriou  <cgd@broadcom.com>

	* mips.h (E_MIPS_ARCH_64R2): New define.

[ include/opcode/ChangeLog ]
2003-09-30  Chris Demetriou  <cgd@broadcom.com>

	* mips.h: Document +E, +F, +G, +H, and +I operand types.
	Update documentation of I, +B and +C operand types.
	(INSN_ISA64R2, ISA_MIPS64R2, CPU_MIPS64R2): New defines.
	(M_DEXT, M_DINS): New enum values.

[ ld/ChangeLog ]
2003-09-30  Chris Demetriou  <cgd@broadcom.com>

	* ldmain.c (get_emulation): Ignore "-mips64r2".

[ ld/testsuite/ChangeLog ]
2003-09-30  Chris Demetriou  <cgd@broadcom.com>

	* ld-mips-elf/mips-elf-flags.exp: Add tests for combinations
	with MIPS64r2.

[ opcodes/ChangeLog ]
2003-09-30  Chris Demetriou  <cgd@broadcom.com>

	* mips-dis.c (mips_arch_choices): Add entry for "mips64r2"
	(print_insn_args): Add handing for +E, +F, +G, and +H.
	* mips-opc.c (I65): New define for MIPS64r2.
	(mips_builtin_opcodes): Add "dext", "dextm", "dextu", "dins",
	"dinsm", "dinsu", "drotl", "drotr", "drotr32", "drotrv", "dsbh",
	and "dshd" for MIPS64r2.  Adjust "dror", "dror32", and "drorv" to
	be supported on MIPS64r2.
2003-09-30 16:17:15 +00:00
H.J. Lu
7ed2b4e229 2003-09-29 H.J. Lu <hongjiu.lu@intel.com>
* lib/ld-lib.exp (proc is_elf64): New.

	* ld-scripts/phdrs.exp: Use is_elf_format and is_elf64.
2003-09-30 00:39:57 +00:00
Alan Modra
ea16ac837f o * ld-discard/exit.s: Correct .text.exit attributes.
* ld-discard/extern.s: Likewise.
	* ld-discard/static.s: Likewise.
2003-09-23 00:41:51 +00:00
Thiemo Seufer
4ca2ec8897 * ld-mips-elf/relax-jalr-n32.d: Fix little endian test failure.
* ld-mips-elf/relax-jalr-n32-shared.d: Likewise.
	* ld-mips-elf/relax-jalr-n64.d: Likewise.
	* ld-mips-elf/relax-jalr-n64-shared.d: Likewise.
2003-09-21 16:40:29 +00:00
Hans-Peter Nilsson
d65b72117e * ld-mmix/bpo-1.d, ld-mmix/bpo-10.d, ld-mmix/bpo-11.d,
ld-mmix/bpo-14.d, ld-mmix/bpo-16.d, ld-mmix/bpo-17.d,
	ld-mmix/bpo-18.d, ld-mmix/bpo-19.d, ld-mmix/bpo-2.d,
	ld-mmix/bpo-22.d, ld-mmix/bpo-3.d, ld-mmix/bpo-4.d,
	ld-mmix/bpo-5.d, ld-mmix/bpo-6.d, ld-mmix/bpo-9.d,
	ld-mmix/greg-19.d, ld-mmix/loc1.d, ld-mmix/loc2.d, ld-mmix/loc3.d,
	ld-mmix/loc4.d, ld-mmix/loc6.d, ld-mmix/local12.d,
	ld-mmix/locdo-1.d, ld-mmix/loct-1.d, ld-mmix/locto-1.d: Adjust for
	objdump -d change.
2003-09-14 14:10:55 +00:00
Alan Modra
a52f1af1ab * ld-elf/merge2.s: New.
* ld-elf/merge2.d: New.
2003-09-10 23:35:40 +00:00
Hans-Peter Nilsson
ba3360ee53 * ld-mmix/bpo-9.d, ld-mmix/bpo-10.d, ld-mmix/bpo-11.d: Adjust for
recent objdump "Contents of ..." change.
2003-08-16 11:15:25 +00:00
Kaz Kojima
866f48b717 * elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
* ld-sh/shared-2.d, ld-sh/textrel1.s, ld-sh/textrel2.s: New test.
2003-08-02 13:46:44 +00:00
Alan Modra
edf6a2322f Adjust for objdump -d change. 2003-08-02 11:34:30 +00:00
Jakub Jelinek
933f40e758 * ld-elfvsb/elf-offset.ld: Add .rel.toc, .rela.toc and .toc
sections.
--- ld/testsuite/ld-elfvsb/elf-offset.ld.jj	2003-05-19 17:12:47.000000000 -0400
+++ ld/testsuite/ld-elfvsb/elf-offset.ld	2003-07-29 05:39:34.000000000 -0400
@@ -46,6 +46,8 @@ SECTIONS
     }
   .rel.got       : { *(.rel.got)		}
   .rela.got      : { *(.rela.got)		}
+  .rel.toc       : { *(.rel.toc)		}
+  .rela.toc      : { *(.rela.toc)		}
   .rel.ctors     : { *(.rel.ctors)	}
   .rela.ctors    : { *(.rela.ctors)	}
   .rel.dtors     : { *(.rel.dtors)	}
@@ -111,6 +113,7 @@ SECTIONS
     KEEP (*(.dtors))
   }
   .got           : { *(.got.plt) *(.got) }
+  .toc           : { *(.toc) }
   .dynamic       : { *(.dynamic) }
   /* We want the small data sections together, so single-instruction offsets
      can access them all, and initialized data all before uninitialized, so
2003-07-29 14:02:55 +00:00
Alan Modra
452575a9ac * ld-powerpc/tlsso.r: Update.
* ld-powerpc/tlstocso.r: Update.
2003-07-29 06:53:41 +00:00
Nick Clifton
10eafd9ffd Update expected output regexps to include .eh_frame section. 2003-07-29 06:26:23 +00:00
Alan Modra
b59a021820 Update tests for corrected section attributes and objdump change. 2003-07-26 10:22:01 +00:00
H.J. Lu
13752416b5 2003-07-24 H.J. Lu <hongjiu.lu@intel.com>
* ld-powerpc/tlsexe.r: .sbss is NOBITS, not PROGBITS.
	* ld-powerpc/tlsexetoc.r: Likewise.
	* ld-powerpc/tlsso.r: Likewise.
	* ld-powerpc/tlstocso.r: Likewise.
2003-07-25 01:39:42 +00:00
Stephane Carrez
48e833341a * ld-srec/srec.exp: For m6811/m6812 use --defsym to define _.z soft
register.
2003-07-23 19:55:53 +00:00
H.J. Lu
d416627cc3 2003-07-22 H.J. Lu <hongjiu.lu@intel.com>
* ld-selective/selective.exp: Skip "ia64-*-*".

	* ld-srec/srec.exp: Make xfail on "ia64-*-*".
2003-07-22 14:58:35 +00:00
Richard Sandiford
7a9823f1a9 bfd/
* bfd-in.h (bfd_h8300_pad_address): Declare.
	* bfd-in2.h: Regenerate.
	* cpu-h8300.c (bfd_h8300_pad_address): New function.
	* coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
	addresses before checking whether they can be relaxed.
	(h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
	Don't complain about overflows in general 8-bit relocations.
	* elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
	Fix handling of R_H8_DIR24A8.

ld/testsuite/
	* ld-h8300/relax-3{.s,.d,-coff.d}: New test.
	* ld-h8300/h8300.exp: Run it.
2003-07-11 14:59:41 +00:00
Alan Modra
1c0bd72e41 * ld-powerpc/powerpc.exp: Dump output .got section rather than .toc.
* ld-powerpc/tlsexetoc.g: Update.
	* ld-powerpc/tlsexetoc.r: Update.
	* ld-powerpc/tlstoc.g: Update.
	* ld-powerpc/tlstocso.g: Update.
	* ld-powerpc/tlstocso.r: Update.
2003-07-10 00:38:42 +00:00
Nick Clifton
8c17da6e59 * elf32-h8300.c (R_H8_DIR32A16): Fix name field.
(elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
<R_H8_DIR32A16>: Fix type of relocation.

* ld-h8300/h8300.exp: Replace loop with explicit list.  Run relax.d
unconditionally.  Run relax-2.d for *-elf targets.
* ld-h8300/relax.d: Fix typo.
* ld-h8300/relax.s: Add 0x prefixes.
* ld-h8300/relad-2.[sd]: New test.
2003-07-04 10:25:14 +00:00
Thiemo Seufer
fbf18a5ce9 * ld-mips-elf/mips-elf.exp: Use is_elf_format. 2003-06-28 22:14:59 +00:00
Thiemo Seufer
0c29b4ccce * ld-mips-elf/mips-elf-flags.exp: Use -melf32bsmip for IRIX6. 2003-06-28 22:12:26 +00:00
Alan Modra
264d75f79b * ld-powerpc/apuinfo.rd: Update. 2003-06-25 11:12:46 +00:00
Thiemo Seufer
b7c7d6c193 * config/tc-mips.c (ADDRESS_ADD_INSN,ADDRESS_ADDI_INSN): Remove
special handling for n32 ABI.
	(macro): Likewise.
	* gas/mips/elf-rel-got-n32.d: Remove special handling for n32 ABI.
	* gas/mips/elf-rel-xgot-n32.d: Likewise.
	* gas/mips/jal-newabi.d: Likewise.
	* ld-mips-elf/elf-rel-got-n32.d: Remove special handling for n32 ABI.
	* ld-mips-elf/elf-rel-xgot-n32.d: Likewise.
2003-06-21 21:38:04 +00:00
Hans-Peter Nilsson
c1f1974625 * ld-cris/locref1.d, ld-cris/locref1.s, ld-cris/locref2.d,
ld-cris/locref2.s: New tests.
2003-06-18 04:11:13 +00:00
Hans-Peter Nilsson
a42ec05b09 * ld-elfcomm/elfcomm.exp (dump_common1): Use $READELF, not plain
readelf as found using default path.
2003-06-18 03:38:05 +00:00
Alan Modra
b0fe1bf34d * lib/ld-lib.exp (default_ld_simple_link): Trim ld parms before
trying to trim ld path.
	(default_ld_compile): Likewise for cc.
2003-06-18 01:55:57 +00:00
Alan Modra
0f84fde19e * lib/ld-lib.exp (default_ld_simple_link): Trim ld path before
looking for gcc match.
	(default_ld_compile): Likewise for cc.
2003-06-17 23:26:57 +00:00
Nick Clifton
40bdaaa8ed * ld-undefined/undefined.exp (i?86-*-freebsd*): Remove xfail.
* configure.host (*-*-freebsd*): Add known path for ld-elf.so.1 if not produced by gcc.
2003-06-17 11:01:17 +00:00
Alan Modra
37c18fe25f * ld-powerpc/tlsexetoc.d: Update.
* ld-powerpc/tlsso.d: Update.
	* ld-powerpc/tlstoc.d: Update.
	* ld-powerpc/tlstocso.d: Update.
	* ld-powerpc/tlstocso.r: Update.
2003-06-16 10:51:07 +00:00
Hans-Peter Nilsson
1de1cfb15b * ld-cris/ldsym1.d: Restrict to cris-*-*elf* and cris-*-*aout*.
* ld-cris/noglob1.d: Ditto.
	* ld-cris/badgotr1.d: Pass --underscore to gas.
2003-06-16 00:02:36 +00:00
Thiemo Seufer
31a1f3a136 * ld-mips-elf/elf-rel-got-n64-linux.d: New file.
* ld-mips-elf/elf-rel-xgot-n64-linux.d: New file.
	* ld-mips-elf/mips-elf.exp: Use the new files for Linux.
2003-06-12 17:07:14 +00:00
Thiemo Seufer
2d8f7dc8d5 * ld-mips-elf/relax-jalr.s: Fix testsuite breakage.
* ld-mips-elf/relax-jalr-n32.d: Likewise.
	* ld-mips-elf/relax-jalr-n32-shared.d: Likewise.
	* ld-mips-elf/relax-jalr-n64.d: Likewise.
	* ld-mips-elf/relax-jalr-n64-shared.d: Likewise.
2003-06-11 22:51:59 +00:00
Thiemo Seufer
d80dcc6af4 * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
for n32, too.
	(MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
	(mips_elf_rel_dyn_section): Use appropriate section alignment.
	(mips_elf_create_got_section): Likewise.
	(_bfd_mips_elf_create_dynamic_sections): Likewise.
	* ld-mips-elf/multi-got-1.d: Adjust addresses.
	* ld-mips-elf/rel32-n32.d: Likewise.
2003-06-11 21:01:50 +00:00
Alan Modra
4c80642a39 * ld-srec/srec.exp (run_srec_test): Remove powerpc64 xfails, and
xfail for hppa duplicated elsewhere.
2003-06-11 06:20:44 +00:00
Thiemo Seufer
5ef0935e19 * gas/mips/mips.exp: Fix typo.
* gas/mips/elempic.d: Force o64 ABI.
	* gas/mips/telempic.d: Likewise.
	* ld-mips-elf/rel32-n32.d: Force big endian assembly.
	* ld-mips-elf/rel32-o32.d: Likewise.
	* ld-mips-elf/rel64.d: Likewise.
2003-06-10 19:45:24 +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
6f6f27f842 bfd/
2003-06-03  H.J. Lu <hongjiu.lu@intel.com>

	* elflink.h (elf_link_input_bfd): Call linker error_handler
	for discarded definitions.

include/

2003-06-03  H.J. Lu <hongjiu.lu@intel.com>

	* bfdlink.h (LD_DEFINITION_IN_DISCARDED_SECTION): New.

ld/

2003-06-03  H.J. Lu <hongjiu.lu@intel.com>

	* ldmisc.c: Include "bfdlink.h".
	(error_handler): Handle LD_DEFINITION_IN_DISCARDED_SECTION
	and -LD_DEFINITION_IN_DISCARDED_SECTION.

	* Makefile.am: Rebuild dependency.
	* Makefile.in: Regenerated.

ld/testsuite/

2003-06-03  H.J. Lu <hongjiu.lu@intel.com>

	* ld-discard/extern.d: Updated.
	* ld-discard/start.d: Likewise.
	* ld-discard/static.d: Likewise.
2003-06-03 18:15:05 +00:00
H.J. Lu
b814bbcbee 2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfcomm/elfcomm.exp: Mark tests untested if compiler is
	not available.
2003-06-03 15:28:36 +00:00
Nick Clifton
3bb727441d Add new test for cygwin target: building an executable with an export table. 2003-06-02 09:11:01 +00:00
H.J. Lu
cdaeef2eb5 ld/
2003-05-30  H.J. Lu <hongjiu.lu@intel.com>

	* genscripts.sh: Create tmpdir/libpath.exp.

ld/testsuite/

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

	* config/default.exp: Load tmpdir/libpath.exp.
	(gcc_ld_flag): Set from $libpath.
2003-05-30 13:23:25 +00:00
Jason Thorpe
43f9d75bc1 * ld-elf/elf.exp: Use if_elf_format.
* ld-elf/sec64k.exp: Likewise.
* ld-elfcomm/elfcomm.exp: Likewise.
* lib/ld-lib.exp (is_elf_format): Match hppa*64*-*-hpux*.
2003-05-29 00:16:46 +00:00
Jason Thorpe
493e6a13fd * ld-mips-elf/mips-elf.exp: Make all NetBSD targets match as elf. 2003-05-25 14:36:19 +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
Stephane Carrez
99573a9826 * ld-m68hc11/link-hcs12.d: New test.
* ld-m68hc11/link-hcs12.s: New file.
	* ld-m68hc11/link-hc12.s: New file.
2003-05-13 19:11:45 +00:00
H.J. Lu
5c449c3fa6 2003-05-13 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfweak/elfweak.exp: Fix typo.
2003-05-13 16:13:28 +00:00
Nick Clifton
59758b1cc8 Run on sh[34]*-*-linux*. 2003-05-13 11:39:58 +00:00
Hans-Peter Nilsson
5ff4a71ef3 * ld-mmix/b-fixo2.d, ld-mmix/bpo-18.d, ld-mmix/bpo-18m.d,
ld-mmix/loc4.d, ld-mmix/loc4m.d, ld-mmix/loc6.d, ld-mmix/loc6m.d,
	ld-mmix/locdo-1.d, ld-mmix/sec-1.d, ld-mmix/sec-2.d,
	ld-mmix/sec-3.d, ld-mmix/sec-4.d, ld-mmix/sec-5.d,
	ld-mmix/sec-7m.d, ld-mmix/sec-8m.d, ld-mmix/spec802.d,
	ld-mmix/spec803.d, ld-mmix/spec804.d, ld-mmix/spec805.d,
	ld-mmix/spec806.d, ld-mmix/spec807.d, ld-mmix/spec808.d: Tweak for
	objdump no longer truncating dump addresses.
2003-05-12 05:45:38 +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
H.J. Lu
54c9a60f31 2003-05-08 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers.exp: Add vers27d4 and vers27d5 to test
	versioned reference for hidden symbol.

	* ld-elfvers/vers27d4.dsym: New file.
	* ld-elfvers/vers27d4.ver: Likewise.
2003-05-08 19:51:48 +00:00
H.J. Lu
95b4a16ea5 2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers27d3.c (__start): New.
	(start): New.
2003-05-08 07:01:11 +00:00
H.J. Lu
0ae911fecd 2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
* ld-elfvers/vers.exp (build_binary): Support build exeutable.
	(build_binary): Renamed from ...
	(build_vers_lib): This.
	(build_vers_lib_no_pic): Updated.
	(build_vers_lib_pic): Likewise.
	Add vers27d1, vers27d2 and vers27d3 to test versioned
	definition for hidden symbol referenced by a DSO.

	* ld-elfvers/vers27d.dsym: New file.
	* ld-elfvers/vers27d.sym: Likewise.
	* ld-elfvers/vers27d.ver: Likewise.
	* ld-elfvers/vers27d1.c: Likewise.
	* ld-elfvers/vers27d2.c: Likewise.
	* ld-elfvers/vers27d3.c: Likewise.
2003-05-08 05:10:47 +00:00
Andreas Schwab
3a8260b266 * ld-elfvsb/elfvsb.exp: Run dump tests even when cross
compiling.
2003-05-07 09:21:27 +00:00
Alexandre Oliva
697380b39c * config/default.exp (gcc_gas_flags): Force ABI to n32 on
mips64-linux.
* ld-elf/merge.d: Xfail on mips64*-linux-gnu*.
* ld-mips-elf/mips-elf-flags.exp (ldemul): Set to o32-compatible
on mips-sgi-irix6*, mips64-linux-gnu and mips64el-linux-gnu.
(good_combination, bad_combination): Use it.
Add -32 or -mabi=o64 wherever the ABI was formerly implied.
2003-05-07 05:08:02 +00:00
H.J. Lu
08d5f1b40e 2003-05-06 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp (objdump_versionstuff): Support comment
	in expected version file.

	* ld-elfvers/vers25b.c: Add a line of comment.
	* ld-elfvers/vers25b.dsym: Likwise.
	* ld-elfvers/vers25b.ver: Likwise.
	* ld-elfvers/vers26b.dsym: Likwise.
	* ld-elfvers/vers26b.ver: Likwise.
	* ld-elfvers/vers27b.dsym: Likwise.
	* ld-elfvers/vers27b.ver: Likwise.
	* ld-elfvers/vers27c.c: Likwise.
	* ld-elfvers/vers27c.dsym: Likwise.
	* ld-elfvers/vers27c.ver: Likwise.
2003-05-06 15:55:09 +00:00
H.J. Lu
ef5aade5ac bfd/
2003-05-04  H.J. Lu <hjl@gnu.org>

	* elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
	relocation entries for weak undefined symbols with non-default
	visibility.
	(elf_i386_relocate_section): Initialize the GOT entries and
	skip R_386_32/R_386_PC32 for weak undefined symbols with
	non-default visibility.

	* elfxx-ia64.c (allocate_fptr): Don't allocate function
	descriptors for weak undefined symbols with non-default
	visibility.
	(allocate_dynrel_entries): Don't allocate relocation entries
	for symbols resolved to 0.
	(set_got_entry): Don't install dynamic relocation for weak
	undefined symbols with non-default visibility.
	(set_pltoff_entry): Likewise.

	* elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
	with non-default visibility.
	(elf_link_output_extsym): Don't make weak undefined symbols
	with non-default visibility dynamic.

ld/testsuite/

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

	* ld-elfvsb/main.c: Updated.
	* ld-elfvsb/sh1.c: Likewise.
2003-05-05 05:46:53 +00:00
H.J. Lu
839efa267f Add missing entries for the last checkin. 2003-05-05 03:44:59 +00:00
H.J. Lu
c424e0e973 bfd/
2003-05-04  H.J. Lu <hjl@gnu.org>

	* elflink.h (elf_merge_symbol): Correctly handle weak definiton.

ld/testsuite/

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

	* ld-elfvers/vers18.dsym: Updated for weak definiton change.
	* ld-elfvers/vers18.ver: Likewise.
	* ld-elfvers/vers19.ver: Likewise.

	* ld-elfweak/elfweak.exp: Remove xfail.
2003-05-05 03:33:09 +00:00
Alexandre Oliva
508073f77f * ld-mips-elf/multi-got-1.d: Force into big-endian mode.
Turn relocation offsets into regexps.
2003-05-04 21:06:35 +00:00
H.J. Lu
95aa61ce02 2003-05-03 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers27a, vers27b, vers27c1 and
	vers27c2 to test versioned definition vs. hidden definition in
	different files.

	* ld-elfvers/vers27a.c: New file.
	* ld-elfvers/vers27a.dsym: Likewise.
	* ld-elfvers/vers27a.map: Likewise.
	* ld-elfvers/vers27a.ver: Likewise.
	* ld-elfvers/vers27b.c: Likewise.

	* ld-elfvers/vers27b.dsym: New empty file.
	* ld-elfvers/vers27b.ver: Likwise.
	* ld-elfvers/vers27c.c: Likwise.
	* ld-elfvers/vers27c.dsym: Likwise.
	* ld-elfvers/vers27c.ver: Likwise.
2003-05-03 16:51:05 +00:00
Nick Clifton
2968149b03 Fix xstormy16's handling of pc-relative relocs against defined symbols. 2003-05-02 12:42:13 +00:00
Andreas Jaeger
fcd06cfe45 * ld-elfvers/vers.exp (build_exec): Disable vers26b3 on x86-64-linux. 2003-05-02 08:16:25 +00:00
H.J. Lu
bf57c3c94d gas/
2003-04-30  H.J. Lu <hjl@gnu.org>

	* config/tc-ia64.c (md_section_align): Deleted.

	* config/tc-ia64.h (SUB_SEGMENT_ALIGN): New.
	(md_section_align): New.

gas/testsuite/

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

	* gas/ia64/ia64.exp: Add align.

	* gas/ia64/align.d: New file.
	* gas/ia64/align.s: Likewise.

	* ia64/dependency-1.d: Remove the padding.

ld/testsuite/

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

	* ld-ia64/tlsbin.dd: Updated.
	* ld-ia64/tlsbin.rd: Likewise.
	* ld-ia64/tlsbin.sd: Likewise.
	* ld-ia64/tlsbin.td: Likewise.
	* ld-ia64/tlspic.rd: Likewise.
	* ld-ia64/tlspic.sd: Likewise.
	* ld-ia64/tlspic.td: Likewise.
2003-05-01 00:53:39 +00:00
Joern Rennecke
5ad8914f65 * ld-selective/3.cc (start): New function.
* ld-selective/4.cc: Likewise.
	* ld-selective/5.cc: Likewise.
2003-04-30 12:07:19 +00:00
H.J. Lu
f006af20ee bfd/
2003-04-28  H.J. Lu <hjl@gnu.org>

	* elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
	to copy any information related to dynamic linking when we flip
	the indirection.

ld/testsuite/

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

	* ld-elfvers/vers.exp (picflag): Set PIC flag for compiler.
	(build_vers_lib): Support PIC.
	(build_vers_lib_no_pic): New. Change all calls to build_vers_lib
	to build_vers_lib_no_pic.
	(build_vers_lib_pic): New.
	Add tests vers26a, vers26b1, vers26b2 and vers26b3 for versioned
	definition vs. normal definition in different files.

	* ld-elfvers/vers26a.c: New file.
	* ld-elfvers/vers26a.dsym: Likewise.
	* ld-elfvers/vers26a.map: Likewise.
	* ld-elfvers/vers26a.ver: Likewise.
	* ld-elfvers/vers26b.c: Likewise.

	* ld-elfvers/vers26b.dsym: New empty file.
	* ld-elfvers/vers26b.ver: Likewise.
2003-04-28 16:58:01 +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
Stephane Carrez
d204f4c0f9 PR savannah/3331:
* elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
	when we couldn't relax something.
	* ld-m68hc11/bug-3331.d: New test.
	* ld-m68hc11/bug-3331.s: New file.
2003-04-26 11:53:36 +00:00
Joern Rennecke
635f10624f * lib/ld-lib.exp (big_or_little_endian): Also check for -mb and -ml. 2003-04-25 14:23:31 +00:00
H.J. Lu
09bf97202b 2003-04-24 J"orn Rennecke <joern.rennecke@superh.com>
* ld-elfcomm/elfcomm.exp: Allow symbols to have '_' prepended.
2003-04-24 21:00:06 +00:00
Kaz Kojima
267fb3c1ce * elf32-sh.c (tpoff): New.
(struct elf_sh_dyn_relocs): Remove tls_tpoff32.
	(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
        (allocate_dynrelocs): Don't make unnecessary dynamic TLS
	relocations.  Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
        (sh_elf_relocate_section): Likewise. Remove unnecessary tests.
	(dtpoff_base): Fix wrong indentation.
	(sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
	relocations.  Don't set tls_tpoff32 flag.  Don't make unnecessary
	R_SH_TLS_TPOFF32 relocations.

	* ld-sh/tlsbin-1.d, ld-sh/tlsbin-2.d, ld-sh/tlsbin-3.d,
	ld-sh/tlstpoff-1.d, ld-sh/tlstpoff-2.d: Update for removing
	unnecessary TLS relocs.
2003-04-24 05:19:09 +00:00
Joern Rennecke
ef23021837 bfd:
* archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
        * cpu-sh.c: Likewise.
        * elf32-sh.c: Likewise.
        * reloc.c (bfd_reloc_code_real): Likewise.
        * elf32-sh64-com.c: Change comment to refer to SuperH.
        * elf32-sh64.c: Likewise.
        * elf64-sh64.c: Likewise.
        * bfd-in2.h (enum bfd_architecture): Regenerate.
binutils:
        * readelf.c (get_machine_name) <EM_SH>: Amend return value
        to refer to SuperH.
gas:
        * config/tc-sh.c: Amend comment to refer to SuperH.
        * config/tc-sh.h: Likewise.
        (LISTING_HEADER): Amend to refer to SuperH.
        * config/tc-sh64.c: Change comment to refer to SuperH.
        * config/tc-sh64.h (LISTING_HEADER): Change to refer to SuperH.
        * doc/as.texinfo [SH, GENERIC]: Amend / Change to refer to SuperH.
        * doc/c-sh.texi: Amend to refer to SuperH.
        Add SuperH architecture documentation references.
        * doc/c-sh64.texi: Change to refer to SuperH.
include/elf:
        * common.h (EM_SH): Amend comment to refer to SuperH.
ld/testsuite:
        * ld-sh/sh64/crange3-cmpct.rd (Machine): Change to refer to SuperH.
        * ld-sh/sh64/crange3-media.rd (Machine): Likewise.
2003-04-23 21:09:04 +00:00
H.J. Lu
834216a99a Check in the new files. 2003-04-23 16:40:04 +00:00
H.J. Lu
365f913182 2003-04-23 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp (objdump_dynsymstuff): Support empty
	files.
	(objdump_versionstuff): Likewise.
	Add tests vers25a, vers25b1 and vers25b2 for versioned
	definition vs. normal definition in different files.

	* ld-elfvers/vers25a.c: New file.
	* ld-elfvers/vers25a.dsym: Likewise.
	* ld-elfvers/vers25a.map: Likewise.
	* ld-elfvers/vers25a.ver: Likewise.

	* ld-elfvers/vers25b.c: New empty file.
	* ld-elfvers/vers25b.dsym: Likewise.
	* ld-elfvers/vers25b.ver: Likewise.
2003-04-23 16:34:39 +00:00
H.J. Lu
ab7be2df2a 2003-04-22 H.J. Lu <hjl@gnu.org>
* ld-elfcomm/elfcomm.exp: Support 64bit targets.
2003-04-22 15:00:02 +00:00
Stephane Carrez
6c6532f753 * ld-m68hc11/far-hc11.s: New file.
* ld-m68hc11/far-hc11.d: New test for HC11 trampoline generation.
	* ld-m68hc11/far-hc12.s: New file.
	* ld-m68hc11/far-hc12.d: New test for HC12 trampoline generation.
	* ld-m68hc11/far-hc12.ld: New file.
2003-04-21 13:30:14 +00:00
H.J. Lu
37adfc7e9f 2003-04-15 H.J. Lu <hjl@gnu.org>
* ld-elfcom/elfcom.exp: Fix a typo.
2003-04-15 14:56:06 +00:00
Nick Clifton
ca4fa240d6 Properly report filename for alignment reduction.
Add test for alignment reduction.
2003-04-15 09:38:11 +00:00
Nick Clifton
c2dcd04ec8 Replace occurrances of 'Hitachi' with 'Renesas'. 2003-04-15 08:51:55 +00:00
Daniel Jacobowitz
878a91906b * ld-discard/extern.s, ld-discard/start.s, ld-discard/static.s,
ld-sh/refdbg.s: Add leading 0 to .debug_info to prevent parsing it
	for error messages.
2003-04-13 14:42:22 +00:00
Alexandre Oliva
7d6c757702 * ld-mips-elf/elf-rel-got-n32.d,
ld-mips-elf/elf-rel-got-n64.d, ld-mips-elf/elf-rel-xgot-n32.d,
ld-mips-elf/elf-rel-xgot-n64.d: New.
* ld-mips-elf/mips-elf.exp (hasn32): Define as condition for
new tests to run.
2003-04-11 01:56:51 +00:00
Stephane Carrez
1f8bd31255 * ld-m68hc11/bug-1417.d: Update to take into account jsr->bsr relax. 2003-04-04 21:17:59 +00:00
Bob Wilson
8fdeb6e3c5 * ld-xtensa/coalesce.exp: Skip if target is not xtensa-*-*.
* ld-xtensa/lcall.exp: Likewise.
2003-04-02 18:00:34 +00:00
Nick Clifton
e0001a05d2 Add Xtensa port 2003-04-01 15:50:31 +00:00
Alexandre Oliva
05e6bb2fc9 * ld-mips-elf/mips-elf.exp: Added...
* ld-mips-elf/relax-jalr.s, ld-mips-elf/relax-jalr-n32.d,
ld-mips-elf/relax-jalr-n32-shared.d, ld-mips-elf/relax-jalr-n64.d,
ld-mips-elf/relax-jalr-n64-shared.d: New tests.
2003-03-26 01:05:44 +00:00
Alexandre Oliva
48fe7bdacc * ld-mips-elf/mips-elf.exp (linux_gnu): New variable. Add:
* ld-mips-elf/rel32-o32.d, ld-mips-elf/rel32-n32.d,
ld-mips-elf/rel64.d, ld-mips-elf/rel32.s, ld-mips-elf/rel64.s: New
tests.
2003-03-11 19:20:16 +00:00
Alan Modra
e515b05172 * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
zero index dynamic tls relocs generated for the GOT.  Tidy code.
	Set "relocation" to 1 on DTPMOD32 relocs.  Optimize HA adjustment.
	* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.

	* ld-powerpc/tlsso.r: Adjust for corrected zero symbol index relocs.
	* ld-powerpc/tlsso32.r: Likewise.
2003-03-10 23:25:13 +00:00
Alan Modra
89b16ee576 * ld-powerpc/tlsexe.d: Update for changed handling of invalid LD
relocs.
	* ld-powerpc/tlsexe.g: Likewise.
	* ld-powerpc/tlsexe.r: Likewise.
	* ld-powerpc/tlsexe.t: Likewise.
2003-02-18 12:54:56 +00:00
Alan Modra
2a050fb5ce New tests. 2003-02-18 06:11:32 +00:00
Alan Modra
5502cb9fb4 * ld-powerpc/tlsexe.g: Update for 2003-02-14 elf64-ppc.c change. 2003-02-17 22:49:53 +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
Kaz Kojima
0f85b45c31 * ld-sh/tlstpoff-1.d: New.
* ld-sh/tlstpoff-2.d: New.
	* ld-sh/tlstpoff1.s: New.
	* ld-sh/tlstpoff2.s: New.
2003-02-10 22:19:26 +00:00
Alan Modra
ac8b6cc0b0 * ld-powerpc/tlslib.s: Give .__tls_get_addr function type.
* ld-powerpc/tlsexe.d: Update for changed handling of (invalid) ld var
	in dynamic lib.
	* ld-powerpc/tlsexe.g: Likewise.
	* ld-powerpc/tlsexe.r: Likewise.
	* ld-powerpc/tlsexe.t: Likewise.
	* ld-powerpc/tlsexetoc.d: Likewise.
	* ld-powerpc/tlsexetoc.g: Likewise.
	* ld-powerpc/tlsexetoc.r: Likewise.
	* ld-powerpc/tlsexetoc.t: Likewise.
2003-02-09 04:37:04 +00:00
Alan Modra
266fb68310 new ppc64 tls tests 2003-02-04 14:52:11 +00:00
Alexandre Oliva
8914585cde * ld-mips-elf/multi-got-1.d: New.
* ld-mips-elf/multi-got-1-1.s: New.
* ld-mips-elf/multi-got-1-2.s: New.
* ld-mips-elf/mips-elf.exp (elf): mips*-*-irix* is elf.
Run multi-got-1.
2003-01-28 00:01:53 +00:00
Jakub Jelinek
b9734f3572 bfd/
* elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
	(elf32_sparc_rev32_howto): New variable.
	(sparc_reloc_map): Add TLS relocs.
	(elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
	Handle REV32.
	(sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
	New functions.
	(struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
	struct elf32_sparc_link_hash_table):
	New structures.
	(elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
	elf32_sparc_hash_table): Define.
	(link_hash_newfunc, elf32_sparc_link_hash_table_create,
	create_got_section, elf32_sparc_create_dynamic_sections,
	elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
	functions.
	(elf32_sparc_check_relocs): Handle TLS relocs.  Add dynamic reloc
	reference counting.
	(elf32_sparc_gc_sweep_hook): Likewise.
	(elf32_sparc_adjust_dynamic_symbol): Likewise.
	(elf32_sparc_size_dynamic_sections): Likewise.
	(elf32_sparc_relocate_section): Likewise.
	(allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
	New functions.
	(elf32_sparc_object_p): Allocate backend private object data.
	(bfd_elf32_bfd_link_hash_table_create,
	elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
	elf_backend_can_refcount): Define.
	(elf_backend_create_dynamic_sections): Define to
	elf32_sparc_create_dynamic_sections.
	* reloc.c: Add SPARC TLS relocs.
	* bfd-in2.h, libbfd.h: Rebuilt.
	* elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
	(sparc_reloc_map): Likewise.
gas/
	* config/tc-sparc.c (sparc_ip): Handle TLS % operators.
	(tc_gen_reloc): Handle TLS relocs.
	(sparc_cons, cons_fix_new_sparc): Handle %r_tls_dtpoff.
	* config/tc-sparc.h (tc_fix_adjustable): Don't adjust TLS
	relocs.
	* config/obj-elf.c (obj_elf_section_word): Handle tls.
	(obj_elf_type): Handle tls_object.
include/
	* elf/sparc.h: Add TLS relocs.  Move R_SPARC_REV32 to 252.
ld/testsuite/
	* ld-sparc/sparc.exp: New.
	* ld-sparc/tlsg32.s: New test.
	* ld-sparc/tlsg32.sd: Likewise.
	* ld-sparc/tlsg64.s: Likewise.
	* ld-sparc/tlsg64.sd: Likewise.
	* ld-sparc/tlslib.s: Likewise.
	* ld-sparc/tlsnopic.s: Likewise.
	* ld-sparc/tlspic.s: Likewise.
	* ld-sparc/tlssunbin32.dd: Likewise.
	* ld-sparc/tlssunbin32.rd: Likewise.
	* ld-sparc/tlssunbin32.s: Likewise.
	* ld-sparc/tlssunbin32.sd: Likewise.
	* ld-sparc/tlssunbin32.td: Likewise.
	* ld-sparc/tlssunbin64.dd: Likewise.
	* ld-sparc/tlssunbin64.rd: Likewise.
	* ld-sparc/tlssunbin64.s: Likewise.
	* ld-sparc/tlssunbin64.sd: Likewise.
	* ld-sparc/tlssunbin64.td: Likewise.
	* ld-sparc/tlssunbinpic32.s: Likewise.
	* ld-sparc/tlssunbinpic64.s: Likewise.
	* ld-sparc/tlssunnopic32.dd: Likewise.
	* ld-sparc/tlssunnopic32.rd: Likewise.
	* ld-sparc/tlssunnopic32.s: Likewise.
	* ld-sparc/tlssunnopic32.sd: Likewise.
	* ld-sparc/tlssunnopic64.dd: Likewise.
	* ld-sparc/tlssunnopic64.rd: Likewise.
	* ld-sparc/tlssunnopic64.s: Likewise.
	* ld-sparc/tlssunnopic64.sd: Likewise.
	* ld-sparc/tlssunpic32.dd: Likewise.
	* ld-sparc/tlssunpic32.rd: Likewise.
	* ld-sparc/tlssunpic32.s: Likewise.
	* ld-sparc/tlssunpic32.sd: Likewise.
	* ld-sparc/tlssunpic32.td: Likewise.
	* ld-sparc/tlssunpic64.dd: Likewise.
	* ld-sparc/tlssunpic64.rd: Likewise.
	* ld-sparc/tlssunpic64.s: Likewise.
	* ld-sparc/tlssunpic64.sd: Likewise.
	* ld-sparc/tlssunpic64.td: Likewise.
2003-01-24 23:44:45 +00:00
Martin Schwidefsky
6c5977968d * ld-s390/s390.exp: New file.
* ld-s390/tlsbin_64.dd: New file.
	* ld-s390/tlsbin_64.rd: New file.
	* ld-s390/tlsbin_64.s: New file.
	* ld-s390/tlsbin_64.sd: New file.
	* ld-s390/tlsbin_64.td: New file.
	* ld-s390/tlsbin.dd: New file.
	* ld-s390/tlsbinpic_64.s: New file.
	* ld-s390/tlsbinpic.s: New file.
	* ld-s390/tlsbin.rd: New file.
	* ld-s390/tlsbin.s: New file.
	* ld-s390/tlsbin.sd: New file.
	* ld-s390/tlsbin.td: New file.
	* ld-s390/tlslib_64.s: New file.
	* ld-s390/tlslib.s: New file.
	* ld-s390/tlspic1_64.s: New file.
	* ld-s390/tlspic1.s: New file.
	* ld-s390/tlspic2_64.s: New file.
	* ld-s390/tlspic2.s: New file.
	* ld-s390/tlspic_64.dd: New file.
	* ld-s390/tlspic_64.rd: New file.
	* ld-s390/tlspic_64.sd: New file.
	* ld-s390/tlspic_64.td: New file.
	* ld-s390/tlspic.dd: New file.
	* ld-s390/tlspic.rd: New file.
	* ld-s390/tlspic.sd: New file.
	* ld-s390/tlspic.td: New file.
2003-01-24 17:20:25 +00:00
Alan Modra
0ef7d236e5 * ld-alpha/tlsbin.sd: Cope with truncated address in data dumps.
* ld-alpha/tlsbin.td: Likewise.
	* ld-alpha/tlsbinr.sd: Likewise.
2003-01-23 22:37:21 +00:00
Richard Henderson
8b0c8155b2 New TLS tests for Alpha. 2003-01-22 00:41:59 +00:00
Alan Modra
d2823f55fd * ld-srec/srec.exp (run_srec_test): Pass --traditional-format to ld. 2003-01-20 12:57:59 +00:00
Jakub Jelinek
a823975ae0 * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
R_IA64_TPREL64[LM]SB against non-global symbol properly.

	* ld-ia64/tlspic1.s: Add tests for IE in shared libraries.
	* ld-ia64/tlspic.rd: Adjust.
	* ld-ia64/tlspic.dd: Adjust.
	* ld-ia64/tlspic.sd: Adjust.
2003-01-17 23:27:57 +00:00
Jakub Jelinek
b3dfd7fe24 * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
self_dtpmod_done and self_dtpmod_offset.
	(allocate_global_data_got): Only use one got entry for all
	dtpmod relocs against local symbols.
	(allocate_dynrel_entries): Only need .rela.got entry for
	dtpmod against global symbol.
	(elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
	Reserve space in .rela.got for the local dtpmod entry.
	(set_got_entry): Initialize the common local dtpmod .got entry.
	(elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
	and R_IA_64_DTPREL64MSB.

	* config/tc-ia64.c (ia64_cons_fix_new): Handle @dtprel() in data.

	* ld-ia64/ia64.exp: New.
	* ld-ia64/tlsbin.dd: New test.
	* ld-ia64/tlsbinpic.s: New test.
	* ld-ia64/tlsbin.rd: New test.
	* ld-ia64/tlsbin.s: New test.
	* ld-ia64/tlsbin.sd: New test.
	* ld-ia64/tlsbin.td: New test.
	* ld-ia64/tlsg.s: New test.
	* ld-ia64/tlsg.sd: New test.
	* ld-ia64/tlslib.s: New test.
	* ld-ia64/tlspic1.s: New test.
	* ld-ia64/tlspic2.s: New test.
	* ld-ia64/tlspic.dd: New test.
	* ld-ia64/tlspic.rd: New test.
	* ld-ia64/tlspic.sd: New test.
	* ld-ia64/tlspic.td: New test.
2003-01-16 21:31:18 +00:00
Richard Sandiford
1efcd1fdb6 * ld-mips-elf/mips-elf-flags.exp: Add -mips4 to a -mgp64 test. 2003-01-03 11:04:26 +00:00
Richard Sandiford
64543e1acf bfd/
* elfxx-mips.c: Include libiberty.h.
	(elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
	(mips_set_isa_flags): New function, split out from...
	(_bfd_mips_elf_final_write_processing): ...here.  Only call
	mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
	(mips_mach_extensions): New array.
	(mips_32bit_flags_p): New function.
	(_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
	Use mips_32bit_flags_p to check if one binary is 32-bit and the
	other is 64-bit.  When adopting IBFD's architecture, adopt the
	bfd_mach as well as the flags.

ld/testsuite/
	* ld-mips-elf/jr.s: New file.
	* ld-mips-elf/mips-elf-flags.exp: New test.
2003-01-02 21:31:32 +00:00
Nick Clifton
6bdf432d03 Test the auto importing direct from a dll functionality. 2002-12-18 16:05:10 +00:00
Alexandre Oliva
c9c1e416d7 * ld-mips-elf/mips-elf.exp: Remove branch-misc-2 test.
* ld-mips-elf/branch-misc-2.d: Removed.
2002-12-12 04:39:44 +00:00
Jason Thorpe
e06d9b4589 * lib/ld-lib.exp (is_elf_format): Match NetBSD ELF targets. 2002-12-10 15:54:23 +00:00
Nick Clifton
e1a9cb8e15 Fix the merging of .PPC.EMB.apuinfo sections. Add a test to make sure that
the fix continues to work.
2002-12-03 18:24:33 +00:00
Stephane Carrez
a4ff0c7986 Fix PR savannah/1417:
* ld-m68hc11/bug-1417.s: New test.
	* ld-m68hc11/bug-1417.d: Likewise.
2002-12-01 13:25:05 +00:00
Jakub Jelinek
00f7efb6cc * symbols.c (S_SET_THREAD_LOCAL): New function.
* symbols.h (S_SET_THREAD_LOCAL): New prototype.
	* config/tc-i386.c (md_apply_fix3): Call S_SET_THREAD_LOCAL
	for TLS relocations.
	* config/tc-ia64.c (md_apply_fix3): Likewise.
	* config/tc-alpha.c (md_apply_fix3): Likewise.

	* ld-i386/tlsnopic.rd: Change NOTYPE to TLS for UND sg* symbols.
2002-11-28 14:15:55 +00:00
Kaz Kojima
1448fa3227 * elf32-sh.c (sh_elf_relocate_section): Don't complain about
unresolved debugging relocs in dynamic applications.
	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
	* ld-sh/refdbg-0-dso.d: New test.
	* ld-sh/refdbg-1.d: Likewise.
	* ld-sh/refdbg.s: Likewise.
	* ld-sh/refdbglib.s: Likewise.
2002-11-28 08:37:15 +00:00
Alan Modra
0e4065952f * ld-elf/elf.exp: Remove sec64k test.
* ld-elf/sec64k.exp: Reinstate.
2002-11-21 21:37:06 +00:00
Alan Modra
782c0ebfc9 * ld-elf/elf.exp: Renamed from sec64k.exp. Add test_list loop.
* ld-elf/merge.s: New file.
	* ld-elf/merge.d: New file.
	* ld-elf/merge.ld: New file.
2002-11-21 13:30:31 +00:00
Alan Modra
1a3fdaa703 * emulparams/elf64ppc.sh (SEGMENT_SIZE): Don't define.
Also move some changelog entries to where they belong.
2002-11-20 01:02:44 +00:00
Svein Seldal
48c5eb8a70 TIC4X testcase commit
* binutils/testsuite/binutils-all/objcopy.exp: Disable tic4x
	from test
	* binutils/testsuite/binutils-all/objdump.exp: Setup proper
	values for tic4x testcase
	* gas/testsuite/gas/all/gas.exp: Setup for tic4x testcase
	* gas/testsuite/gas/macros/macros.exp: Ditto
	* gas/testsuite/gas/all/gas.exp: Setup for tic4x testcase
	* gas/testsuite/gas/macros/macros.exp: Ditto
	* gas/testsuite/gas/tic4x: New tic4x gas testsuite directory
	* ld/testsuite/ld-scripts/script.exp: Setup for tic4x testcase
2002-11-18 08:28:44 +00:00
Nick Clifton
e514ac71cb Fix h8300 relaxation. 2002-11-15 11:18:49 +00:00
Hans-Peter Nilsson
b7b0b72964 * ld-elf/sec64k.exp: New test.
* lib/ld-lib.exp (run_dump_test): Don't prepend "$srcdir/$subdir/"
	to a source file starting with "/".
2002-11-11 10:16:57 +00:00
Hans-Peter Nilsson
646a0a402c * ld-mmix/local1.d, ld-mmix/local3.d, ld-mmix/local5.d,
ld-mmix/local7.d: Tweak for change in readelf output.
2002-11-10 09:29:07 +00:00
Alan Modra
f72dfb13ce * ld-elfvsb/define.s: Avoid use of @ in .type directive. 2002-11-09 12:27:50 +00:00
Hans-Peter Nilsson
415fe8c69b Fix attribution last entry 2002-11-07 13:28:48 +00:00
Hans-Peter Nilsson
1790e8ab27 * ld-cris/expdyn6.d, ld-cris/weakref2.d, ld-cris/expdyn7.d,
ld-cris/nodyn5.d, ld-cris/expdyn5.d: New tests.
2002-11-07 13:25:48 +00:00
Nick Clifton
3d198be3d5 Only run tests for PE type x86 targets. 2002-11-07 08:36:04 +00:00
Kaz Kojima
5e622545fe * ld-sh/rd-sh.exp: Set asflags_save always. 2002-11-06 23:37:23 +00:00
Nick Clifton
c9e3887989 Adds support for fastcall symbols as used on Microsoft Windows platforms
(i386)
2002-11-06 19:36:20 +00:00
Kaz Kojima
935cac6e77 * ld-sh/rd-sh.exp: Add -isa=SHcompact to ASFLAGS for SH-5.
* ld-sh/tlsbin-1.d: Handle GOT_BIAS appropriately for SH-5.
	* ld-sh/tlspic-1.d: Likewise.
	* ld-sh/tlspic-2.d: Likewise.
	* ld-sh/tlsbin-2.d: Likewise. Make it robust for the symbols
	defined by the linker scripts.
2002-11-04 01:18:13 +00:00
Stephane Carrez
19dd1b4833 * ld-m68hc11/m68hc11.exp: Specific tests for 68HC11/68HC12.
* ld-m68hc11/adj-jump.d: New test for linker relaxation.
	* ld-m68hc11/adj-jump.s: Likewise.
	* ld-m68hc11/adj-brset.s: Likewise.
	* ld-m68hc11/adj-brset.d: Likewise.
	* ld-m68hc11/relax-direct.s: Likewise.
	* ld-m68hc11/relax-direct.d: Likewise.
	* ld-m68hc11/relax-group.s: Likewise.
	* ld-m68hc11/relax-group.d: Likewise.
	* ld-m68hc11/bug-1403.d: Likewise.
	* ld-m68hc11/bug-1403.s: Likewise.
2002-10-14 21:20:16 +00:00
Stephen Clarke
24d1feef42 ld-sh/ld-r-1.d: Disable for sh64*-*-linux*.
* ld-sh/sh64/sh64.exp: Likewise.
* ld-sh/sh.exp: Disable relaxing tests for sh64*-*-linux*.
* ld-sh/sh64/abi32.sd: Adjust expected output to include
sh64*-*-linux* formats too.
* ld-sh/sh64/relax.exp: Add emul32 variable to hold target
emulation, and set it appropriately for sh*-*-linux*.
* ld-sh/sh64/relfail.exp: Add variables to hold target
emulation, output format, start symbol, and whether target
supports 64-bit ABI.  Set appropriately for sh*-*-linux*.
2002-10-14 18:45:03 +00:00
H.J. Lu
f9a3a01aef 2002-10-12 H.J. Lu (hjl@gnu.org)
* ld-discard/extern.d: Remove $srcdir/$subdir/.
	* ld-discard/start.d: Likewise.
	* ld-discard/static.d: Likewise.
	* ld-linkonce/zeroehl32.d: Likewise.
	* ld-selective/keepdot.d: Likewise.
	* ld-selective/keepdot0.d: Likewise.
2002-10-12 15:40:13 +00:00
Kaz Kojima
6c381eeb71 * ld-sh/rd-sh.exp: If the test matches *-dso.d, copy the output
of linker to the file tmpdir/*-dso.so.
	* ld-sh/tlsbin.s, ld-sh/tlsbinpic.s, ld-sh/tlslib.s: New.
	* ld-sh/tlsbin-0-dso.d: New.
	* ld-sh/tlsbin-1.d: New.
	* ld-sh/tlsbin-2.d: New.
	* ld-sh/tlsbin-3.d: New.
	* ld-sh/tlsbin-4.d: New.
	* ld-sh/tlspic1.s, ld-sh/tlspic2.s: New.
	* ld-sh/tlspic-1.d: New.
	* ld-sh/tlspic-2.d: New.
	* ld-sh/tlspic-3.d: New.
	* ld-sh/tlspic-4.d: New.
2002-10-11 14:44:55 +00:00
Jakub Jelinek
2030e6d786 * ld-i386/combreloc.s: New test.
* ld-i386/combreloc.d: New test.
	* ld-i386/i386.exp (i386tests): Add it.
2002-10-10 07:49:11 +00:00
Alan Modra
4565652e33 * ld-i386/i386.exp (reloc): Turn off combreloc.
* ld-i386/reloc.d: Likewise.
	* ld-powerpc/powerpc.exp: Likewise.
	* ld-powerpc/reloc.d: Likewise.
2002-10-10 02:53:17 +00:00
H.J. Lu
8b0eebb0b0 2002-10-03 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers21.c (_old_foobar): Initialized to -1 for gcc
	3.x.
2002-10-04 07:40:42 +00:00
Chris Demetriou
30a2f863bc 2002-10-03 Chris Demetriou <cgd@broadcom.com>
* ld-mips-elf/branch-misc-1.d: Link at 0x500000 and use -N, to be
        more compatible with non-embedded targets.
        * ld-mips-elf/branch-misc-2.d: Likewise.

        * ld-mips-elf/mips-elf.exp: Clean up some comments about embedded
        PIC tests.
        (elf): New variable, to control whether generic ELF tests are run.
        (embedded_elf): New variable, to control whether ELF tests
        requiring embedded PIC or embedded relocs are run.
2002-10-03 23:56:24 +00:00
Stephen Clarke
ad050da3e6 * ld-sh/sh64/gotplt.d, ld-sh/sh64/gotplt.map,
ld-sh/sh64/gotplt.s: New test.
2002-10-02 21:56:50 +00:00
Stephen Clarke
8033ae3b15 * ld-sh/sh64/cmpct1.sd : Fix linked file name.
* ld-sh/sh64/crange3.dd: Likewise.
2002-10-02 21:19:59 +00:00
Jakub Jelinek
7c445aa3c8 bfd/
* elf32-i386.c (elf_i386_relocate_section): Fix
	movl foo@indntpoff, %eax IE->LE transition.
ld/testsuite/
	* ld-i386/i386.exp: Add tlsindntpoff test.
	* ld-i386/tlsindntpoff.s: New test.
	* ld-i386/tlsindntpoff.dd: New test.
2002-10-01 10:43:37 +00:00
Jakub Jelinek
abcf1d5247 bfd/
* elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
	sequence and its transitions.
ld/testsuite/
	* ld-x86-64/tlspic1.s: Change TLSGD sequences.
	* ld-x86-64/tlsbinpic.s: Likewise.
	* ld-x86-64/tlspic.dd: Adjust.
2002-10-01 09:15:34 +00:00
Jakub Jelinek
a45bb67df2 bfd/
* elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
	to st_value + addend in non-code sections.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
	R_X86_64_DTPOFF32 to st_value + addend in non-code sections.

ld/testsuite/
	* ld-i386/i386.exp: Add tlsg test.
	* ld-i386/tlsg.s: New test.
	* ld-i386/tlsg.sd: New test.
	* ld-i386/tlsbin.dd: Change LD into LD -> LE in comments.
	* ld-i386/tlsbinpic.s: Likewise.
	* ld-x86-64/x86-64.exp: Add tlsg test.
	* ld-x86-64/tlsg.s: New test.
	* ld-x86-64/tlsg.sd: New test.
	* ld-x86-64/tlsbin.dd: Change LD into LD -> LE in comments.
	* ld-x86-64/tlsbinpic.s: Likewise.
2002-10-01 09:10:46 +00:00
Alan Modra
b1e61c4bf3 * ld-powerpc/powerpc.exp: Restrict to 32 bit ELF. 2002-09-30 05:54:51 +00:00
Alan Modra
17c2bdeefe * ld-powerpc/reloc.s, ld-powerpc/reloc.d: New.
* ld-powerpc/powerpc.exp: New.
2002-09-30 05:25:20 +00:00
Alan Modra
302cbfc210 * ld-i386/reloc.s, ld-i386/reloc.d: New.
* ld-i386/i386.exp: Run new test.
2002-09-30 03:35:18 +00:00
Jakub Jelinek
bffbf9406f bfd/
* reloc.c: Add x86-64 TLS relocs.
	* bfd-in2.h, libbfd.h: Rebuilt.
	* elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
	relocs.  Add TLS relocs.
	(x86_64_reloc_map): Add TLS relocs.
	(elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
	(struct elf64_x86_64_link_hash_entry): Add tls_type field.
	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
	(elf64_x86_64_hash_entry): Define.
	(struct elf64_x86_64_obj_tdata): New.
	(elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
	(struct elf64_x86_64_link_hash_table): Add tls_ld_got.
	(link_hash_newfunc): Initialize tls_type.
	(elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
	(elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
	(elf64_x86_64_mkobject): New.
	(elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
	(elf64_x86_64_tls_transition): New.
	(elf64_x86_64_check_relocs): Add r_type variable and use it.
	Handle TLS relocs.
	(elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
	(allocate_dynrelocs): Allocate GOT space for TLS relocs.
	(elf64_x86_64_size_dynamic_sections): Likewise.
	(dtpoff_base, tpoff): New.
	(elf64_x86_64_relocate_section): Handle TLS relocs.
	(elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
	entries.
	(bfd_elf64_mkobject): Define.

	* elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
	DF_STATIC_TLS if shared.
gas/
	* config/tc-i386.c (tc_i386_fix_adjustable): Add x86-64 TLS relocs.
	Define them if not BFD_ASSEMBLER.
	(lex_got): Handle @tlsgd, @dtpoff and @tpoff in 64-bit mode, add
	@tlsld.
	(md_apply_fix3): No addend for BFD_RELOC_X86_64_TLSGD,
	BFD_RELOC_X86_64_TLSLD and BFD_RELOC_X86_64_GOTTPOFF.
	(tc_gen_reloc): Handle x86-64 TLS relocs.
include/
	* elf/x86-64.h: Add TLS relocs.
ld/testsuite/
	* lib/ld-lib.exp (run_ld_link_tests): Add.
	* ld-sh/sh64/sh64.exp (run_ld_link_tests, regexp_diff,
	file_contents): Remove.
	(sh64tests): Add 6th field to the tests array.
	* ld-i386/i386.exp (run_ld_link_tests): Remove.
	* ld-x86-64/x86-64.exp: New.
	* ld-x86-64/tlsbin.dd: New test.
	* ld-x86-64/tlsbinpic.s: New test.
	* ld-x86-64/tlsbin.rd: New test.
	* ld-x86-64/tlsbin.s: New test.
	* ld-x86-64/tlsbin.sd: New test.
	* ld-x86-64/tlsbin.td: New test.
	* ld-x86-64/tlslib.s: New test.
	* ld-x86-64/tlspic1.s: New test.
	* ld-x86-64/tlspic2.s: New test.
	* ld-x86-64/tlspic.dd: New test.
	* ld-x86-64/tlspic.rd: New test.
	* ld-x86-64/tlspic.sd: New test.
	* ld-x86-64/tlspic.td: New test.
2002-09-27 19:29:18 +00:00
Alan Modra
344897cceb * ld-undefined/undefined.exp: Adjust function test. 2002-09-21 14:14:00 +00:00
Alan Modra
c7749bd6ec * ld-i386/i386.exp: Only run tests on ELF targets. 2002-09-20 07:57:08 +00:00
Jakub Jelinek
37e55690c4 bfd/
* reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
	BFD_RELOC_386_TLS_GOTIE): Add.
	* bfd-in2.h, libbfd.h: Rebuilt.
	* elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
	and R_386_TLS_GOTIE.
	(elf_i386_reloc_type_lookup): Handle it.
	(struct elf_i386_link_hash_entry): Change tls_type type to unsigned
	char instead of enum, change GOT_* into defines.
	(GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
	(elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	(elf_i386_check_relocs): Likewise.  Avoid crash if local symbol is
	accessed both as normal and TLS symbol.  Move R_386_TLS_LDM and
	R_386_PLT32 cases so that R_386_TLS_IE can fall through.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
	tls_type is GOT_TLS_IE_BOTH.
	(elf_i386_size_dynamic_sections): Likewise.
	(elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
	Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
	(elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
	all 4 GOT_TLS_* TLS types.
gas/
	* config/tc-i386.c (tc_i386_fix_adjustable): Handle
	BFD_RELOC_386_TLS_IE and BFD_RELOC_386_TLS_GOTIE.
	(BFD_RELOC_386_TLS_IE, BFD_RELOC_386_TLS_GOTIE): Define to 0
	if not defined.
	(lex_got): Handle @GOTNTPOFF and @INDNTPOFF.
	(md_apply_fix3, tc_gen_reloc): Handle BFD_RELOC_386_TLS_IE and
	BFD_RELOC_386_TLS_GOTIE.
gas/testsuite/
	* gas/i386/tlspic.s: Add tests.
	* gas/i386/tlspic.d: Regenerated.
	* gas/i386/tlsnopic.s: Add tests.
	* gas/i386/tlsnopic.d: Regenerated.
include/
	* elf/i386.h (R_386_TLS_TPOFF, R_386_TLS_IE, R_386_TLS_GOTIE):
	Define.
ld/testsuite/
	* ld-i386/i386.exp: New.
	* ld-i386/tlsbin.dd: New test.
	* ld-i386/tlsbinpic.s: New test.
	* ld-i386/tlsbin.rd: New test.
	* ld-i386/tlsbin.s: New test.
	* ld-i386/tlsbin.sd: New test.
	* ld-i386/tlsbin.td: New test.
	* ld-i386/tlslib.s: New test.
	* ld-i386/tlsnopic1.s: New test.
	* ld-i386/tlsnopic2.s: New test.
	* ld-i386/tlsnopic.dd: New test.
	* ld-i386/tlsnopic.rd: New test.
	* ld-i386/tlsnopic.sd: New test.
	* ld-i386/tlspic1.s: New test.
	* ld-i386/tlspic2.s: New test.
	* ld-i386/tlspic.dd: New test.
	* ld-i386/tlspic.rd: New test.
	* ld-i386/tlspic.sd: New test.
	* ld-i386/tlspic.td: New test.
2002-09-19 19:01:18 +00:00
Chris Demetriou
2dc83527fb [ gas/testsuite/ChangeLog ]
2002-09-18  Chris Demetriou  <cgd@broadcom.com>

        * gas/mips/branch-misc-1.d: New file.
        * gas/mips/branch-misc-1.s: New file.
        * gas/mips/branch-misc-2.s: New file.
        * gas/mips/branch-misc-2.d: New file.
        * gas/mips/mips.exp: Run new tests.

[ ld/testsuite/ChangeLog ]
2002-09-18  Chris Demetriou  <cgd@broadcom.com>

        * ld-mips-elf/branch-misc-1.d: New file.
        * ld-mips-elf/branch-misc-2.d: New file.
        * ld-mips-elf/mips-elf.exp: Run new tests.
2002-09-18 20:50:47 +00:00
Alan Modra
c23487d4ef * ld-sh/sh64/cmpct1.xd: Adjust for lack of abs section sym.
* ld-sh/sh64/crange3-cmpct.rd: Likewise.
	* ld-sh/sh64/crange3-media.rd: Likewise.
	* ld-sh/sh64/crange3.rd: Likewise.
2002-09-05 00:07:08 +00:00
Hans-Peter Nilsson
156436a5c2 * ld-mmix/bpo-10.d: Tweak for change in symbols handling.
* ld-mmix/bpo-11.d: Ditto.

	* ld-mmix/b-nosym.d: Adjust for changed output for absence of
	symbols.

	* ld-mmix/sec-7m.d: Rename tested section from .debug_info to
	.di.
	* ld-mmix/sec-7a.s, ld-mmix/sec-7b.s, ld-mmix/sec-7c.s,
	ld-mmix/sec-7d.s, ld-mmix/sec-7e.s: Ditto.
2002-08-31 17:23:58 +00:00
Alan Modra
6d110b652a * ld-discard/discard.exp: xfail m6812.
* ld-scripts/map-address.d: Adjust for extras emitted by pe targets.
2002-08-28 00:11:40 +00:00
Alan Modra
68a4c07345 Revert last change. 2002-08-26 23:15:48 +00:00
Alan Modra
99e49e4e29 * ld-mmix/b-nosym.d: Adjust for "no symbols" on stdout. 2002-08-26 10:16:34 +00:00
Alan Modra
30c8cc6872 * ld-sh/sh64/rd-sh64.exp: New framework file.
* ld-sh/sh64/init-cmpct.d, ld-sh/sh64/init-media.d,
	ld-sh/sh64/init64.d, ld-sh/sh64/init.s: New tests for
	correct setting of ISA bit for init and fini entry-points.
2002-08-23 08:14:06 +00:00
Stephen Clarke
0b65791f7d * ld-sh/sh64/sh64.exp: Add dlsection.
* ld-sh/sh64/dlsection-1.s, ld-sh/sh64/dlsection.sd: New.
2002-08-16 18:47:31 +00:00
Alan Modra
b3de5b86c2 * ld-discard/discard.exp: xfail targets using generic linker.
* ld-discard/extern.d: Allow "data" to be reduced to a section sym.
2002-08-16 00:17:11 +00:00
Hans-Peter Nilsson
43b1011811 * ld-cris/libdso-4.d, ld-cris/undef1.d: New test. 2002-08-15 05:19:32 +00:00
Hans-Peter Nilsson
f831bcc9a0 * ld-sh/sh64/shdl64.xd: Adjust as type of linker-script-symbols
is no longer set to object.
	(Forgotten commit)
2002-08-14 21:57:39 +00:00
H.J. Lu
80425074bb 2002-08-13 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers23c and vers23d.

	* ld-elfvers/vers23c.ver: New.
	* ld-elfvers/vers23d.dsym: New.
2002-08-14 03:26:48 +00:00
H.J. Lu
9c0921673d 2002-08-12 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers23.

	* ld-elfvers/vers23.c: New.
	* ld-elfvers/vers23.dsym: New.
	* ld-elfvers/vers23.ver: New.
	* ld-elfvers/vers23a.c: New.
	* ld-elfvers/vers23a.dsym: New.
	* ld-elfvers/vers23a.map: New.
	* ld-elfvers/vers23a.sym: New.
	* ld-elfvers/vers23a.ver: New.
	* ld-elfvers/vers23b.c: New.
	* ld-elfvers/vers23b.dsym: New.
	* ld-elfvers/vers23b.map: New.
	* ld-elfvers/vers23b.ver: New.
2002-08-12 19:21:59 +00:00
Hans-Peter Nilsson
d1764264f9 * ld-sh/sh64/abi32.xd: Adjust whitespace in elf32 section
listing.
	* ld-sh/sh64/cmpct1.xd, ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.xd,
	ld-sh/sh64/rel32.xd, ld-sh/sh64/shdl32.xd: Likewise.
2002-08-12 09:01:18 +00:00
Hans-Peter Nilsson
598b6dded7 * ld-sh/sh64/abi32.xd: Adjust as type of linker-script-symbols
is no longer set to object.
	* ld-sh/sh64/abi64.xd, ld-sh/sh64/cmpct1.xd, ld-sh/sh64/crange1.rd,
	ld-sh/sh64/crange2.rd, ld-sh/sh64/crange3-cmpct.rd,
	ld-sh/sh64/crange3-media.rd, ld-sh/sh64/crange3.rd,
	ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.xd, ld-sh/sh64/shdl32.xd,
	ld-sh/sh64/shdl64.xd: Likewise.
2002-08-12 08:51:10 +00:00
Alan Modra
2548cbcc14 * ld-discard/discard.exp: Don't run on linuxaout or linuxoldld.
* ld-linkonce/linkonce.exp: Likewise.
	* ld-selective/sel-dump.exp: Likewise.
	* ld-selective/selective.exp: Don't run on aout or bout.
2002-08-10 12:48:52 +00:00
H.J. Lu
ea591d42c4 Add the missing space. 2002-08-09 04:56:20 +00:00
H.J. Lu
b16100ad5c 2002-08-08 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers22.

	* ld-elfvers/vers22.c: New.
	* ld-elfvers/vers22.dsym: New.
	* ld-elfvers/vers22.map: New.
	* ld-elfvers/vers22.ver: New.
	* ld-elfvers/vers22a.c: New.
	* ld-elfvers/vers22a.dsym: New.
	* ld-elfvers/vers22a.sym: New.
	* ld-elfvers/vers22a.ver: New.
	* ld-elfvers/vers22b.c: New.
	* ld-elfvers/vers22b.dsym: New.
	* ld-elfvers/vers22b.ver: New.
2002-08-09 04:42:44 +00:00
H.J. Lu
3194163592 Check symbols with undefine version. 2002-08-08 03:50:18 +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
Chris Demetriou
70a3140046 [ gas/testsuite/ChangeLog ]
2002-07-26  Chris Demetriou  <cgd@broadcom.com>

        * gas/mips/elf_ase_mips16.d: New file to test ELF MIPS16 ASE marking.
        * gas/mips/elf_ase_mips16.s: Likewise.
        * gas/mips/mips.exp: Run the new test.

[ ld/testsuite/ChangeLog ]
2002-07-26  Chris Demetriou  <cgd@broadcom.com>

        * ld-mips-elf/mips16-1.d: Check that ASE flag is actually set.
2002-07-29 21:07:12 +00:00
Richard Sandiford
fb39dac1ef [bfd/]
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
	flags into resulting BFD.

[ld/testsuite/]
	* ld-mips-elf/mips16-1.d,
	* ld-mips-elf/mips16-1[ab].s: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
2002-07-26 18:56:25 +00:00
Hans-Peter Nilsson
ccaf4e0741 * ld-mmix/sec-1.d: Adjust for changes in padding.
* ld-mmix/sec-3.d: Ditto.
2002-07-19 03:30:13 +00:00
H.J. Lu
b42d80615e 2002-07-15 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Add vers21.

	* ld-elfvers/vers21.c: New.
	* ld-elfvers/vers21.dsym: New.
	* ld-elfvers/vers21.map: New.
	* ld-elfvers/vers21.sym: New.
	* ld-elfvers/vers21.ver: New.
2002-07-16 00:15:57 +00:00
Hans-Peter Nilsson
f1cf2c2e58 * ld-cris/nodyn4.d, ld-cris/expdyn4.d, ld-cris/comref1.s,
ld-cris/euwref1.s, ld-cris/expdyn3.d, ld-cris/expdyn2.d,
	ld-cris/expdref1.s: New tests.
2002-07-12 15:51:54 +00:00
Richard Sandiford
ad42262f8f * ld-scripts/dynamic-sections*: New test. 2002-07-09 08:47:24 +00:00
Hans-Peter Nilsson
57a4c58413 * ld-cris/libdso-3.d, ld-cris/dso-3.s, ld-cris/noglob1.s,
ld-cris/noglob1.d: New tests.
2002-07-09 03:46:49 +00:00
Hans-Peter Nilsson
def7023cdf Fix typo last change 2002-07-09 02:41:15 +00:00
Hans-Peter Nilsson
6030b50afa * ld-cris/libdso-1.d: Tweak for change in size of dynamic sections. 2002-07-09 00:50:01 +00:00
Alan Modra
3e8cba195d * lib/ld-lib.exp (default_ld_nm): Run nm with LC_ALL=C to ensure
consistent sorting.
	(run_dump_test): Likewise for objdump/nm/objcopy/readelf.
	* ld-sh/sh64/sh64.exp (run_ld_link_tests): Likewise.
2002-07-02 23:54:39 +00:00
Hans-Peter Nilsson
9f6067066d * ld-mmix/sec-8m.d, ld-mmix/sec-8m.s, ld-mmix/sec-8a.s,
ld-mmix/sec-8b.s, ld-mmix/sec-8d.s: New test.
2002-06-29 21:33:28 +00:00
Chris Demetriou
e0350bfbf7 2002-06-18 Chris Demetriou <cgd@broadcom.com>
* ld-mips-elf/empic2-ref.s: Add a missing .end, apparently
	turned up by recent assembler changes.
2002-06-19 01:48:10 +00:00
Tom Rix
4c0b7915d4 Tests for d10v. 2002-06-17 14:05:53 +00:00
Jeff Law
9b17aab627 2002-06-11 John David Anglin <dave@hiauly1.hia.nrc.ca>
* ld-scripts/cross1.t: Add .hash, .dynstr and .dynsym sections to
	script.
2002-06-12 18:14:48 +00:00
Martin Schwidefsky
704e79f982 AJ found the problem and created the patch. 2002-06-11 13:16:01 +00:00
Martin Schwidefsky
20c4e93273 2002-06-11 Martin Schwidefsky <schwidefsky@de.ibm.com>
* ld-undefined/undefined.exp: Add s390x to dwarf2 xfails.
2002-06-11 09:50:44 +00:00
Richard Sandiford
e560f274e3 * ld-mips-elf/region1a.s,
* ld-mips-elf/region1b.s,
	* ld-mips-elf/region1.t,
	* ld-mips-elf/region1.d: New test.
	* ld-mips-elf/mips-elf.exp: Run it.
2002-06-10 16:14:08 +00:00
Nick Clifton
1634475f71 Fix phdrs2 test 2002-06-07 10:30:56 +00:00
Nick Clifton
1ed89aa92e Do not include empty sections in loadable segments. 2002-06-06 10:03:38 +00:00
H.J. Lu
bfba206a7e 2005-06-02 H.J. Lu <hjl@gnu.org>
* ld-srec/sr3.cc (__dso_handle): Added for gcc 3.1 with
	-fuse-cxa-atexit.
	(__cxa_atexit): Likewise.
2002-06-03 04:56:52 +00:00
Richard Henderson
0085b5a8ab * ld-bootstrap/bootstrap.exp: Test --relax. 2002-05-30 21:39:41 +00:00
Hans-Peter Nilsson
69de2f8959 * ld-cris/libdso-2.d: Tweak for combreloc now default on. 2002-05-28 01:44:46 +00:00
Richard Sandiford
3e3f011f93 * lib/ld-lib.exp (run_dump_test): Add -L$srcdir/$subdir.
(is_elf_format): New, extracted from...
	* ld-scripts/weak.exp: ...here.
	* ld-scripts/overlay-size.exp: New test.
	* ld-scripts/overlay-size.[tsd],
	* ld-scripts/overlay-size-map.d: New files for it.
2002-05-07 11:08:57 +00:00
Richard Sandiford
a155881bab * ld-scripts/map-address.exp: Quote conditions. 2002-05-02 16:03:41 +00:00
Richard Sandiford
33a301baa7 * ld-scripts/map-address.exp: New test.
* ld-scripts/map-address.[td]: New files for it.
2002-04-30 09:23:14 +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
Nick Clifton
5835c2123d Add 'n' in order to prevent "-n" from being taken as an abbreviation for
"--no-pipeline-knowledge".
2002-04-11 16:55:27 +00:00
Hans-Peter Nilsson
32d279374d * ld-cris/libdso-2.d, ld-cris/dso-2.s, ld-cris/hide1: New test. 2002-04-05 23:13:09 +00:00
Hans-Peter Nilsson
442e4424a0 * ld-cris/ldsym1.d: New test. 2002-03-19 23:49:51 +00:00
Hans-Peter Nilsson
f854883482 * ld-mmix/bpo-1.d: Tweak for type of linker-script-symbols no
longer set to object.
	* ld-mmix/undef-3.d, ld-mmix/start-1.d, ld-mmix/locto-1.d,
	ld-mmix/loct-1.d, ld-mmix/locdo-1.d, ld-mmix/local7.d,
	ld-mmix/local5.d, ld-mmix/local3.d, ld-mmix/local1.d,
	ld-mmix/loc6.d, ld-mmix/loc4.d, ld-mmix/loc3.d, ld-mmix/loc2.d,
	ld-mmix/loc1.d, ld-mmix/greg-7.d, ld-mmix/greg-6.d,
	ld-mmix/greg-5.d, ld-mmix/greg-4.d, ld-mmix/greg-3.d,
	ld-mmix/greg-2.d, ld-mmix/greg-19.d, ld-mmix/greg-1.d,
	ld-mmix/bspec2.d, ld-mmix/bspec1.d, ld-mmix/bpo-9.d,
	ld-mmix/bpo-6.d, ld-mmix/bpo-5.d, ld-mmix/bpo-4.d,
	ld-mmix/bpo-3.d, ld-mmix/bpo-2.d, ld-mmix/bpo-19.d,
	ld-mmix/bpo-18.d, ld-mmix/bpo-17.d, ld-mmix/bpo-16.d,
	ld-mmix/bpo-14.d, ld-mmix/bpo-11.d, ld-mmix/bpo-10.d: Ditto.
2002-03-19 22:48:15 +00:00
Andreas Jaeger
91c903ab76 * ld-elfweak/strongdata.sym: Allow bss section for GCC 3.2 that
places zero initialized data in the bss.
	* ld-elfweak/dsodata.dsym: Likewise.
2002-03-11 09:26:20 +00:00
Hans-Peter Nilsson
61c53cc298 * ld-cris/expdyn1.d: Tweak for change in elf.sc. 2002-03-07 14:03:05 +00:00
Hans-Peter Nilsson
acbd2de6c6 * ld-sh/ld-r-1.d: Adjust to changes in readelf output.
* ld-sh/shared-1.d, ld-sh/sh64/crangerel1.rd, ld-sh/crangerel2.rd,
	ld-sh/sh64/reldl32.rd, ld-sh/sh64/reldl64.rd: Ditto.
2002-02-24 16:44:45 +00:00
Daniel Jacobowitz
4bcc9fa440 2002-02-18 Daniel Jacobowitz <drow@mvista.com>
* ld-elfvsb/sh1.c: Fix typo in last change.
2002-02-18 22:42:55 +00:00
Daniel Jacobowitz
aa3932f699 2002-02-17 Daniel Jacobowitz <drow@mvista.com>
* ld-elfvsb/sh1.c: Use #pragma weak.
2002-02-18 04:49:17 +00:00
Daniel Jacobowitz
3b0f0b37aa 2002-02-17 Daniel Jacobowitz <drow@mvista.com>
* vers.exp: Do not call diff -q.
2002-02-18 03:23:28 +00:00
Hans-Peter Nilsson
fe108482d4 * ld-mmix/b-nosym.d, ld-mmix/sec-6.d: Tweak for change in symbol
output.
	* ld-mmix/sec-7m.d, ld-mmix/sec-7a.s, ld-mmix/sec-7b.s,
	ld-mmix/sec-7c.s, ld-mmix/sec-7d.s, ld-mmix/sec-7e.s: New test.
2002-02-17 21:22:24 +00:00
Hans-Peter Nilsson
acdd0e9a54 * ld-mmix/bpo-22.d: New test. 2002-02-17 20:13:05 +00:00
Hans-Peter Nilsson
dd51aa368d * ld-mmix/local12.d (Sections): Match any LMA for .data, .sbss,
and .bss.
2002-02-17 19:34:12 +00:00
Alan Modra
4f70f93f32 * ld-selective/selective.exp: Link against libgcc on
hppa*-*-linux* targets.
2002-02-12 11:10:11 +00:00
Alexandre Oliva
0f8b890409 * ld-sh/sh64/reldl64.rd: Add relocation symbol data in info field.
* ld-sh/sh64/crange-2i.s: Add align to match align in crange-2h.s.
* ld-sh/sh64/crange3-cmpct.rd: Adjust to reflect modifications
in section ordering.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crange3.dd: Likewise.
2002-02-11 07:56:03 +00:00
Alexandre Oliva
fb6de7f3cc * ld-sh/shared-1.d: Fix relocation addend. 2002-02-11 06:14:12 +00:00
Hans-Peter Nilsson
c99012716a * ld-mmix/bpo-21.d, ld-mmix/bpo-21m.d, ld-mmix/bpo-11.s: New
tests.
2002-02-09 05:02:07 +00:00
Alexandre Oliva
1b19eb81ea Contribute sh64-elf.
2002-02-02  Alexandre Oliva  <aoliva@redhat.com>
* ld-sh/sh64/crange3-cmpct.rd: Adjust offsets.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crangerel1.rd: Likewise.
* ld-sh/sh64/crangerel2.rd: Likewise.
* ld-sh/sh64/reldl32.rd: Likewise.
* ld-sh/sh64/reldl64.rd: Likewise.
2002-01-28  Alexandre Oliva  <aoliva@redhat.com>
* ld-sh/sh64/abi32.xd: Formatting changes to match the current
output of objdump.
* ld-sh/sh64/cmpct1.xd: Likewise.
* ld-sh/sh64/crange1.rd: Likewise.
* ld-sh/sh64/crange2.rd: Likewise.
* ld-sh/sh64/crange3-cmpct.rd: Likewise.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crangerel1.rd: Likewise.
* ld-sh/sh64/crangerel2.rd: Likewise.
* ld-sh/sh64/mix1.xd: Likewise.
* ld-sh/sh64/mix2.xd: Likewise.
* ld-sh/sh64/rel32.xd: Likewise.
* ld-sh/sh64/reldl32.rd: Likewise.
* ld-sh/sh64/reldl64.rd: Likewise.
* ld-sh/sh64/sh64.exp: Likewise.  Reordered cranges and stack
sessions, to match changes in the linker script.
2001-06-14  Alexandre Oliva  <aoliva@redhat.com>
* ld-sh/sh64/reldl32.rd, ld-sh/sh64/reldl64.rd: Adjust relocation
info to reflect renumbering of relocation types.
2001-03-14  DJ Delorie	<dj@redhat.com>
* ld-sh/sh64/endian.dbd: New file, endian tests.
* ld-sh/sh64/endian.dld: Ditto.
* ld-sh/sh64/endian.ld:	 Ditto.
* ld-sh/sh64/endian.s:	Ditto.
* ld-sh/sh64/endian.sbd:  Ditto.
* ld-sh/sh64/endian.sld:  Ditto.
* ld-sh/sh64/sh64.exp: Add above tests.	 Add -L option to ld.
2001-03-12  DJ Delorie	<dj@redhat.com>
* ld-sh/sh64/relax.exp: New file, test disabling relaxing.
* ld-sh/sh64/relax1.s: Ditto.
* ld-sh/sh64/relax2.s: Ditto.
* ld-sh/sh64/relax3.s: Ditto.
* ld-sh/sh64/relax4.s: Ditto.
* ld-sh/sh64/relfail.exp: New file, test for bogus relocs.
* ld-sh/sh64/relfail.s: Ditto.
2001-03-12  DJ Delorie	<dj@redhat.com>
* ld-sh/sh.exp: This test isn't appropriate for SH64 since it
uses SH32 assembler files.
2001-03-07  DJ Delorie	<dj@redhat.com>
* ld-selective/selective.exp: Pass "-e _start" for sh64 to
accomodate expected start symbol in test.
2001-03-06  DJ Delorie	<dj@redhat.com>
* ld-scripts/crossref.exp: Pass -mshelf32 to the linker for sh64,
to match what gcc passes to the linker by default.
* ld-selective/selective.exp: Ditto.
* ld-srec/srec.exp: Ditto, plus XFAIL for sh64.
* ld-undefined/undefined.exp: Add XFAIL for sh64 (it's dwarf2).
2001-03-06  DJ Delorie	<dj@redhat.com>
* ld-sh/sh64/abi32.xd (stack): Adjust for new default stack layout.
* ld-sh/sh64/abi64.xd (stack): Ditto.
* ld-sh/sh64/cmpct1.xd (stack): Ditto.
* ld-sh/sh64/crange1.rd (stack): Ditto.
* ld-sh/sh64/crange2.rd (stack): Ditto.
* ld-sh/sh64/crange3-cmpct.rd (stack): Ditto.
* ld-sh/sh64/crange3-media.rd (stack): Ditto.
* ld-sh/sh64/crange3.rd (stack): Ditto.
* ld-sh/sh64/mix1.xd (stack): Ditto.
* ld-sh/sh64/mix2.xd (stack): Ditto.
* ld-sh/sh64/shdl32.xd (stack): Ditto.
* ld-sh/sh64/shdl64.xd (stack): Ditto.
2001-01-14  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/mix1.xd: Add SORT_ENTRIES for .cranges section.
* ld-sh/sh64/mix2.xd: Ditto.
2001-01-08  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi32.xd: Adjust for bit 0 set on an entry address
being SHmedia.
* ld-sh/sh64/shdl64.xd: Ditto.
* ld-sh/sh64/shdl32.xd: Ditto.
* ld-sh/sh64/mix2.xd: Ditto.
* ld-sh/sh64/crange3-media.rd: Ditto.
* ld-sh/sh64/abi64.xd: Ditto.
2001-01-06  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/crange-2a.s (diversion2): New global symbol.
* ld-sh/sh64/crange1.rd: Adjust to presence of new symbol.
Adjust section type for .cranges; expect sorted contents.
* ld-sh/sh64/crange2.rd: Ditto.
* ld-sh/sh64/crange3.dd, ld-sh/sh64/crange3.rd: Ditto.
* ld-sh/sh64/crangerel1.rd: Adjust to presence of new symbol.
* ld-sh/sh64/crangerel2.rd: Ditto.
* ld-sh/sh64/mix1.xd: Adjust to DEBUGGING being set for .cranges.
* ld-sh/sh64/mix2.xd: Ditto.
* ld-sh/sh64/crange3-cmpct.rd, ld-sh/sh64/crange3-media.rd: New
tests.
* ld-sh/sh64/sh64.exp: Tweak test message.  Run new tests.
2001-01-05  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/shmix-1.s (start2): Add a NOP to provide a valid
target for (unexpanded) PTB.  Add an .align 2 to SHmedia code to
keep properly aligned.
* ld-sh/sh64/mix1.sd, ld-sh/sh64/mix1.xd: Adjust accordingly.
* ld-sh/sh64/mix1-noexp.sd, ld-sh/sh64/mix2-noexp.sd,
ld-sh/sh64/abixx-noexp.sd: New tests for GAS -no-expand and
R_SH_PT_16 relocation.
* ld-sh/sh64/sh64.exp: Run new tests.
2000-12-30  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/crange-2f.s, ld-sh/sh64/crange-2g.s,
ld-sh/sh64/crange-2h.s, ld-sh/sh64/crange-2i.s,
ld-sh/sh64/crange3.dd, ld-sh/sh64/crange3.rd: New tests.
* ld-sh/sh64/sh64.exp: Run new tests.
* ld-sh/sh64/crange1.rd: Correct section flags.
* ld-sh/sh64/crange2.rd: Ditto.
* ld-sh/sh64/crangerel1.rd: Ditto.
2000-12-18  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/crange-1.s, ld-sh/sh64/crange-2a.s,
ld-sh/sh64/crange-2b.s, ld-sh/sh64/crange-2c.s,
ld-sh/sh64/crange-2d.s, ld-sh/sh64/crange-2e.s,
ld-sh/sh64/crange1.rd, ld-sh/sh64/crange2.rd,
ld-sh/sh64/crangerel1.rd, ld-sh/sh64/crangerel2.rd: New tests for
handling .cranges section.
* ld-sh/sh64/sh64.exp: Run new tests.
* ld-sh/sh64/mix1.sd, ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.sd,
ld-sh/sh64/mix2.xd: Adjust for .cranges section.
2000-12-15  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi32.sd, ld-sh/sh64/abi32.xd, ld-sh/sh64/abi64.sd,
ld-sh/sh64/abi64.xd, ld-sh/sh64/cmpct1.xd, ld-sh/sh64/mix1.sd,
ld-sh/sh64/mix1.xd, ld-sh/sh64/mix2.sd, ld-sh/sh64/mix2.xd,
ld-sh/sh64/shdl32.xd, ld-sh/sh64/shdl64.xd: Adjust to .bss and
.data individually 8-byte aligned.
2000-12-09  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/rel-1.s, ld-sh/sh64/rel-2.s, ld-sh/sh64/rel32.xd,
ld-sh/sh64/rel64.xd, ld-sh/sh64/reldl-1.s, ld-sh/sh64/reldl-2.s,
ld-sh/sh64/reldl32.rd, ld-sh/sh64/reldl64.rd: New tests.
* ld-sh/sh64/sh64.exp: Make it possible to use readelf as
inspection tool.  Run new tests.
2000-12-07  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi64.sd, ld-sh/sh64/abi32.sd, ld-sh/sh64/mix1.sd,
ld-sh/sh64/mix2.sd: Correct offsets in PT/PTA/PTB expansions.
* ld-sh/sh64/shdl-1.s, ld-sh/sh64/shdl-2.s, ld-sh/sh64/shdl64.sd,
ld-sh/sh64/shdl64.xd, ld-sh/sh64/shdl32.xd: New tests.
* ld-sh/sh64/sh64.exp: Run new tests.
2000-12-01  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/cmpct1.sd, ld-sh/sh64/cmpct1.xd,
ld-sh/sh64/shcmp-1.s: New test.
* ld-sh/sh64/sh64.exp: Add new test to sh64tests.  Reformat.
2000-11-30  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/sh64.exp: Use linker option -mshelf64 for 64-bit ABI
test.
* ld-sh/sh64/abi64.xd: Tweak for 64-bit ELF.
2000-11-29  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/sh64.exp (sh64tests): Use linker option -mshelf32 for
tests.
2000-11-27  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64/abi32.sd, ld-sh/sh64/abi64.sd: Correct MOVI
registers.
* ld-sh/sh64/mix1.sd, ld-sh/sh64/mix1.xd, ld-sh/sh64/shmix-1.s:
New test.
* ld-sh/sh64/mix2.sd, ld-sh/sh64/mix2.xd, ld-sh/sh64/shmix-2.s,
ld-sh/sh64/shmix-3.s: New test.
* ld-sh/sh64/sh64.exp: Add new tests to sh64tests.
2000-11-26  Hans-Peter Nilsson	<hpn@cygnus.com>
* ld-sh/sh64: New testsuite.
2002-02-08 06:50:02 +00:00
Hans-Peter Nilsson
9636f65c5e * ld-selective/keepdot.s: Remove section specifier. 2002-02-07 02:48:40 +00:00
Hans-Peter Nilsson
b611beb043 * ld-selective/keepdot.d, ld-selective/keepdot.ld,
ld-selective/keepdot.s, ld-selective/keepdot0.d: New tests.
	* ld-selective/sel-dump.exp: New, driver for run_dump_test:s.
2002-02-05 06:45:16 +00:00
Hans-Peter Nilsson
a27be4d5bf * ld-mmix/bpo-18.d, ld-mmix/bpo64addr.ld, ld-mmix/bpo-18m.d,
ld-mmix/bpo-9.s, ld-mmix/bpo-19.d, ld-mmix/bpo-19m.d,
	ld-mmix/bpo-10.s, ld-mmix/bpo-20.d, ld-mmix/bpo-20m.d: New tests
	for on-demand global register allocation.
2002-02-04 04:38:53 +00:00
Alexandre Oliva
60e955f1b0 * ld-sh/shared-1.d: Fix incorrect offsets. 2002-02-02 02:21:33 +00:00
Hans-Peter Nilsson
fb17c22277 * ld-mmix/bpo-1.d, ld-mmix/bpo-1.s, ld-mmix/bpo-1m.d,
ld-mmix/bpo-15.d, ld-mmix/bpo-4.s, ld-mmix/bpo-6.d,
	ld-mmix/bpo-6.s, ld-mmix/bpo-2.d, ld-mmix/bpo-6m.d,
	ld-mmix/bpo-12m.d, ld-mmix/bpo-2m.d, ld-mmix/bpo-2.s,
	ld-mmix/bpo-5.s, ld-mmix/bpo-3.d, ld-mmix/start3.s,
	ld-mmix/bpo-3m.d, ld-mmix/bpo-9m.d, ld-mmix/bpo-4.d,
	ld-mmix/bpo-3.s, ld-mmix/bpo-4m.d, ld-mmix/bpo-7.d,
	ld-mmix/bpo-5.d, ld-mmix/bpo-16.d, ld-mmix/bpo-5m.d,
	ld-mmix/bpo-7m.d, ld-mmix/bpo-9.d, ld-mmix/bpo-8.d,
	ld-mmix/start4.s, ld-mmix/bpo-8m.d, ld-mmix/bpo-13m.d,
	ld-mmix/bpo-15m.d, ld-mmix/bpo-10.d, ld-mmix/bpo-11.d,
	ld-mmix/bpo-14m.d, ld-mmix/bpo-13.d, ld-mmix/bpo-7.s,
	ld-mmix/bpo-12.d, ld-mmix/bpo-16m.d, ld-mmix/bpo-14.d,
	ld-mmix/bpo-8.s, ld-mmix/bpo-17.d, ld-mmix/bpo-17m.d: New tests.
2002-02-01 08:30:12 +00:00
Hans-Peter Nilsson
f7a2c2f698 * ld-cris/weakref1.d, ld-cris/libdso-1.d, ld-cris/gotrel2.s,
ld-cris/expdyn1.d, ld-cris/expdyn1.s, ld-cris/dso-1.s: New tests.
	* ld-cris/cris.exp: Split run_dump_tests in two parts, executing
	tests named *dso-*.d first and copying their tmpdir/dump to files
	named as the .d-file.
2002-01-31 10:42:18 +00:00
Alan Modra
dbc37f892b * ld-scripts/crossref.exp: Allow foo to have a leading dot.
* ld-scripts/cross1.t: Add .opd.
	* ld-undefined/undefined.exp: Allow leading dot on sym names.
	* lib/ld-lib.exp (default_ld_nm): Strip leading dots from syms.
2002-01-31 03:57:52 +00:00
Chris Demetriou
38b566ae19 2002-01-29 Chris Demetriou <cgd@broadcom.com>
* ld-mips-elf/emrelocs-eb.d: New file to test --embedded-relocs.
        * ld-mips-elf/emrelocs-el.d: Likewise.
        * ld-mips-elf/emrelocs1.s: Likewise.
        * ld-mips-elf/emrelocs2.s: Likewise.
        * ld-mips-elf/emrelocs.ld: Likewise.
        * ld-mips-elf/mips-elf.exp: Add the above to the list of tests.
2002-01-30 02:20:13 +00:00
Hans-Peter Nilsson
54893deb51 * ld-cris: New testsuite directory. 2002-01-21 22:04:02 +00:00
Nick Clifton
8b8c5dbda5 Add missing 'cp' command 2002-01-15 12:41:00 +00:00
Nick Clifton
8f2a69559a For ARM targets, link with libgcc.a. 2002-01-14 15:46:50 +00:00
Chris Demetriou
a657e7c198 2002-01-02 Chris Demetriou <cgd@broadcom.com>
* ld-mips-elf/empic1-ln.d: New file to test basic linking of
        R_MIPS_GNU_REL_HI16 and R_MIPS_GNU_REL_LO16 relocations.
        * ld-mips-elf/empic1-lp.d: Likewise.
        * ld-mips-elf/empic1-mn.d: Likewise.
        * ld-mips-elf/empic1-mp.d: Likewise.
        * ld-mips-elf/empic1-sn.d: Likewise.
        * ld-mips-elf/empic1-sp.d: Likewise.
        * ld-mips-elf/empic1-ref.s: Likewise.
        * ld-mips-elf/empic1-space.s: Likewise.
        * ld-mips-elf/empic1-tgt.s: Likewise.
        * ld-mips-elf/empic2-fwd-0.d: New file to test
        R_MIPS_GNU_REL_HI16 and R_MIPS_GNU_REL_LO16 relocation edge
        cases.
        * ld-mips-elf/empic2-fwd-1.d: Likewise.
        * ld-mips-elf/empic2-rev-0.d: Likewise.
        * ld-mips-elf/empic2-rev-1.d: Likewise.
        * ld-mips-elf/empic2-ref.s: Likewise.
        * ld-mips-elf/empic2-space.s: Likewise.
        * ld-mips-elf/empic2-fwd-tgt.s: Likewise.
        * ld-mips-elf/empic2-rev-tgt.s: Likewise.
        * ld-mips-elf/mips-elf.exp: New file to run MIPS 32-bit ELF
        tests (including those above).
2002-01-02 18:59:32 +00:00
H.J. Lu
82e03011ac 2001-11-30 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp (build_vers_lib): Preserve the library
	order.
2001-11-30 15:41:17 +00:00
H.J. Lu
679547726a 2001-11-29 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp (build_vers_lib): Support linking against
	more than one libraries.
	Add "vers20a" and "vers20" tests for common symbols.

	* ld-elfvers/vers20.c: New.
	* ld-elfvers/vers20.dsym: New.
	* ld-elfvers/vers20.map: New.
	* ld-elfvers/vers20.ver: New.
	* ld-elfvers/vers20a.ver: New.
2001-11-30 08:07:34 +00:00
H.J. Lu
f5e0494514 2001-11-19 H.J. Lu <hjl@gnu.org>
* ld-elfvsb/define.s: Mark all global lables as object.

	* ld-elfvsb/hidden0.d: Match large section number.
	* ld-elfvsb/hidden1.d: Likewise.
	* ld-elfvsb/internal0.d: Likewise.
	* ld-elfvsb/internal1.d: Likewise.
	* ld-elfvsb/protected0.d: Likewise.
	* ld-elfvsb/protected1.d: Likewise.

	* ld-elfvsb/hidden0.d: Change NOTYPE to OBJECT.
	* ld-elfvsb/internal0.d: Likewise.
	* ld-elfvsb/protected0.d: Likewise.
2001-11-19 20:32:02 +00:00
H.J. Lu
c3b1835c01 2001-11-15 H.J. Lu <hjl@gnu.org>
* ld-sh/ld-r-1.d: Updated.
2001-11-15 19:10:05 +00:00
Nick Clifton
86017ce918 Only scan tail of executable for PE targets. 2001-11-14 11:18:42 +00:00
Nick Clifton
d7b784871a Only compare the tail end of the two binary files produced in order to avoid
date stamp present in PE binaries.
2001-11-12 16:26:17 +00:00
Hans-Peter Nilsson
fec91dc5a6 * ld-mmix/sec-5.d (Sections): Add whitespace missing in commit. 2001-11-11 11:47:37 +00:00
H.J. Lu
3a921b779a 2001-11-09 H.J. Lu <hjl@gnu.org>
* ld-discard/discard.exp: New. Test ld discard.
	* ld-discard/discard.ld: Likewise.
	* ld-discard/exit.s: Likewise.
	* ld-discard/extern.d: Likewise.
	* ld-discard/extern.s: Likewise.
	* ld-discard/start.d: Likewise.
	* ld-discard/start.s: Likewise.
	* ld-discard/static.d: Likewise.
	* ld-discard/static.s: Likewise.
2001-11-10 01:17:58 +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
Nick Clifton
dc5e727b86 Fix testsuites for bigendian sh-linux 2001-11-02 17:07:52 +00:00
Hans-Peter Nilsson
457345460c * ld-mmix/locdo-1.d: Prune character dump part. 2001-10-31 05:52:41 +00:00
Hans-Peter Nilsson
6ef81afda6 * ld-mmix/local7m.d, ld-mmix/loc4.d, ld-mmix/loc4m.d,
ld-mmix/loc1.d, ld-mmix/bspec1m.d, ld-mmix/bspec2m.d,
 	ld-mmix/b-nosym.d, ld-mmix/b-fixo2.d, ld-mmix/b-loc64k.d,
 	ld-mmix/undef-3m.d, ld-mmix/locto.s, ld-mmix/loct.s,
 	ld-mmix/local3m.d, ld-mmix/local1m.d, ld-mmix/loc6m.d,
 	ld-mmix/loc2.s, ld-mmix/loc1.s, ld-mmix/gregldo1.s,
 	ld-mmix/dloc1.s, ld-mmix/b-widec3.s, ld-mmix/b-nosym.s: Remove
 	unnecessary empty lines.
2001-10-31 05:42:51 +00:00
Nick Clifton
3c3bdf30e4 Add MMIX support 2001-10-30 15:20:14 +00:00
Hans-Peter Nilsson
d45d3ffb18 * ld-sh/sub2l-1.d, ld-sh/shared-1.d, ld-sh/weak1.d: Only run on
sh*-*-elf.
2001-10-15 00:14:37 +00:00
Hans-Peter Nilsson
b2da51b6a4 * lib/ld-lib.exp (run_dump_test): Fix typo: asflags(), not asflags{}. 2001-10-14 16:03:53 +00:00
Hans-Peter Nilsson
7739e068a7 * ld-sh/rd-sh.exp: New framework file.
* ld-sh/ld-r-1.d, ld-sh/ldr1.s, ld-sh/ldr2.s, ld-sh/shared-1.d,
	ld-sh/weak1.s, ld-sh/weak1.d, ld-sh/sub2l.s, ld-sh/sub2l-1.d: New
	test files.
2001-10-14 15:18:11 +00:00
Hans-Peter Nilsson
c9253ef63b Oops - forgot to remove xfail 2001-09-29 13:02:24 +00:00
Hans-Peter Nilsson
8e13f7b1f9 * ld-linkonce/linkonce.exp: New file.
* ld-linkonce/x.s, ld-linkonce/y.s, ld-linkonce/zeroeh.ld,
	ld-linkonce/zeroehl32.d: New test.
2001-09-29 13:01:17 +00:00
H.J. Lu
5d5849d7b5 2001-09-25 H.J. Lu <hjl@gnu.org>
* ld-elfweak/dso.dsym: Updated for alpha.
	* ld-elfweak/dsodata.dsym: Likewise.
	* ld-elfweak/strong.sym: Likewise.
	* ld-elfweak/strongcomm.sym: Likewise.
	* ld-elfweak/strongdata.sym: Likewise.
2001-09-25 20:24:00 +00:00
Hans-Peter Nilsson
cfe5266f79 * lib/ld-lib.exp (run_dump_test): Handle new option
"objcopy_linked_file".  Return after failing, if errors were
	expected but none were found.
	(slurp_options): Support underscores in option names.
2001-09-15 00:56:42 +00:00
H.J. Lu
0c52a746f7 2001-09-14 H.J. Lu <hjl@gnu.org>
* ld-elfweak/bar.c: Updated.
	* ld-elfweak/bar1a.c: Likewise.
	* ld-elfweak/main.c: Likewise.
	* ld-elfweak/main1.c: Likewise.
	* ld-elfweak/elfweak.exp: Likewise.
	* ld-elfweak/weakdata.dsym: Updated.
2001-09-14 23:43:17 +00:00
H.J. Lu
bd7c9df68b 2001-09-11 H.J. Lu <hjl@gnu.org>
* ld-elfweak/elfweak.exp (build_lib): Take a list of object
	files.
	(build_exec): Likewise.
	Add more tests and make some xfail.

	* ld-elfweak/dso.dsym: Support symbol versioning.
	* ld-elfweak/dsow.dsym: Likewise.

	* ld-elfweak/main1.c: New.
	* ld-elfweak/bar1a.c: Likewise.
	* ld-elfweak/bar1b.c: Likewise.
	* ld-elfweak/bar1c.c: Likewise.
	* ld-elfweak/foo1a.c: Likewise.
	* ld-elfweak/foo1b.c: Likewise.
	* ld-elfweak/dsodata.dsym: Likewise.
	* ld-elfweak/dsowdata.dsym: Likewise.
	* ld-elfweak/weakdata.dsym: Likewise.
	* ld-elfweak/strongcomm.sym: Likewise.
	* ld-elfweak/strongdata.sym: Likewise.
	* ld-elfweak/weakdata.dat: Likewise.
	* ld-elfweak/strongdata.dat: Likewise.
2001-09-11 14:25:16 +00:00
H.J. Lu
16a572840c 2001-09-10 H.J. Lu <hjl@gnu.org>
* ld-elfweak/elfweak.exp: New.
	* ld-elfweak/bar.c: Likewise.
	* ld-elfweak/foo.c: Likewise.
	* ld-elfweak/main.c: Likewise.
	* ld-elfweak/dso.dsym: Likewise.
	* ld-elfweak/dsow.dsym: Likewise.
	* ld-elfweak/strong.sym: Likewise.
	* ld-elfweak/strong.dat: Likewise.
	* ld-elfweak/weak.dat: Likewise.
2001-09-10 17:11:34 +00:00
Alan Modra
ad9f78d1a8 * ld-checks/checks.exp: .lcomm is incompatible with ppc coff.
* ld-scripts/cross1.t: Add .toc section.
	* ld-scripts/cross2.t: Likewise.
	* ld-scripts/phdrs.exp: powerpc64 is 64 bit.
	* ld-srec/srec.exp: xfail powerpc64
2001-08-27 10:49:55 +00:00
Nick Clifton
453abe3171 Return if target is `vax-*-ultrix*'.
Continue with other tests when there is a compilation error.
2001-08-21 16:04:37 +00:00
Nick Clifton
39c183c149 Do not require any exception support library. Check results against NRV. 2001-08-01 14:37:47 +00:00
Nick Clifton
22a517d05e Do not require any exception support library. 2001-08-01 14:26:18 +00:00
H.J. Lu
e0d85c2645 2001-07-27 H.J. Lu <hjl@gnu.org>
* ld-selective/selective.exp: Fix the error in the last change.
2001-07-27 17:48:27 +00:00
Alan Modra
067f207480 * ld-selective/selective.exp: Support g++ V3 ABI (along side
the old ABI).  Make comparisons against normalized (to
	V3-style) demangled nm output.
2001-07-24 11:09:24 +00:00
Alan Modra
992c450de8 * config/default.exp (ld_nm): Add "nmflags" arg.
* lib/ld-lib.exp (default_ld_nm): Likewise.
	* ld-empic/empic.exp: Adjust call to ld_nm.
	* ld-scripts/defined.exp: Likewise.
	* ld-scripts/script.exp: Likewise.
	* ld-scripts/sizeof.exp: Likewise.
	* ld-selective/selective.exp: Likewise.
	* ld-sh/sh.exp: Likewise.
2001-07-24 11:07:16 +00:00
H.J. Lu
bbfebd390d 2001-07-12 H.J. Lu <hjl@gnu.org>
* ld-selective/selective.exp: Mark selective1, selective2,
	selective4 and selective5 xfail on alpha*-*.
2001-07-12 15:03:27 +00:00
Hans-Peter Nilsson
261def7062 * config/default.exp (AS, GASP, OBJDUMP, NM, NMFLAGS, OBJCOPY,
OBJCOPYFLAGS, READELF, READELFFLAGS, LD, LDFLAGS): Provide
	default.

	* lib/ld-lib.exp (run_dump_test): Import from gas testsuite.  Add
	new options "ld", "source", "xfail", "target", "notarget" and
	"error".  Support the runtest_file_p "*.exp=testname" feature.
	(slurp_options, regexp_diff, file_contents, verbose_eval): Import
	from gas testsuite.
2001-06-13 03:08:21 +00:00
Nick Clifton
1e9f9630d4 Correct setup_xfail rule. 2001-06-12 16:02:13 +00:00
Alan Modra
b6a71ccaa1 Move an entry to the correct ChangeLog. 2001-06-10 13:41:43 +00:00
H.J. Lu
a5c9dff1ba Fix a typo. 2001-06-06 21:08:09 +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
Alan Modra
d52f97627b * ld-undefined/undefined.exp: Add a setup_xfail line for a test
that will always fail on s/390.
2001-06-06 12:11:53 +00:00
Nick Clifton
1e329ce6ac For sh-*-linux-gnu target add a start address for the text section. 2001-05-28 10:55:23 +00:00
Alan Modra
c709b09623 s/linuxaout/linux*aout/, s/linuxoldld/linux*oldld/ 2001-05-25 07:21:01 +00:00
H.J. Lu
936f9717c0 2001-05-24 H.J. Lu <hjl@gnu.org>
* ld-scripts/phdrs.exp: Add sparc64 to 64 bit platform.
2001-05-25 04:31:55 +00:00
H.J. Lu
9d8b3bf43c 2001-05-18 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Revert the last change.

	* ld-elfvers/vers2.ver: Put back "tmpdir/" the version
	references.
	* ld-elfvers/vers3.ver: Likewise.
	* ld-elfvers/vers6.ver: Likewise.
	* ld-elfvers/vers18.ver: Likewise.
2001-05-18 16:15:42 +00:00
H.J. Lu
0f3f880889 2001-05-17 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers.exp: Pass "-rpath .:$tmpdir" to "vers19".

	* ld-elfvers/vers1.ver: Remove "tmpdir/" from the version
	definition.
	* ld-elfvers/vers2.ver: Likewise.
	* ld-elfvers/vers3.ver: Likewise.
	* ld-elfvers/vers4a.ver: Likewise.
	* ld-elfvers/vers6.ver: Likewise.
	* ld-elfvers/vers7a.ver: Likewise.
	* ld-elfvers/vers8.ver: Likewise.
	* ld-elfvers/vers9.ver: Likewise.
	* ld-elfvers/vers15.ver: Likewise.
	* ld-elfvers/vers16a.ver: Likewise.
	* ld-elfvers/vers17.ver: Likewise.
	* ld-elfvers/vers18.ver: Likewise.
2001-05-18 01:25:34 +00:00
H.J. Lu
8b0fa28299 2001-05-03 H.J. Lu <hjl@gnu.org>
* ld-elfvers/vers19.ver: Expect vers17.so instead of
	*tmpdir/vers17.so.
2001-05-03 06:25:58 +00:00