Commit Graph

1115 Commits

Author SHA1 Message Date
Alan Modra 1dd3bf6876 * genscripts.sh: Apply $LIBPATH_SUFFIX to $tool_lib and $libdir too. 2004-01-28 13:31:30 +00:00
Jakub Jelinek 13d9421f66 * emulparams/elf64_ia64.sh: Put .rela.opd into
OTHER_GOT_RELOC_SECTIONS instead of OTHER_PLT_RELOC_SECTIONS.
2004-01-24 16:29:40 +00:00
Danny Smith 4d8907ac12 * pe-dll.c (pe_create_import_fixup): Clear WP_TEXT flag.
* ld.texinfo (--omagic): Note that writable text section
	does not conform to published PE-COFF specs.
	(--enable-auto-import): Likewise.
2004-01-20 21:08:16 +00:00
Alan Modra e5c60db524 * emulparams/elf32ppc.sh (COMMONPAGESIZE): Define. 2004-01-15 12:38:19 +00:00
Nick Clifton 6bdafbeb57 * ldlang.c (lang_get_regions): Add extra parameter 'have_vma' which if true will
prevent the LMA region being used as a replacement for a default VMA region.
  (lang_leave_output_section_statement): Pass extra parameter.
  (lang_leave_overlay): Likewise.
* ld.texinfo (Output Section LMA): Document that the LMA region can be set to
  the VMA region if no VMA has been set.
* ldlang.h (struct lang_output_section_phdr_list): Create a typedef for this
  type.  Minor formatting fixes.
2004-01-13 11:10:53 +00:00
Nick Clifton 9dfc8ab287 If dot is advanced, then assume that the section should be allocated. 2004-01-13 08:24:20 +00:00
Alan Modra 8325c4dd4e * ldlang.c (IGNORE_SECTION): Don't ignore SEC_ALLOC && !SEC_LOAD
sections.  Do ignore SEC_NEVER_LOAD sections.
	(lang_size_sections_1): Remove test made redundant with the above.
2004-01-12 13:47:32 +00:00
Alan Modra 8349035256 * emultempl/ppc64elf.em (ppc_before_allocation): Clear cached
program_header_size.
2004-01-09 05:36:30 +00:00
Alexandre Oliva 005e11184b 2003-11-28 Alexandre Oliva <aoliva@redhat.com>
* emulparams/elf32frvfd.sh (EMBEDDED): Clear.
2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
* emulparams/elf32frvfd.sh (STACK_ADDR): Unset.
(MAXPAGESIZE): Set to 64Kb.
(OTHER_READONLY_SECTIONS): Define __ROFIXUP_LIST__ and
__ROFIXUP_END__.  Don't map .rofixup.got any more.
* emulparams/elf32frv.sh (NOP): Set.
2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
* configure.tgt: Add frv-*-*linux*.
2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
* Makefile.am (ALL_EMULATIONS): Added eelf32frvfd.o.
(eelf32frvfd.c): New.
* configure.tgt <frv-*-*>: Added it to targ_extra_emuls.
* emulparams/elf32frv.sh: Reverted previous two patches.
* emulparams/elf32frvfd.sh: New.
* Makefile.in: Rebuilt.
2003-09-18  Alexandre Oliva  <aoliva@redhat.com>
* emulparams/elf32frv.sh (OTHER_READONLY_SECTIONS): Added
.rofixup.got to .rofixup.
2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
* emulparams/elf32frv.sh (MAXPAGESIZE): Make it 256KiB, not 256B.
(TEMPLATE_NAME, GENERATE_SHLIB_SCRIPT): Set.
2004-01-06 19:19:52 +00:00
Jakub Jelinek 060feee54d * emulparams/elf_s390.sh (NO_SMALL_DATA): Set to yes.
* emulparams/elf64_s390.sh (NO_SMALL_DATA): Set to yes.
2004-01-05 09:53:31 +00:00
Alan Modra c2df3ea5c0 typo fix 2004-01-03 12:49:29 +00:00
Alan Modra e5caa5e0ca * ldexp.c (align_n): Make static.
* ldexp.h (align_n): Delete declaration.
	* ldlang.h (lang_enter_output_section_statement): Remove
	block_value param.
	* ldlang.c (lang_enter_output_section_statement): Likewise.
	(TO_ADDR, TO_SIZE): Define.
	(opb): New var.
	(init_opb): New function.
	(print_input_section): Call init_opb and use TO_ADDR.
	(print_data_statement, print_reloc_statement): Likewise.
	(print_padding_statement): Likewise.
	(size_input_section): Use TO_SIZE and TO_ADDR, and global opb.
	(lang_check_section_addresses): Likewise.
	(lang_size_sections_1): Likewise.
	(lang_do_assignments_1): Likewise.
	(lang_set_startof): Likewise.
	(lang_one_common): Likewise.  Combine power_of_two and opb alignment.
	(lang_process): Call init_opb.
	(lang_abs_symbol_at_end_of): Use TO_ADDR and global opb.
	(lang_enter_overlay_section): Adjust
	lang_enter_output_section_statement call.
	* ldgram.y: Likewise.
	* mri.c (mri_draw_tree): Likewise.
	* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Likewise.
	* emultempl/mmo.em (mmo_place_orphan): Likewise.
	* emultempl/pe.em (gld${EMULATION_NAME}_place_orphan): Likewise.
2004-01-03 12:39:07 +00:00
Alan Modra 5e2f15758b * ldfile.c (ldfile_set_output_arch): Add defarch param.
* ldfile.h (ldfile_set_output_arch): Ditto.
	* emultempl/aix.em (gld${EMULATION_NAME}_before_parse): Use
	ldfile_set_output_arch.
	* emultempl/beos.em (gld${EMULATION_NAME}_before_parse): Ditto.
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_parse): Ditto.
	* emultempl/linux.em (gld${EMULATION_NAME}_before_parse): Ditto.
	* emultempl/mipsecoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
	* emultempl/pe.em (gld${EMULATION_NAME}_before_parse): Ditto.
	* emultempl/sunos.em (gld${EMULATION_NAME}_before_parse): Ditto.
	* ldgram.y: Adjust ldfile_set_output_arch call.
	* emultempl/armcoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
	* emultempl/armelf.em (gld${EMULATION_NAME}_before_parse): Ditto.
	* emultempl/armelf_oabi.em (gld${EMULATION_NAME}_before_parse): Ditto.
	* emultempl/generic.em (gld${EMULATION_NAME}_before_parse): Ditto.
	* emultempl/gld960c.em (gld960_set_output_arch): Ditto.
	* emultempl/m68kcoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
	* emultempl/ticoff.em (gld${EMULATION_NAME}_before_parse): Ditto.
2004-01-03 11:09:07 +00:00
Nick Clifton b50c15dce9 Add m68k-uclinux target 2004-01-02 16:37:12 +00:00
Alan Modra c9e214e571 Split ChangeLog files. 2004-01-02 11:16:21 +00:00
Nick Clifton 6edf0760c5 Add support for m32r-linux target, including a RELA ABI and PIC. 2003-12-19 11:44:01 +00:00
Nick Clifton 44dbf3639f When scanning MS import libraries allow for the possible presence of static
objects.
2003-12-18 14:56:44 +00:00
Michael Snyder d8d962c31a Fix typo. 2003-12-16 21:49:41 +00:00
H.J. Lu 2f97444a4f 2003-12-07 H.J. Lu <hongjiu.lu@intel.com>
* ldlang.c (lang_vers_match): Pass "DMGL_PARAMS | DMGL_ANSI" to
	cplus_demangle.
2003-12-08 03:43:33 +00:00
Kazu Hirata 62b635b637 * ldemul.c: Convert to ISO-C.
* ldver.c: Likewise.
2003-12-07 23:52:44 +00:00
Kazu Hirata 48ecb30c92 * lexsup.c (is_num): Remove. 2003-12-07 00:08:41 +00:00
Nick Clifton d3793eaa60 Fixes for use of ARM_26D reloc in arm-wince toolchain. 2003-12-05 11:30:18 +00:00
H.J. Lu d9c458fcc1 bfd/
2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>

	* elfxx-ia64.c (elfNN_ia64_relax_section): Use the
	need_relax_finalize field in link_info instead of
	relax_finalizing to check if the relax finalize pass is being
	done.

include/

2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>

	* bfdlink.h (bfd_link_info): Change relax_finalizing to
	need_relax_finalize.

ld/

2003-12-04  H.J. Lu  <hongjiu.lu@intel.com>

	* emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Set
	link_info.need_relax_finalize to TRUE.

	* ldlang.c (lang_process): Use link_info.need_relax_finalize
	instead of link_info.relax_finalizing.
	* ldmain.c (main): Likewise.
2003-12-04 22:43:36 +00:00
Nick Clifton 2051433802 Define RELOCATEABLE_OUTPUT_FORMAT 2003-12-04 17:51:43 +00:00
Alan Modra f2241121e3 * ldlang.c (lang_do_assignments): Function return is void.
* ldlang.h (lang_do_assignments): Ditto.
	* emultempl/netbsd.em (gld${EMULATION_NAME}_before_parse): Declare.
	* Makefile.am (ens32knbsd.c): Depend on netbsd.em.
	* Makefile.in: Regenerate.
2003-12-04 12:09:25 +00:00
Nick Clifton f8fc344381 Add vax-linux-gnu target 2003-12-03 15:07:17 +00:00
Nick Clifton f2f489ac6f (HEAP_SECTION_MSP430): New section for forthcoming devices.
(_etext): provide this defenition for all scripts.
2003-12-03 10:44:50 +00:00
Kazu Hirata 021d913e2e * emultempl/beos.em: Remove ARGSUSED. 2003-12-03 03:25:36 +00:00
Alan Modra 6ad841a183 Rename bfd_link_hash_entry field "next" -> "und_next". 2003-12-02 23:00:00 +00:00
Nick Clifton da8bce141c Update docs to reflect fact the --undefined-symbols==ignore-all is no longer
the default for shared libraries and dynamic executables.
2003-12-02 15:38:46 +00:00
Alan Modra 9fa06c65f0 make "dep-am" 2003-12-02 08:14:35 +00:00
Alan Modra ffc18d8a82 * ldmain.c (main): Remove mpc860c0 code.
* lexsup.c (enum option_values): Delete OPTION_MPC860C0.
	(ld_options): Delete mpc860c0 entry.
	(parse_args): Likewise.
2003-12-02 05:58:11 +00:00
Alan Modra fd574c4615 * emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Test
hash table type rather than testing creator flavour.
	* emultempl/hppaelf.em (hppaelf_create_output_section_statements):
	Only create stub_file bfd if hash table creator is as expected.
	(gld${EMULATION_NAME}_finish): Test stub_file.
2003-12-01 06:28:56 +00:00
Nick Clifton 58ea8806ac Fix building for FreeBSD 2003-11-28 08:47:07 +00:00
Jim Wilson 5a46fe39b3 Fix IA-64 linker failure reported by Andreas Schwab.
* ldlang.c (lang_process): Move lang_reset_memory_regions call after
	lang_do_assignments call.
2003-11-19 02:40:55 +00:00
Jim Wilson 55936540a7 Fix -pie core dump with .rela.opd section.
bfd/ChangeLog
	* elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd.
	(elfNN_ia64_size_dynamic_sections): When stripping sections, check
	for ia64_info->rel_fptr_sec.
ld/ChangeLog
	* emulparams/elf64_ia64.sh (OTHER_PLT_RELOC_SECTIONS): Include
	.rela.opd if -pie.
2003-11-19 01:06:13 +00:00
Nick Clifton ca6dee30a3 Add initial support for TLS sections in PE format files. 2003-11-10 17:04:55 +00:00
Alan Modra 00ce77f474 * configure.host (HOSTING_LIBS): Group libgcc and libc with
--start-group, --end-group pair.
	(*-*-netbsd*, am33_2.0-*-linux*): Use the default HOSTING_LIBS.
	(am33_2.0-*-linux*): Edit default HOSTING_CRT0.
	(arm*-*-linux-gnu*): Remove extraneous '*' in sed expression.
	(hppa*64*-*-linux*, hppa*-*-linux*): Remove target specific case.
2003-11-09 13:24:45 +00:00
Nick Clifton f24ddbddc5 Use consistent error messages for missing files.
Detect directories where an ordinary file is expected.
2003-11-07 12:19:34 +00:00
Nick Clifton 1be5957932 Fix 'the the' typo 2003-11-06 11:58:58 +00:00
Alan Modra 4b83d61511 * emultempl/pe.em (gld_${EMULATION_NAME}_after_open): Only do
pe_dll_extra_pe_debug stuff when DLL_SUPPORT defined.
	(pr_sym): Move inside #ifdef DLL_SUPPORT.
2003-11-04 23:36:21 +00:00
Alan Modra 2c07ab8a9e * emultempl/ppc64elf.em (gld${EMULATION_NAME}_new_vers_pattern): Zap
unused variable.
2003-11-04 23:11:23 +00:00
Alan Modra e0e97e2cfa * emulparams/elf32_i860.sh (TEXT_START_ADDR): Define. 2003-11-04 23:08:03 +00:00
Alan Modra e1918d2387 * bfd-in.h (_bfd_elf_tls_setup): Declare.
* bfd-in2.h: Regenerate.
	* elf-bfd.h (struct elf_link_tls_segment): Delete.
	(struct elf_link_hash_table): Add tls_sec and tls_size.
	* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
	* elflink.c (_bfd_elf_tls_setup): New function.
	* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
	(elf_bfd_final_link): Don't set first_tls_sec here.  Update code
	saving tls segment info, round segment size up.
	(elf_link_output_extsym): Adjust code using tls segment info.
	(elf_link_input_bfd): Likewise.
	* elf32-i386.c (dtpoff_base, tpoff): Likewise.
	* elf32-s390.c (dtpoff_base, tpoff): Likewise.
	* elf32-sh.c (dtpoff_base, tpoff): Likewise.
	* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
	* elf64-s390.c (dtpoff_base, tpoff): Likewise.
	* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
	* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
	(elfNN_ia64_dtprel_base): Likewise.
	* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
	(alpha_get_tprel_base): Likewise.
	(struct alpha_relax_info): Remove tls_segment.
	(elf64_alpha_relax_got_load): Adjust invocation of
	alpha_get_dtprel_base and alpha_get_tprel_base.
	(elf64_alpha_relax_tls_get_addr): Likewise.
	(elf64_alpha_relax_section): Likewise.
	(elf64_alpha_relocate_section): Likewise.
	(elf64_alpha_relax_find_tls_segment): Delete.
	* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
	(ppc_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
	(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
	* elf32-ppc.h (ppc_elf_tls_setup): Update.
	* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
	(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup.  Return section.
	(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
	(ppc64_elf_relocate_section): Likewise.
	* elf64-ppc.h (ppc64_elf_tls_setup): Update.

	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Call
	_bfd_elf_tls_setup.
2003-11-04 06:16:39 +00:00
Nick Clifton 0013291dce When looking for a previously loaded file compare the local_sym_name not the
filename, as the filename might have been transformed via the search directory
path lookup.  If the sought-for file has not been found in the input file
chain then create a new node with the search_dirs_flag set so that the entire
set of directory paths will be scanned for it.
2003-10-31 10:27:34 +00:00
Andrew Cagney fc0a224429 Index: sim/frv/ChangeLog
2003-10-30  Andrew Cagney  <cagney@redhat.com>

	* traps.c: Replace "struct symbol_cache_entry" with "struct
	bfd_symbol".

Index: sim/d10v/ChangeLog
2003-10-30  Andrew Cagney  <cagney@redhat.com>

	* simops.c: Replace "struct symbol_cache_entry" with "struct
	bfd_symbol".

Index: sim/common/ChangeLog
2003-10-30  Andrew Cagney  <cagney@redhat.com>

	* sim-trace.c, sim-base.h: Replace "struct symbol_cache_entry"
	with "struct bfd_symbol".

Index: ld/ChangeLog
2003-10-30  Andrew Cagney  <cagney@redhat.com>

	* emultempl/pe.em, pe-dll.c: Replace "struct symbol_cache_entry"
	with "struct bfd_symbol".

Index: bfd/ChangeLog
2003-10-30  Andrew Cagney  <cagney@redhat.com>

	* syms.c: Replace "struct symbol_cache_entry" with "struct
	bfd_symbol".
	* vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto.
	* mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto.
	* cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto.
	* bfd-in2.h: Re-generate.
2003-10-31 05:32:46 +00:00
Nick Clifton 325fab4e4e Switch to ELF targeted VxWorks targets 2003-10-30 09:47:15 +00:00
Stephane Carrez d522f22725 * scripttempl/elfm68hc12.sc: Define eeprom memory region. 2003-10-27 10:10:57 +00:00
Kazu Hirata 07f3b6ad4a * ChangeLog-9197: Fix typos.
* NEWS: Likewise.
	* ld.texinfo: Likewise.
	* ldlang.c: Fix comment typos.
2003-10-25 16:26:30 +00:00
H.J. Lu df8162158d 2003-10-24 H.J. Lu <hongjiu.lu@intel.com>
* ldlang.c (lang_vers_match): Fix a typo.
2003-10-24 18:55:39 +00:00
H.J. Lu 7a995eb391 2003-10-24 H.J. Lu <hongjiu.lu@intel.com>
* ldlang.c (lang_vers_match): Check demangled symbols.
2003-10-24 15:40:20 +00:00
H.J. Lu 5e35cbc224 bfd/
2003-10-24  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up
	hash table for real symbols.

include/

2003-10-24  H.J. Lu  <hongjiu.lu@intel.com>

	* bfdlink.h (bfd_elf_version_expr): Add "symbol" and remove
	"wildcard".

ld/

2003-10-24  H.J. Lu  <hongjiu.lu@intel.com>

	* ldlang.c (lang_vers_match): Check "symbol" instead of
	"wildcard" and "pattern". Fix a typo.
	(lang_finalize_version_expr_head): Likewise.
	(lang_register_vers_node): Likewise.
	(realsymbol): New function.
	(lang_new_vers_pattern): Set "symbol" and remove "wildcard".

	* ldlex.l (V_IDENTIFIER): Allow '\\'.
2003-10-24 14:55:14 +00:00
Nick Clifton 383b84283a Oops - omitted from patch that added a second parameter to lang_memory_region_lookup. 2003-10-24 09:54:41 +00:00
Jakub Jelinek 108ba30509 bfd/
* elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals
	field changes.
	(_bfd_elf_link_assign_sym_version): Likewise.
	* elflink.h (size_dynamic_sections): Likewise.
include/
	* bfdlink.h (struct bfd_elf_version_expr): Remove match field.
	Add wildcard and mask fields.
	(BFD_ELF_VERSION_C_TYPE): Define.
	(BFD_ELF_VERSION_CXX_TYPE): Likewise.
	(BFD_ELF_VERSION_JAVA_TYPE): Likewise.
	(struct bfd_elf_version_expr_head): New.
	(struct bfd_elf_version_tree): Add match field.
	Change type of globals and locals fields
	to struct bfd_elf_version_expr_head.
ld/
	* ldlang.c: Include hashtab.h.
	(lang_vers_match_lang_c, lang_vers_match_lang_cplusplus,
	lang_vers_match_lang_java): Remove.
	(lang_vers_match): New function.
	(lang_new_vers_pattern): Initialize wildcard and mask
	fields, don't initialize match.
	(lang_new_vers_node): Use xcalloc.  Adjust for globals and
	locals field type changes.  Set match field.
	(version_expr_head_hash, version_expr_head_eq): New functions.
	(lang_finalize_version_expr_head): New function.
	(lang_register_vers_node): Call lang_finalize_version_expr_head.
	Search in hash table if not wildcard when looking for duplicates.
	* emultempl/ppc64elf.em (new_vers_pattern): Don't bother with
	duplicate checking.  Initialize all fields of dot_entry from entry
	with the exception of pattern and next.
2003-10-22 06:58:17 +00:00
Nick Clifton a747ee4d51 Add warning messages for the use of an undeclared memory region and the
redefintion of an already declared region.
2003-10-21 15:33:47 +00:00
Andrew Cagney 198beae2cf 2003-10-19 Andrew Cagney <cagney@redhat.com>
* targets.c: Replace "struct sec" with "struct bfd_section"
	* syms.c, sparclynx.c, section.c, opncls.c: Ditto.
	* libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
	* elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
	* aout-tic30.c, aout-target.h:
	* bfd-in2.h, libcoff.h, libbfd.h: Regenerate.

Index: binutils/ChangeLog
2003-10-19  Andrew Cagney  <cagney@redhat.com>

	* coffgrok.h (coff_section): Replace 'struct sec" with "struct
	bfd_section".

Index: gdb/ChangeLog
2003-10-19  Andrew Cagney  <cagney@redhat.com>

	* symtab.c: Replace "struct sec" with "struct bfd_section".
	* objfiles.c, linespec.c, blockframe.c, block.c: Ditto.

Index: ld/ChangeLog
2003-10-19  Andrew Cagney  <cagney@redhat.com>

	* pe-dll.c: Replace "struct sec" with "struct bfd_section".

Index: sim/common/ChangeLog
2003-10-19  Andrew Cagney  <cagney@redhat.com>

	* sim-base.h: Replace "struct sec" with "struct bfd_section".
2003-10-20 14:38:46 +00:00
Marek Michalkiewicz 75ca919acf * Makefile.am: Remove old (before GCC 3.3) emulations for AVR
target: avr1200, avr23xx, avr4433, avr44x4, avr85xx, avrmega103,
	avrmega161, avrmega603.  Default to avr2.
	* Makefile.in: Regenerate.
	* configure.tgt: Likewise.
	* emulparams/avr1200.sh: Remove.
	* emulparams/avr23xx.sh: Remove.
	* emulparams/avr4433.sh: Remove.
	* emulparams/avr44x4.sh: Remove.
	* emulparams/avr85xx.sh: Remove.
	* emulparams/avrmega103.sh: Remove.
	* emulparams/avrmega161.sh: Remove.
	* emulparams/avrmega603.sh: Remove.
	* scripttempl/elf32avr.sc: Remove.
2003-10-19 16:46:14 +00:00
Andreas Schwab c2411cd270 * emultempl/ticoff.em (gld_${EMULATION_NAME}_list_options): Add
newline to message.
2003-10-19 15:58:18 +00:00
Andreas Schwab 655f76a203 * deffilep.y: Remove commas from %token lines. 2003-10-19 15:21:31 +00:00
Hans-Peter Nilsson 06335781f6 * emultempl/mmix-elfnmmo.em (mmix_before_allocation): Force linker
relaxation always; don't exclude relocatable linking.  Adjust for
	_bfd_mmix_prepare_linker_allocated_gregs renamed to
	_bfd_mmix_before_linker_allocation.
	(mmix_after_allocation): Adjust for
	_bfd_mmix_finalize_linker_allocated_gregs renamed to
	_bfd_mmix_after_linker_allocation.
	* scripttempl/mmo.sc: Use ADDR (.text), not . - SIZEOF (.text).
2003-10-18 15:49:10 +00:00
Hans-Peter Nilsson 86d3c9a824 * ldlang.c (lang_size_sections): Last, set _cooked_size for output
sections.
2003-10-17 23:05:50 +00:00
Alan Modra 8fbdf3ab38 * Makefile.am (GENSCRIPTS_EXTRA, GEN_EXTRA_DEPENDS): Remove. Use
GENSCRIPTS and GEN_DEPENDS in place of these.
	* Makefile.in: Regenerate.
	* genscripts_extra.sh: Delete.  Merge extra functionality to..
	* genscripts.sh: ..here.

	* emulparams/gld960.sh (TEXT_START_ADDR, TARGET_PAGE_SIZE): Define.
	* emulparams/gld960coff.sh (TEXT_START_ADDR, TARGET_PAGE_SIZE): Ditto.
	* emulparams/lnk960.sh (TEXT_START_ADDR, TARGET_PAGE_SIZE): Ditto.
	* emulparams/m88kbcs.sh (TEXT_START_ADDR, TARGET_PAGE_SIZE): Ditto.
	* emulparams/vanilla.sh (TEXT_START_ADDR, TARGET_PAGE_SIZE): Ditto.
2003-10-16 08:46:35 +00:00
Alan Modra 9c4f8b734a * emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Don't
use $EMULATION_NAME to call bfd function.
2003-10-16 06:26:37 +00:00
Danny Smith 661a32f7da * pe-dll.c (pe_implied_import_dll): Also scan .rdata sections
to identify data symbols.
2003-10-14 06:26:31 +00:00
Richard Sandiford 786dbcc3f4 * emulparams/elf32bmipn32-defs.sh (INITIAL_READONLY_SECTIONS): Move
definition from elf64btsmip.sh.
	(TEXT_DYNAMIC): Likewise elf32btsmipn32.sh.
	* emulparams/elf32btsmipn32.sh (TEXT_DYNAMIC): Remove.
	* emulparams/elf64btsmip.sh (INITIAL_READONLY_SECTIONS): Remove.
	* emulparams/elf64bmip.sh (SHLIB_TEXT_START_ADDR): Define.
	(EXECUTABLE_SYMBOLS): Set __elf_header correctly for shared objects.
	Define __program_header_table in terms of __elf_header.
2003-10-13 19:48:39 +00:00
H.J. Lu 3f7deb8a34 bfd/
2003-10-10  H.J. Lu  <hongjiu.lu@intel.com>

	* bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
	(bfd_elf64_ia64_after_parse): Likewise.
	* bfd-in2.h: Regenerated.

	* elfxx-ia64.c (oor_ip): New.
	(oor_branch_size): Likewise.
	(bfd_elfNN_ia64_after_parse): Likewise.
	(elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
	equals sizeof (oor_ip).

ld/

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

	* Makefile.am (eelf64_ia64.c): Also depend on
	$(srcdir)/emultempl/ia64elf.em.
	* Makefile.in: Regenerated.

	* emulparams/elf64_ia64.sh (EXTRA_EM_FILE): Set to ia64elf.

	* emultempl/ia64elf.em: New.
2003-10-13 15:55:51 +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 420e579cc4 * ld.texinfo (Builtin Functions) <DEFINED>: Say that only symbols
defined before the statement using DEFINED yield 1.
	* ldexp.c (fold_name) <case DEFINED>: In lang_first_phase_enum,
	call lang_track_definedness on symbol.  In subsequent phases, use
	lang_symbol_definition_iteration and lang_statement_iteration to
	check whether the symbol was defined before the current statement.
	(exp_fold_tree) <case etree_assign et al>: Call
	lang_update_definedness before updating symbol type when setting
	symbol.
	* ldlang.c (lang_definedness_table): New variable.
	(lang_definedness_newfunc, lang_track_definedness)
	(lang_symbol_definition_iteration, lang_update_definedness): New
	functions.
	(lang_init): Initialize lang_definedness_table and
	lang_statement_iteration.
	(lang_finish): Destroy bfd_hash_table_free.
	(lang_size_sections): Increment lang_statement_iteration.
	(lang_do_assignments_1): New function with former
	lang_do_assignments contents.  Change recursive calls to call this
	function.
	(lang_do_assignments): Evacuate contents.  Increment
	lang_statement_iteration, then just call lang_do_assignments_1.
	* ldlang.h (struct lang_definedness_hash_entry)
	(lang_statement_iteration, lang_track_definedness)
	(lang_symbol_definition_iteration, lang_update_definedness):
	Declare.
2003-10-11 09:16:20 +00:00
H.J. Lu c6d3b05fe7 2003-10-09 H.J. Lu <hongjiu.lu@intel.com>
* scripttempl/elf.sc (__executable_start): Provide.
2003-10-10 01:36:36 +00:00
Daniel Jacobowitz 2f857bd0cc * emulparams/armelf.sh: Define NO_SMALL_DATA.
* emulparams/armelf_linux.sh, emulparams/armelf_oabi.sh,
	emulparams/armnto.sh: Likewise.
2003-10-09 14:06:07 +00:00
Alexandre Oliva a7f18fb387 * ldlang.c (lang_size_sections_1): Use IGNORE_SECTION to tell
whether to skip test for no memory region.
2003-10-08 22:17:35 +00:00
Nick Clifton e62eb3ee7e lexsup.c (parse_args: OPTION_CALL_SHARED): Revise comment describing defaults.
Change default to report unresolved symbols in object files as well.
2003-10-08 13:52:33 +00:00
Hans-Peter Nilsson 6a33aff473 * ldexp.c (fold_name) <case DEFINED>: Set section of result to
abs_output_section.
2003-10-08 12:40:26 +00:00
Bob Wilson 398b851510 * emulparams/elf32xtensa.sh (OTHER_READONLY_SECTIONS,
OTHER_READWRITE_SECTIONS, OTHER_SECTIONS): Set section addresses to
	zero for relocatable links.
2003-10-07 23:30:20 +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
Nathan Sidwell 29ca8dc5bb bfd/Changelog:
* libbfd-in.h (_bfd_link_section_stabs): Add string offset
	parameter.
	* cofflink.c (coff_link_add_symbols): Deal with split stab
	sections.
	* elflink.h (elf_link_add_object_symbols): Deal with split stab
	sections.
	* stabs.c (_bfd_link_section_stabs): Add string offset parameter.
	* libbfd.h: Regenerated.
ld/ChangeLog:
	* ldwrite.c (unsplittable_name): New.
	(clone_section): Strip existing numeric suffix. Only truncate names
	for coff targets.
	(split_sections): Use unsplittable_name.
binutils/ChangeLog:
	* objdump.c (read_section_stabs): Just read one section, return
	pointer to it. Add size parameter.
	(print_section_stabs): Add string offset parameter. Adjust.
	(struct stab_section_names): Add string offset member.
	(find_stabs_sections): Correct check for split section suffix,
	adjust read_section_stabs and print_section_stabs calls.
	(dump_stabs_section): Clear string_offset, free string table.
2003-10-07 08:53:42 +00:00
Nick Clifton 854770991f lexsup.c (parse_args): Report unresolved symbols in shared libraries when
creating a dynamic executable.  This is a restoration of the default behaviour
for previous versions of the linker.
2003-10-06 11:07:08 +00:00
Nick Clifton 85cf2a8a15 Change target of hppa-netbsd port 2003-10-06 11:01:36 +00:00
Nick Clifton 4615568e51 Add i386-knetbsd-gnu triplet. 2003-10-06 09:12:39 +00:00
Nick Clifton 4b7f0676e4 Correct sym def order & pick right sym for .idata$7 reloc. 2003-10-02 11:18:13 +00:00
Chris Demetriou 43c58ae626 [ binutils/ChangeLog ]
2003-09-30  Chris Demetriou  <cgd@broadcom.com>

        * NEWS: Add an indication of the cutoff for 2.14.

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

        * NEWS: Add an indication of the cutoff for 2.14.

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

        * NEWS: Add an indication of the cutoff for 2.14.
2003-09-30 16:44:04 +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
Nick Clifton 13dfd2d039 Add *kfreebsd-gnu configuration support 2003-09-03 09:32:21 +00:00
Alan Modra 71df864f7b * emulparams/elf32ip2k.sh (TEMPLATE_NAME): Define. 2003-08-29 00:34:27 +00:00
Nick Clifton 3673a93e66 Updated translations 2003-08-21 13:52:58 +00:00
Nick Clifton 560e09e9cc Better handking for unresolved symbols 2003-08-20 08:37:19 +00:00
Nick Clifton aafdb20733 * Makefile.am (GENSCRIPTS_EXTRA): New script definition which calls
genscripts_extra.sh.
  Rearrange all msp430 depends using this script.
* Makefile.in: Regenerate.
* genscripts_extra.sh: New file: Similar to genscripts.sh, except that the
  script to be run to generate the emulations can be passed
  as an optional parameter instead of being computed from the
  emulation name.
* emulparams/msp430all.sh: New file: Combine all msp430 subdevice definitions
  into one file.
* emulparams/msp430x*.sh: Removed.
2003-08-15 17:04:48 +00:00
Nick Clifton cd6d6c159c Put the keywords for the -z option into a table.
Add more text describing what the -z now option does.
2003-08-15 09:42:17 +00:00
Alan Modra 68cdbb4a03 * dep-in.sed: Remove libintl.h.
* Makefile.am (POTFILES.in): Unset LC_COLLATE.
	* Makefile.in: Regenerate.
2003-08-14 07:04:57 +00:00
Alan Modra f22f5fcd02 * genscripts.sh (libpath.exp): Only generate for first emulation.
(LIB_PATH): Correct order of paths.  Don't add $tool_lib when
	already present or when LIB_PATH is set to ":".
2003-08-13 08:38:23 +00:00
Ian Lance Taylor 0b28295df7 * ldmain.c (undefined_symbol): Change parameter name from `fatal'
to `error'.  If only a warning, put warning in the reported
	string.  Consistently set failure flag when not a warning.
2003-08-12 16:46:17 +00:00
Nick Clifton 3b260895e3 Add MSP430 variants 2003-08-08 10:14:52 +00:00
Danny Smith 1fa1d2cdfc * emultempl/pe.em (gld_${EMULATION_NAME}_before_parse):
Change second (cmdline) arg to lang_add_entry to FALSE.
	(set_pe_subsystem): Change second arg to lang_add_entry to TRUE.
2003-08-07 01:52:36 +00:00
Jason Eckhardt 9d7e2ba5ae 2003-08-04 Christian Groessler <chris@groessler.org>
Jason Eckhardt  <jle@rice.edu>

        * configure.tgt: Recognize new target i860-*-coff.
        * Makefile.am (ALL_EMULATIONS): Add ecoff_i860.o.
        (ecoff_i860.c): New rule.
        * emulparams/coff_i860.sh: New file.
        * scripttempl/i860coff.sc: New file.
        * Makefile.in: Regenerate.
2003-08-06 02:19:05 +00:00
Nick Clifton 8c6756949e Prefix .gnu.warning section messages with "warning: ". 2003-08-04 11:32:52 +00:00
Alan Modra 2a36a1175e * emultempl/elf32.em (output_rel_find): Add "isdyn" param. Put
.rel.dyn before other reloc sections.  Don't stop looking for reloc
	sections on finding one that isn't allocated.  Match .rel even when
	placing .rela and vice versa, when setting last_rel and
	last_rel_alloc for the first time.  If no reloc sections in script,
	prefer allocated section over non-alloc.
	(gld${EMULATION_NAME}_place_orphan): Handle orphan .rel.dyn.
2003-08-04 04:01:39 +00:00
Kaz Kojima 8a1cb15917 * emulparams/shelf.sh (OTHER_SECTIONS): Don't include .stack
section for shared library.
	* emulparams/shelf32.sh (OTHER_SECTIONS): Likewise.
	* emulparams/shelf64.sh (OTHER_SECTIONS): Likewise.
2003-07-30 02:22:07 +00:00
Stephane Carrez 83a27a96d4 * scripttempl/elfm68hc12.sc: Add gcc_except_table.
* scripttempl/elfm68hc11.sc: Likewise.
2003-07-29 20:17:17 +00:00
Alan Modra f37f3db78f * emulparams/elf64ppc.sh (GOT): Fix for shell brace matching. 2003-07-28 03:33:48 +00:00
Alan Modra c86b6a7b5e * emulparams/elf64ppc.sh (GOT): Don't merge .toc into .got for ld -r. 2003-07-28 02:42:37 +00:00