Commit Graph

2031 Commits

Author SHA1 Message Date
Alan Modra 384a9dda99 * ldlang.c (struct output_statement_hash_entry): Don't indirect to os.
(output_statement_newfunc): Rewrite.
	(lang_output_section_find_1): Merge into..
	(lang_output_section_find): ..here.
	(lang_output_section_statement_lookup_1): Rewrite to handle
	multiple sections with the same name.
	(output_statement_table_init): Commonise error message.
	(lang_init, open_output): Likewise.
2005-11-04 13:26:53 +00:00
Paul Brook 6f2942edf0 2005-11-03 Paul Brook <paul@codesourcery.com>
* scripttempl/elf.sc: Add .init_array.* and .fini_array.*.
	* scripttempl/armbpabi.sc: Make init/fini array consistent with
	elf.sc.
	* scripttempl/elf32sh-symbian.sc: Ditto.
	* scripttempl/elfxtensa.sc: Ditto.
2005-11-03 15:01:58 +00:00
Alan Modra 7fabd0295e * ldlang.h (lang_output_section_statement_type): Rearrange. Remove
memspec.  Make "processed" a bitfield.
	(lang_data_statement_type, lang_reloc_statement_type): Rename
	output_vma to output_offset.
	* ldlang.c (lang_output_section_statement_lookup_1): Init
	all_input_readonly.  Don't init memspec.
	(init_os): Remove incorrect comment.
	(print_data_statement, print_reloc_statement): Adjust for
	lang_data_statement_type and lang_reloc_statement_type change.
	(lang_size_sections_1, lang_add_reloc): Likewise.
	* ldwrite.c (build_link_order): Likewise.
2005-11-03 02:54:10 +00:00
Hans-Peter Nilsson 6f72d99d8b PR ld/1501
* ld-mmix/bpo-10.d: Adjust for empty-section-removal.
2005-10-31 04:08:40 +00:00
Mark Mitchell a55ff675f9 * as.c (show_usage): Document "@FILE".
* gprof.c (usage): Document "@FILE".

	* lexsup.c (help): Document "@FILE".
2005-10-30 18:08:52 +00:00
H.J. Lu 9e5169a8fa ld/
binutils/
opcodes/

2005-10-30  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.

	* dep-in.sed: Replace " ./" with " ".
2005-10-30 17:40:28 +00:00
Hans-Peter Nilsson 8559470fe5 PR ld/1567
* ld-cris/noov.s, ld-cris/noov.d: New test.
2005-10-28 00:24:09 +00:00
Alan Modra 89feb2c412 * ld-elf/empty2.d: Allow more symbols. 2005-10-26 07:53:15 +00:00
Hans-Peter Nilsson ee4ced6a5c * ld-mmix/bpo-6.d, ld-mmix/bpo-19.d: Adjust for symbols between
section symbols and the _start symbol.
2005-10-26 01:34:05 +00:00
Nick Clifton 3c9b82baee Add support for the Z80 processor family 2005-10-25 17:40:19 +00:00
Alan Modra 3caac5b897 Regenerate 2005-10-25 02:20:17 +00:00
Alan Modra 4f9c04f763 * ld.texinfo (--reduce-memory-overheads): Fix typo. 2005-10-24 23:07:12 +00:00
Alan Modra 57d975e191 * ld-elf/orphan.d: Adjust for mips. 2005-10-24 23:06:19 +00:00
Jan Beulich 15cf70afb6 ld/testsuite/
2005-10-24  Jan Beulich  <jbeulich@novell.com>

	* ld-elf/empty2.[sd]: New.
2005-10-24 07:48:47 +00:00
H.J. Lu ccd2ec6a87 bfd/
2005-10-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/1487
	* elf-bfd.h (_bfd_generic_init_private_section_data): New.
	(_bfd_elf_init_private_section_data): New.

	* elf.c (elf_fake_sections): Don't set SHF_GROUP for
	relocatable link.
	(bfd_elf_set_group_contents): Don't handle relocatable link
	specially.
	(assign_section_numbers): If it isn't called by assembler,
	use the output section of elf_linked_to_section for
	SHF_LINK_ORDER.
	(_bfd_elf_init_private_section_data): New.
	(_bfd_elf_copy_private_section_data): Call it.

	* libbfd-in.h (_bfd_generic_init_private_section_data): New.

	* libbfd.c (_bfd_generic_init_private_section_data): New.

	* targets.c (BFD_JUMP_TABLE_COPY): Add
	_bfd_generic_init_private_section_data.
	(bfd_init_private_section_data): Likewise.

	* bfd-in2.h: Regenerated.
	* libbfd.h: Likewise.

ld/

2005-10-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/1487
	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Call
	bfd_match_sections_by_type to match section types.

	* ldlang.c (init_os): Take the input section. Call
	bfd_init_private_section_data if the input section isn't NULL.
	(exp_init_os): Pass NULL to init_os.
	(map_input_to_output_sections): Likewise.
	(lang_add_section): Pass the input section to init_os.

ld/testsuite/

2005-10-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/1487
	* ld-ia64/tlspic.rd: Updated.
2005-10-24 01:40:58 +00:00
H.J. Lu 2068d88563 2005-10-21 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1467
	* ld-elf/orphan.d: New file.
	* ld-elf/orphan.ld: Likewise.
	* ld-elf/orphan.s: Likewise.
2005-10-21 21:18:05 +00:00
H.J. Lu c9831d571e 2005-10-20 H.J. Lu <hongjiu.lu@intel.com>
* ld-ia64/ia64.exp: Undo the last change. Add support for *.d.

	* ld-ia64/link-order.d: New file.
2005-10-20 17:54:53 +00:00
H.J. Lu 6a0d0afdc7 binutils/testsuite/
2005-10-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/251
	* binutils-all/group.s: New file.

	* binutils-all/objcopy.exp (objcopy_test_readelf): New
	procedure.
	Use it to test ELF group.

ld/testsuite/

2005-10-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/251
	* ld-elf/group.2d: New file.
2005-10-20 17:06:41 +00:00
H.J. Lu 64bb95af3d binutils/testsuite/
2005-10-19  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/1487
	* binutils-all/objcopy.exp (objcopy_test): New procedure.
	Use it to test simple copy, ia64 link order and ELF unknown
	section type.

	* binutils-all/unknown.s: New file.

ld/testsuite/

2005-10-19  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/1487
	* ld-elf/unknown.d: New file.
2005-10-19 20:49:03 +00:00
H.J. Lu 33c5e3a91d 2005-10-19 H.J. Lu <hongjiu.lu@intel.com>
* ld-ia64/ia64.exp: Check link order for ld -r.
2005-10-19 18:33:25 +00:00
Paul Brook 3242b11e04 2005-10-19 Paul Brook <paul@codesourcery.com>
* emulparams/armelf.sh: Add .ARM.attributes to OTHER_SECTIONS.
2005-10-19 14:43:21 +00:00
Alan Modra 97e5838e9c * ld-scripts/crossref.exp: Add -mcall-aixdesc to CFLAGS for
powerpc64.
2005-10-18 02:25:42 +00:00
H.J. Lu ecca98713a bfd/
2005-10-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/1467
	* elf-bfd.h (_bfd_elf_match_sections_by_type): New.
	(_bfd_generic_match_sections_by_type): New. Defined.

	* elf.c (_bfd_elf_match_sections_by_type): New.

	* libbfd-in.h (_bfd_generic_match_sections_by_type): New.

	* bfd-in2.h: Regenerated.
	* libbfd.h: Likewise.

	* libbfd.c (_bfd_generic_match_sections_by_type): New.

	* targets.c (BFD_JUMP_TABLE_LINK): Initialize
	_bfd_match_sections_by_type with
	_bfd_generic_match_sections_by_type.
	(bfd_target): Add _bfd_match_sections_by_type.

ld/

2005-10-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR ld/1467
	* emultempl/elf32.em: Include "elf-bfd.h".
	(gld${EMULATION_NAME}_place_orphan): Check section type and
	don't use section name for ELF input sections.

	* ld.texinfo: Document orphan section processing.

	* ldlang.c (lang_output_section_find_by_flags): Match section
	types by calling bfd_match_sections_by_type.
2005-10-15 14:57:55 +00:00
Mark Mitchell 86043bbbd5 * ld.texino: Describe double-quoted string syntax for version
nodes.
	* ldlang.h (lang_new_vers_pattern): Add literal_p parameter.
	* ldgram.y (vers_defns): Allow NAME as well as VERS_IDENTIFIER.
	Adjust calls to lang_new_vers_pattern to pass literal_p argument.
	* ldlang.c (lang_vers_match): Fix indentation.  Do not glob-match
	version nodes without a pattern.
	(lang_new_vers_pattern): Add literal_p parameter.
	(lang_do_version_exports_section): Pass it.

	* ld-elfvers/vers.exp: Add vers31.
	* ld-elfvers/vers31.c: New file.
	* ld-elfvers/vers31.dsym: Likewise.
	* ld-elfvers/vers31.map: Likewise.
	* ld-elfvers/vers31.ver: Likewise.
2005-10-13 17:29:57 +00:00
Mark Mitchell 3e8a519c72 * NEWS: Mention @file.
* NEWS: Mention @file.
2005-10-13 00:57:43 +00:00
Paul Brook ee065d83ee 2005-10-08 Paul Brook <paul@codesourcery.com>
bfd/
	* elf32-arm.c: Move #include "elf/arm.h" after libbfd.h.
	(NUM_KNOWN_ATTRIBUTES): Define.
	(aeabi_attribute, aeabi_attribute_list): Define.
	(elf32_arm_obj_tdata): Add known_eabi_attributes and
	other_eabi_attributes.
	(uleb128_size, is_default_attr, eabi_attr_size,
	elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
	elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
	elf32_arm_new_eabi_attr, attr_strdup, elf32_arm_add_eabi_attr_int,
	elf32_arm_add_eabi_attr_compat, copy_eabi_attributes,
	elf32_arm_merge_eabi_attributes): New functions.
	(elf32_arm_copy_private_bfd_data): Copy EABI object attributes.
	(elf32_arm_fake_sections): Handle .ARM.attributes.
	(elf32_arm_parse_attributes): New function.
	(elf32_arm_section_from_shdr): Use it.
	(bfd_elf32_bfd_final_link): Define.
gas/
	* config/tc-arm.c: Don't provide fallback default for CPU_DEFAULT.
	(arm_arch_used, thumb_arch_used, selected_cpu, selected_cpu_name):
	New variables.
	(arm_cpu_option_table): Add canonical_name.
	(arm_cpus): Populate canonical_name field.
	(s_arm_eabi_attribute, s_arm_arch, s_arm_cpu, s_arm_fpu,
	aeabi_set_public_attributes, arm_md_end): New functions.
	(md_pseudo_table): Add "cpu", "arch", "fpu" and "eabi_attribute".
	(md_assemble): Set thumb_arch_used and arm_arch_used.
	(md_begin): Set defaut cpu if CPU_DEFAULT not defined.
	* config/tc-arm.h (md_end): Define.
	* doc/c-arm.texi: Document .cpu, .arch, .fpu and .eabi_attribute.
gas/testsuite/
	* gas/arm/eabi_attr_1.s: New test.
	* gas/arm/eabi_attr_1.d: New test.
	* gas/arm/arm7t.d: Only disassemble code sections.
	* gas/arm/bignum1.d: Ignore Arm object attribute sections.
	* gas/arm/mapping.d: Ditto.
	* gas/arm/unwind.d: Ditto.
	* gas/elf/section0.d: Ditto.
	* gas/elf/section1.d: Ditto.
	* gas/elf/elf.exp: Set target_machine for Arm EABI based targets.
	* gas/elf/section2.e-armeabi: New file.
include/elf/
	* arm.h: Add prototypes for BFD object attribute routines.
ld/testsuite/
	* ld-arm/arm-rel31.d: Ignore Arm object attribute sections.
	* ld-arm/arm-target1-abs.d: Ditto.
	* ld-arm/arm-target1-rel.d: Ditto.
	* ld-arm/arm-target2-abs.d: Ditto.
	* ld-arm/arm-target2-got-rel.d: Ditto.
	* ld-arm/arm-target2-rel.d: Ditto.
2005-10-08 17:07:19 +00:00
H.J. Lu f0e0fb23b5 2005-10-05 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1396
	* ldcref.c (check_refs): Accept bfd_boolean.
	(check_local_sym_xref): Pass FALSE to check_refs.
	(check_nocrossref): Pass TRUE to check_refs.
	(check_refs_info): Add bfd_boolean.
	(check_refs): Add bfd_boolean to check_refs_info.
	(check_reloc_refs): Match relocations with proper symbols.

	* ldmisc.c (vfinfo): Don't add extra ":\n".
2005-10-05 16:12:17 +00:00
Danny Smith e60cc41502 * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse): Set
default entry symbol to ENTRY here.
	* scripttempl/pe.sc: Not here.
2005-10-05 08:07:51 +00:00
H.J. Lu b239e90902 2005-10-04 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1396
	* ld-scripts/cross3.t: New file.
	* ld-scripts/cross4.c: Likewise.

	* ld-scripts/crossref.exp: Add a new test for "ld -r".
2005-10-04 19:54:08 +00:00
Jim Wilson 4520f86864 Fix malformed error message.
* ldlang.c (lang_startup): Add missing ": " to einfo call.
2005-09-30 22:10:54 +00:00
H.J. Lu b898a38504 2005-09-30 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
2005-09-30 18:59:46 +00:00
H.J. Lu 750877bad8 ld/
2005-09-30  H.J. Lu  <hongjiu.lu@intel.com>

	* ldlang.c (output_statement_hash_entry): New type.
	(output_statement_table): New variable for hash table.
	(output_statement_newfunc): New function.
	(output_statement_table_init): Likewise.
	(output_statement_table_free): Likewise.
	(lang_init): Call output_statement_table_init.
	(lang_finish): Renamed to ...
	(lang_end): This.
	(lang_process): Updated.
	(lang_finish): New function.
	(lang_output_section_find_1): Use hash table.
	(lang_output_section_statement_lookup_1): Likewise.

	* ldlang.h (lang_finish): New.

	* ldmain.c (main): Call lang_finish.

ld/testsuite/

2005-09-30  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/sec64k.exp: Enabled for all ELF targets.
2005-09-30 17:45:54 +00:00
Mark Mitchell 869b9d07bb * addr2line.c (main): Likewise.
* ar.c (main): Likewise.
	* coffdump.c (main): Likewise.
	* cxxfilt.c (main): Likewise.
	* dlltool.c (main): Likewise.
	* dllwrap.c (main): Likewise.
	* nlmconv.c (main): Likewise.
	* nm.c (main): Likewise.
	* objcopy.c (main): Likewise.
	* objdump.c (main): Likewise.
	* readelf.c (main): Likewise.
	* size.c (main): Likeiwse.
	* srcconv.c (main): Likewise.
	* strings.c (main): Likewise.
	* sysdump.c (main): Likewise.
	* sysinfo.c (main): Likewise.
	* windres.c (main): Likewise.

	* ldmain.c (main): Use expandargv.

	* gprof.c (main): Use expandargv.

	* as.c (main): Use expandargv.
2005-09-30 16:37:32 +00:00
Catherine Moore 74c2b7e0f3 * ld-elf/merge.d: Xfail bfin. 2005-09-30 15:24:21 +00:00
Catherine Moore 95f4309b98 * Makefile.am: Bfin support.
* Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.
	* configure.tgt: Bfin support.
	* emulparams/bfin.sh: New file.
	* emultempl/bfin.em: New file.
2005-09-30 15:23:16 +00:00
Nick Clifton a70c240376 asintl.h/bucomm.h/ld.h: Prevent the inclusion of <libintl.h> from the Solaris
version of <locale.h> when ENABLE_NLS is not defined.
gprof.c (main):Only invoke bindtextdomain() and textdomain() if ENABLE_NLS is
  defined.
2005-09-30 11:42:05 +00:00
Alexandre Oliva 08f46626eb * symtocbase-1.s, symtocbase-2.s, symtocbase.d: New test.
* powerpc.exp: Run it.
2005-09-28 19:32:19 +00:00
Jan Beulich 1a114b1284 gas/testsuite/
2005-09-28  Jan Beulich  <jbeulich@novell.com>

	* gas/i386/x86-64-stack.s, gas/i386/x86-64-stack.d,
	gas/i386/x86-64-stack-suffix.d, gas/i386/x86-64-stack-intel.d: New.
	* gas/i386/i386.exp: Run new tests.

ld/testsuite/
2005-09-28  Jan Beulich  <jbeulich@novell.com>

	* ld-x86-64/tlspic.dd: Adjust.

opcodes/
2005-09-28  Jan Beulich  <jbeulich@novell.com>

	* i386-dis.c (stack_v_mode): Renamed from branch_v_mode.
	(indirEv): Use it.
	(stackEv): New.
	(Ob64, Ov64): Rename to Ob, Ov. Delete unused original definitions.
	(dis386): Document and use new 'V' meta character. Use it for
	single-byte push/pop opcode forms. Use stackEv for mod-r/m push/pop
	opcode forms. Correct typo in 'pop ss'. Replace Ob64/Ov64 by Ob/Ov.
	(putop): 'q' suffix for 'T' and 'U' meta depends on DFLAG. Mark
	data prefix as used whenever DFLAG was examined. Handle 'V'.
	(intel_operand_size): Use stack_v_mode.
	(OP_E): Use stack_v_mode, but handle only the special case of
	64-bit mode without operand size override here; fall through to
	v_mode case otherwise.
	(OP_REG): Special case rAX_reg ... rDI_reg only when 64-bit mode
	and no operand size override is present.
	(OP_J): Use get32s for obtaining the displacement also when rex64
	is present.
2005-09-28 15:34:53 +00:00
Alexandre Oliva 7f1ee71f57 s/waek/weak/ in 2005-05-05's entry. 2005-09-28 05:00:07 +00:00
H.J. Lu bbf115d3cc 2005-09-27 H.J. Lu <hongjiu.lu@intel.com>
* ld.texinfo (ALIGN): Document it as forcing output section
	alignment.

	* ldgram.y (ALIGN): Support it for forcing output section
	alignment.
2005-09-28 00:34:21 +00:00
Alan Modra f68d3f78b1 * ldlang.h (lang_output_section_statement_struct): Change type of
"processed" to bfd_boolean.
	* ldexp.c (fold_name): Update references to os->processed.
	* ldlang.c (lang_output_section_statement_lookup_1): Likewise.
	(lang_size_sections_1): Likewise.
	(lang_reset_memory_regions): Likewise.
2005-09-20 03:00:53 +00:00
Alan Modra a5df8c84e0 PR ld/1353
* ldlang.c (lang_size_sections_1): Process addr_tree earlier,
	so that unused output section statements affect dot.
2005-09-19 23:17:47 +00:00
Jakub Jelinek 6aa29e7b7c * ld.texinfo: Document -z {no,}execstack, -z {no,}relro
and --eh-frame-hdr options.
2005-09-08 16:03:26 +00:00
Alan Modra 5397b1fec1 * ldexp.c (fold_name <SIZEOF>): Return 0 for non-existent section.
(exp_fold_tree_1): Print assert message only in final stage of
	linking.  Trigger assertion failure if expression cannot be
	evaluated.
2005-09-07 06:27:36 +00:00
H.J. Lu 12b9ff6c8b 2005-09-06 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1263
	* emultempl/elf32.em (gld${EMULATION_NAME}_load_symbols): Check
	--just-symbols on DSO.
2005-09-07 05:01:53 +00:00
Hans-Peter Nilsson 9d21c87bbe * ld-cris: Skip tests unsuitable for testing target
cris-axis-linux-gnu.
2005-09-01 01:47:25 +00:00
David Daney 693c70e0ae * ld-mips-elf/multi-got-1.d: Adjust for new ld behavior.
* ld-mips-elf/multi-got-no-shared.d: Likewise.
	* ld-mips-elf/rel32-n32.d: Likewise.
	* ld-mips-elf/rel32-o32.d: Likewise.
	* ld-mips-elf/rel64.d: Likewise.
2005-08-18 16:46:22 +00:00
Alan Modra 48733062ff * ld-d10v/default_layout.d: Adjust for section removal.
* ld-elf/empty.s: Define "main".
	* ld-elf/frame.exp: Don't run for hppa64 and v850.
	* ld-elf/group1.d: xfail various targets.
	* ld-elf/merge.d: Likewise.
	* ld-elf/merge2.d: Likewise.
	* ld-elf/warn1.d: Likewise.
	* ld-scripts/defined2.d: Likewise.
	* ld-scripts/defined3.d: Likewise.
	* ld-scripts/empty-aligned.d: Likewise.
	* ld-scripts/size-2.d: Likewise.
	* ld-scripts/weak.exp: Likewise.
	* ld-selective/sel-dump.exp: Likewise.
	* ld-undefined/weak-undef.exp: Likewise.
2005-08-18 07:51:08 +00:00
Alan Modra 2caf1300cf * scripttempl/elf.sc: Remove commented out defines. 2005-08-18 07:15:17 +00:00
Alan Modra 848cf006a0 Remove a29k files. 2005-08-18 03:59:24 +00:00