Commit graph

4574 commits

Author SHA1 Message Date
Jakub Jelinek
40937810e1 2005-04-14 David S. Miller <davem@davemloft.net>
bfd/
	Add TLS support for 64-bit Sparc ELF.
	*  elf64-sparc.c (sparc64_elf_dyn_relocs,
	sparc64_elf_link_hash_entry, sparc64_elf_obj_tdata): New structs.
	(GOT_UNKNOWN, GOT_NORMAL, GOT_TLD_GD, GOT_TLD_IE,
	sparc64_elf_hash_entry, sparc64_elf_tdata,
	sparc64_elf_local_got_tls_type): New defines.
	(sparc64_elf_mkobject): New function.
	(sparc64_elf_link_hash_table): Add members for dynamic linker
	sections PLT, RELPLT, DYNBSS, and RELBSS.  Add tls_ldm_got
	uion to track TLS GOT references.  Add sym_sec to cache
	mappings from local sym to section.
	(link_hash_newfunc): New function.
	(sparc64_elf_bfd_link_hash_table_create): Rename to
	sparc64_elf_link_hash_table_create for consistency.
	Pass link_hash_newfunc to _bfd_elf_link_hash_table_init.
	(sparc64_elf_create_dynamic_sections): Initialize new section
	members of sparc64_elf_link_hash_table.  Only init srelbss
	if not-shared.
	(sparc64_elf_copy_indirect_symbol, sparc64_elf_tls_transition):
	New functions.
	(SPARC_NOP): Define.
	(sparc64_elf_build_plt, sparc64_elf_plt_entry_offset,
	sparc64_elf_plt_ptr_offset): Delete.
	(sparc64_plt_entry_build): New function to build PLT entries
	gradually instread of all at once at the end of linking.
	(sparc64_elf_check_relocs): Delete dynobj, sgot, and srelgot
	local vars.  Get them from sparc64_elf_hash_table instead.
	Check early on if r_symndx is in bounds.  Handle TLS transitions.
	Account for TLS GOT references and DF_STATIC_TLS, as needed.
	For TLS relocs, record the tls_type in either
	sparc64_elf_local_got_tls_type or sparc64_elf_hash_entry as
	appropriate.  For R_SPARC_TLS_{GD,LDM}_CALL, emit a reference
	to the __tls_get_addr symbol.  For PLT relocs, track references
	via h->plt.refcount.  When R_SPARC_{PC10,PC22,PC_HH22,PC_HM10,
	PC_LM22} and h not-NULL, set h->non_got_ref.  For global data
	symbol references, count the number of relocations needed for
	that symbol.  For default switch case, don't error, this lets
	the TLS relocs not explicitly handled by this function get
	accepted.
	(sparc64_elf_gc_mark_hook, sparc64_gc_sweep_hook): New functions.
	(sparc64_elf_adjust_dynamic_symbol): Remove dynobj local var, get
	it from sparc64_elf_hash_table.  Store the real PLT offset
	in h->plt.offset, and build PLT entries one at a time.  Also
	get .dynbss section pointer from htab.
	(allocate_dynrelocs, readonly_dynrelocs,
	sparc64_omit_section_dynsym): New functions.
	(sparc64_elf_omit_section_dynsym): Use these new functions as
	helpers.
	(dtpoff_base, tpoff): New functions.
	(sparc64_elf_relocate_section): Kill dynobj, sgot, and splt
	locals, get them from sparc64_elf_hash_table.  Handle TLS
	relocations and refcounting in main relocation loop.
	(sparc64_elf_finish_dynamic_symbol): Use
	sparc64_elf_link_hash_table.  Build PLT entries as we see
	them.  Handle TLS GOT relocations.
	(sparc64_elf_finish_dynamic_sections): Get sgot and dynobj
	from sparc64_elf_hash_table.  Initialize only PLT header
	not all entries since we not build PLT entries one by one.
	(elf_backend_copy_indirect_symbol, bfd_elf64_mkobject,
	elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook,
	elf_backend_can_gc_sections, elf_backend_can_refcount): Define.
ld/testsuite/
	* ld-selective/sel-dump.exp: Do not exclude sparc64-*.
	* ld-selective/selective.exp: Likewise.
	* ld-sparc/sparc.exp: Add {32,64}-bit prefix to test
	names so we know which one is failing.  Run sparc64 TLS
	tests on multi-arch sparc platforms.
	* ld-sparc/tls64.sd, ld-sparc/tlssunbin64.dd,
	ld-sparc/tlssunbin64.rd, ld/testsuite/ld-sparc/tlssunbin64.sd,
	ld-sparc/tlssunbin64.td, ld-sparc/tlssunnopic64.dd,
	ld-sparc/tlssunnopic64.rd, ld-sparc/tlssunnopic64.sd,
	ld-sparc/tlssunpic64.dd, ld-sparc/tlssunpic64.rd,
	ld-sparc/tlssunpic64.sd, ld-sparc/tlssunpic64.td): Update now
	that sparc64 ELF does support TLS.
2005-04-13 22:29:36 +00:00
H.J. Lu
e75a280b02 bfd/
2005-04-13  Daniel Jacobowitz  <dan@codesourcery.com>

	* elflink.c (elf_link_input_bfd): Update check for removed
	sections.

ld/testsuite/

2005-04-13  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-elf/empty.d: New file.
	* ld-elf/empty.s: Likewise.
2005-04-13 16:44:08 +00:00
Alan Modra
85f347f77d daily update 2005-04-13 00:00:07 +00:00
Alan Modra
ceae3e339f bfd/
* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* libcoff.h: Regenerate.
bfd/doc/
	* Makefile.in: Regenerate.
binutils/
	* Makefile.am: Run "make dep-am".
	(syslex.o, sysinfo.o, arparse.o, arlex.o): Add -Wno-error to command.
	(sysroff.o, defparse.o, deflex.o): Likewise.
	(nlmheader.o, rcparse.o, rclex.o): Likewise.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.
gas/
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
ld/
	* Makefile.am: Run "make dep-am".
	(ldgram.o, ldlex.o, deffilep.o): Add -Wno-error to command.
	* Makefile.in: Regenerate.
	* config.in: Regenerate.
2005-04-12 02:50:28 +00:00
Alan Modra
8e29614e7e daily update 2005-04-12 00:00:05 +00:00
H.J. Lu
ab82c5b97f 2005-04-11 H.J. Lu <hongjiu.lu@intel.com>
* linker.c (_bfd_generic_link_output_symbols): Also check if
	the output section of an input section has been removed from
	the output file.

	* section.c (bfd_section_list_remove): Clear the next field
	of the removed section.
	(bfd_section_removed_from_list): New.
	* bfd-in2.h: Regenerated.
2005-04-11 22:21:23 +00:00
Jakub Jelinek
bd695bcc90 2005-04-11 David S. Miller <davem@davemloft.net>
* elf32-sparc.c (elf32_sparc_relocate_section,
	R_SPARC_TLS_LDO_{HIX22,LOX10}): When not shared, transition to
	R_SPARC_TLS_LE_{HIX22,LOX10}.
	(elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_HIX22): Only
	xor relocation with 0xffffffff if R_SPARC_TLS_LE_HIX22.
	(elf32_sparc_relocate_section, R_SPARC_TLS_{LDO,LE}_LOX10): Only
	or 0x1c00 into relocation if R_SPARC_TLS_LE_HIX22.

	* ld-sparc/tlssunbin32.dd: Update for TLS relocation fixes.
	* ld-sparc/tlssunbin32.rd: Likewise.
	* ld-sparc/tlssunbin32.sd: Likewise.
	* ld-sparc/tlssunpic32.dd: Likewise.
2005-04-11 22:13:28 +00:00
H.J. Lu
b5b2699cd6 2005-04-11 H.J. Lu <hongjiu.lu@intel.com>
* coffcode.h (STRING_SIZE_SIZE): Updated to match libcoff-in.h.
2005-04-11 16:55:48 +00:00
Nick Clifton
116c20d240 Convert to ISO C90 formatting 2005-04-11 08:23:05 +00:00
Alan Modra
c84d9728ba daily update 2005-04-11 00:00:10 +00:00
Alan Modra
f65a6fe0b4 daily update 2005-04-10 00:00:04 +00:00
Alan Modra
a5fb67e34a daily update 2005-04-09 00:00:09 +00:00
Paul Brook
8f6277f5c0 2005-04-08 Paul Brook <paul@codesourcery.com>
* elf32-arm.c (ARM2THUMB_GLUE_SIZE): Rename...
	(ARM2THUMB_STATIC_GLUE_SIZE): ... to this.
	(ARM2THUMB_PIC_GLUE_SIZE): Define.
	(a2t1p_ldr_insn, a2t2p_add_pc_insn, a2t3p_bx_r12_insn): Add.
	(elf32_arm_to_thumb_stub): Create PIC stubs.
	(record_arm_to_thumb_glue): Use different stub size for relocatable
	images.
2005-04-08 11:47:59 +00:00
Alan Modra
f8569bd74f daily update 2005-04-08 00:00:06 +00:00
Alan Modra
23a64347c9 daily update 2005-04-07 00:00:06 +00:00
Alan Modra
7a481748b8 daily update 2005-04-06 00:00:08 +00:00
Alan Modra
8c1d1bb8a2 * elf64-ppc.c (dec_dynrel_count): New function split out from
ppc64_elf_edit_toc, with additional code from ppc64_elf_edit_opd.
	(ppc64_elf_edit_toc, ppc64_elf_edit_opd): Use it.
	(ppc64_elf_tls_optimize): Likewise.
2005-04-05 12:16:38 +00:00
Nick Clifton
8c1017202f Provide .wcookie section for OpenBSD/sparc64. 2005-04-05 08:01:18 +00:00
Nick Clifton
429cc0ae05 New translation: Kinyarwanda 2005-04-05 07:58:41 +00:00
Richard Sandiford
cc2e31b90b * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME_P): New macro.
(_bfd_mips_elf_section_from_shdr): Use it to check for recognized
	SHT_MIPS_OPTIONS names.  Allow all sections with unrecognised
	section flags.
	(_bfd_mips_elf_fake_sections): Use MIPS_ELF_OPTIONS_SECTION_NAME_P
	to check for SHT_MIPS_OPTIONS sections.
	(_bfd_mips_elf_set_section_contents): Likewise.
2005-04-05 07:35:12 +00:00
Eric Christopher
8236346f46 2005-04-04 Eric Christopher <echristo@redhat.com>
* elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents):
	Clean up gp handling code.
2005-04-05 06:58:46 +00:00
H.J. Lu
da9f89d4e2 bfd/
2005-04-04  H.J. Lu  <hongjiu.lu@intel.com>

	* elf.c (bfd_elf_set_group_contents): Ignore linker created
	group section.
	(assign_section_numbers): Accept link_info. Check SHT_GROUP
	sections for relocatable files only. Remove the linker created
	group sections.
	(_bfd_elf_compute_section_file_positions): Pass link_info to
	assign_section_numbers.

	* elfxx-ia64.c (elfNN_ia64_object_p): New.
	(elf_backend_object_p): Defined.

gas/

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

	* config/tc-ia64.c (start_unwind_section): Undo the change
	of 2004-08-18.
	(generate_unwind_image, dot_endp): Likewise.
2005-04-05 04:01:12 +00:00
H.J. Lu
7e4111adb2 2005-04-04 H.J. Lu <hongjiu.lu@intel.com>
* elf.c (bfd_elf_set_group_contents): Ignore linker created
	group section.
2005-04-05 02:47:18 +00:00
Alan Modra
794406d6bf daily update 2005-04-05 00:00:05 +00:00
H.J. Lu
96982dc91f 2005-04-04 H.J. Lu <hongjiu.lu@intel.com>
* elf-bfd.h (elf_section_data): Use (sec) instead of sec.
2005-04-04 16:11:02 +00:00
Alan Modra
ec74bb7502 daily update 2005-04-04 00:00:05 +00:00
Fred Fish
a13afe8eb5 Apply patch for binutils bug 806, approved by nickc@redhat.com.
2005-04-03  Fred Fish  <fnf@specifixinc.com>
	* dwarf2.c (struct dwarf2_debug): Add dwarf_ranges_buffer and
	dwarf_ranges_size members.
	(struct comp_unit): Add base_address member.
	(struct funcinfo): Replace low/high members with an arange.
	(arange_add): Replace incoming "unit" parameter with "abfd" and
	"first_arange" pointers.  Reorganize/rewrite function body.
	(decode_line_info): Change arange_add call to pass bfd and arange
	pointers.
	(lookup_address_in_line_info_table): Use arange list instead of
	individual low/high members.  Walk function's arange list to find
	lowest PC in list, to test for overlapping functions.
	(read_debug_ranges): New function, reads the debug_ranges section.
	(lookup_address_in_function_table): Use arange list instead of
	individual low/high members.  Rewrite to find smallest range that
	matches.
	(read_rangelist): Read a given rangelist from debug_ranges.
	(scan_unit_for_functions): Use arange list instead of individual
	low/high members.  Handle a DW_AT_ranges attribute.
	(parse_comp_unit): Use arange list instead of individual low/high
	members.  Save comp unit base address.  Handle a DW_AT_ranges
	attribute.
2005-04-03 20:36:37 +00:00
Alan Modra
26dae57f14 daily update 2005-04-03 00:00:05 +00:00
Alan Modra
301e5c4a6a daily update 2005-04-02 00:00:09 +00:00
H.J. Lu
2796fd96ba 2005-04-01 H.J. Lu <hongjiu.lu@intel.com>
* elf.c (assign_section_numbers): Really use the kept section.
2005-04-01 20:52:24 +00:00
H.J. Lu
01b3c8abd1 2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
* elf-bfd.h (_bfd_elf_check_kept_section): New.

	* elf.c (assign_section_numbers): When sh_link points to a
	discarded section, call _bfd_elf_check_kept_section to see if
	the kept section can be used. Otherwise reject sh_link
	pointing to discarded section.

	* elflink.c (_bfd_elf_check_kept_section): New.
	(elf_link_input_bfd): Use it.
2005-04-01 03:49:46 +00:00
Alan Modra
3509047186 * elf64-ppc.c (ppc64_elf_edit_toc): Account for dynamic relocs
that we no longer need.
2005-04-01 02:50:15 +00:00
Alan Modra
77623a344f (ppc64_elf_check_relocs): Remove unnecessary SEC_ALLOC check. 2005-04-01 02:40:35 +00:00
Alan Modra
7356fed57f * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Return -1 on errors
rather than 0.
2005-04-01 02:35:41 +00:00
H.J. Lu
28b1374403 2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
* elf.c (assign_section_numbers): Fix a typo.
2005-04-01 00:30:49 +00:00
Alan Modra
dca8d0afa1 daily update 2005-04-01 00:00:05 +00:00
H.J. Lu
c93625e2d2 2005-03-31 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (elf_link_input_bfd): Remove the extra `\n' in
	error message.
	(_bfd_elf_section_already_linked): Likewise.
2005-03-31 23:45:30 +00:00
Jerome Guitton
fddc4048e5 * bfd/config.in: Regenerate. 2005-03-31 16:09:03 +00:00
Jerome Guitton
2e9ebff5c7 * bfd/config.in (HAVE_DECL_BASENAME): New configure macro.
* bfd/configure.in: Check for basename.
	* bfd/configure: Regenerate.
2005-03-31 15:35:38 +00:00
Alan Modra
0f2d00bca8 daily update 2005-03-31 00:00:05 +00:00
Julian Brown
05ea83ed21 * bfd/bfd-in.h (bfd_is_arm_mapping_symbol_name): Rename from
bfd_elf32_is_arm_mapping_symbol_name.
	* bfd/bfd-in2.h: Regenerate.
	* bfd/cpu-arm.c (bfd_is_arm_mapping_symbol_name): Rename from
	bfd_elf32_is_arm_mapping_symbol_name.
	* bfd/elf32-arm.c (elf32_arm_is_target_special_symbol): Rename
	bfd_elf32_is_arm_mapping_symbol_name to bfd_is_arm_mapping_symbol_name.
	(arm_elf_find_function): Likewise.
	(elf32_arm_output_symbol_hook): Likewise.
	* gas/config/tc-arm.c (arm_adjust_symtab): Likewise.
2005-03-30 17:19:29 +00:00
Julian Brown
9d2da7ca8d * bfd/bfd-in.h (bfd_elf32_is_arm_mapping_symbol_name): Add prototype.
* bfd/bfd-in2.h: Regenerate.
	* bfd/elf32-arm.c (elf32_arm_is_target_special_symbol): Rename call to
	bfd_elf32_is_arm_mapping_symbol_name.
	(elf32_arm_output_symbol_hook): Likewise.
	(arm_elf_find_function): Likewise, and include STT_NOTYPE in test for
	mapping symbols.
	(is_arm_mapping_symbol_name): Function moved from here...
	* bfd/cpu-arm.c (bfd_elf32_is_arm_mapping_symbol_name): ...to here,
	renamed and made global.
	* gas/config/tc-arm.c (mapping_state): Change documentation in function
	comment to cross-reference spec instead. Change type of mapping symbols
	to BSF_NO_TYPE.
	(arm_adjust_symtab): Don't change type of mapping symbols here.
	* gas/testsuite/gas/arm/mapping.d: Update expected output.
	* ld/testsuite/ld-arm/arm-app-abs32.d: Likewise.
	* ld/testsuite/ld-arm/arm-app.d: Likewise.
	* ld/testsuite/ld-arm/mixed-app.d: Likewise.
2005-03-30 16:22:07 +00:00
Aaron W. LaFramboise
efa9bda482 * configure.in: Check for ffs decl and alphabetize.
* config.in: Regenerate.
	* configure: Regenerate.
	* sysdep.h [NEED_DECLARATION_FFS] (ffs): Prototype and
	alphabetize.
2005-03-30 02:46:25 +00:00
Alan Modra
491c40da28 daily update 2005-03-30 00:00:05 +00:00
Fred Fish
09a9d560e1 Approved by nickc@redhat.com
2005-03-29  Fred Fish  <fnf@specifixinc.com>
	* dwarf2.c (struct comp_unit): Fix typo.
	(scan_unit_for_functions): Remove unused local variable "name"
	and dead code that set it.
2005-03-29 20:10:42 +00:00
Daniel Jacobowitz
ba93b8aced bfd/
* bfd-in2.h, libbfd.h: Regenerated.
	* reloc.c: Add ARM TLS relocations.
	* elf32-arm.c (elf32_arm_howto_table): Add dynamic TLS
	relocations.
	(elf32_arm_tls_gd32_howto, elf32_arm_tls_ldo32_howto)
	(elf32_arm_tls_ldm32_howto, elf32_arm_tls_le32_howto)
	(elf32_arm_tls_ie32_howto): New.
	(elf32_arm_howto_from_type): Support TLS relocations.
	(elf32_arm_reloc_map): Likewise.
	(elf32_arm_reloc_type_lookup): Likewise.
	(TCB_SIZE): Define.
	(struct elf32_arm_obj_tdata): New.
	(elf32_arm_tdata, elf32_arm_local_got_tls_type): Define.
	(elf32_arm_mkobject): New function.
	(struct elf32_arm_relocs_copied): Add pc_count.
	(elf32_arm_hash_entry, GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD)
	(GOT_TLS_IE): Define.
	(struct elf32_arm_link_hash_table): Add tls_ldm_got.
	(elf32_arm_link_hash_newfunc): Initialize tls_type.
	(elf32_arm_copy_indirect_symbol): Copy pc_count and tls_type.
	(elf32_arm_link_hash_table_create): Initialize tls_ldm_got.
	(dtpoff_base, tpoff): New functions.
	(elf32_arm_final_link_relocate): Handle TLS relocations.
	(IS_ARM_TLS_RELOC): Define.
	(elf32_arm_relocate_section): Warn about TLS mismatches.
	(elf32_arm_gc_sweep_hook): Handle TLS relocations and pc_count.
	(elf32_arm_check_relocs): Detect invalid symbol indexes.  Handle
	TLS relocations and pc_count.
	(elf32_arm_adjust_dynamic_symbol): Check non_got_ref.
	(allocate_dynrelocs): Handle TLS.  Bind REL32 relocs to local
	calls.
	(elf32_arm_size_dynamic_sections): Handle TLS.
	(elf32_arm_finish_dynamic_symbol): Likewise.
	(bfd_elf32_mkobject): Define.
gas/
	* config/tc-arm.c (arm_parse_reloc): Add TLS relocations.
	(md_apply_fix3): Mark TLS symbols.
	(tc_gen_reloc): Handle TLS relocations.
	(arm_fix_adjustable): Ignore TLS relocations.
	(s_arm_elf_cons): Support expressions after decorated symbols.
gas/testuite/
	* gas/arm/tls.s, gas/arm/tls.d: New files.
	* gas/arm/arm.exp: Run TLS test.
include/elf/
	* arm.h: Add TLS relocations.
ld/testsuite/
	* ld-arm/tls-lib.s, ld-arm/tls-lib.d, ld-arm/tls-lib.r,
	ld-arm/tls-app.s, ld-arm/tls-app.d, ld-arm/tls-app.r: New files.
	* ld-arm/arm-lib.ld, ld-arm/arm-dyn.ld: Increase data segment
	alignment.
	* ld-arm/arm-elf.exp: Run TLS tests.
2005-03-29 16:54:22 +00:00
Daniel Jacobowitz
71a976dd82 * elf32-arm.c (elf32_arm_check_relocs): Increment count for all
relocation types.  Don't count relocations which will use a PLT.
2005-03-29 16:39:51 +00:00
Joel Brobecker
7e7353ed54 * elf.c (elfcore_grok_nto_status): Print tid as long.
(elfcore_grok_nto_regs): Likewise.
2005-03-29 08:51:59 +00:00
Joel Brobecker
166856d77d * irix-core.c: Remove some unnecessary prototypes. 2005-03-29 08:34:48 +00:00
Joel Brobecker
40f8590059 * irix-core.c: Convert to ISO C. 2005-03-29 04:48:45 +00:00
Joel Brobecker
aa2e06ba60 * irix-core.c (do_sections): Replace + by | in expression.
(irix_core_core_file_matches_executable_p): Add ATTRIBUTE_UNUSED
        to unused parameters to avoid a compiler warning.
2005-03-29 04:19:34 +00:00
Alan Modra
b05fa4991a daily update 2005-03-29 00:00:05 +00:00
Mark Kettenis
832bc18607 * netbsd-core.c: Convert to ISO C. Fix formatting. 2005-03-28 14:18:55 +00:00
H.J. Lu
8e80a8ad6b Update BFD_VERSION_DATE to 20050327 by hand. 2005-03-27 18:57:08 +00:00
Eric Christopher
82f0cfbdcc 2005-03-24 Eric Christopher <echristo@redhat.com>
* elfxx-mips.c: Revert previous patch.

2005-03-24  Eric Christopher  <echristo@redhat.com>

	* ld-mips-elf/rel32-n32.d: Revert changes.
	* ld-mips-elf/rel32-o32.d: Ditto.
	* ld-mips-elf/rel64.d: Ditto.
2005-03-24 22:47:52 +00:00
Nick Clifton
d7b9976fce (_bfd_target_vector): Only include the bfd_elf32_ia64_hpux_big_vec vector
when building a 64-bit BFD with	all targets enabled.
2005-03-24 21:02:19 +00:00
Nick Clifton
074d327a4c (BFD32_BACKENDS): Delete elf32-ia64.lo.
(BFD64_BACKENDS): Add elf32-ia64.lo.
2005-03-24 09:26:27 +00:00
Eric Christopher
cc27e1dc44 bfd/ChangeLog:
2005-03-23  Eric Christopher  <echristo@redhat.com>

	* elfxx-mips.c (MIPS_ELF_READONLY_SECTION): New.
	(mips_elf_calculate_relocation): Use. Define DF_TEXTREL
	after emitting relocation.
	(_bfd_mips_elf_adjust_dynamic_symbol): Ditto.
	(_bfd_mips_elf_check_relocs): Remove code to set DF_TEXTREL
	and readonly_reloc.

ld/testsuite/ChangeLog:

2005-03-23  Eric Christopher  <echristo@redhat.com>

	* ld-mips-elf/textrel-1.s, ld-mips-elf/textrel-1.d: New
	test.
	* ld-mips-elf/mips-elf.exp: Call it.
	* ld-mips-elf/rel32-n32.d: Update for DF_TEXTREL removal.
	* ld-mips-elf/rel32-o32.d: Ditto.
	* ld-mips-elf/rel64.d: Ditto.
2005-03-24 01:30:47 +00:00
Nick Clifton
ed84e69560 Accept any C library to accompany a GNU Linux implementation, not just the GNU
C library.
2005-03-23 15:35:50 +00:00
H.J. Lu
81e1b023da bfd/
2005-03-22  H.J. Lu  <hongjiu.lu@intel.com>

	* bfd-in.h (_bfd_elf_provide_symbol): New.
	* bfd-in2.h: Regenerated.

	* elf32-ppc.c (set_linker_sym): Moved to elflink.c.
	(ppc_elf_set_sdata_syms): Call _bfd_elf_provide_symbol instead
	of set_linker_sym.

	* elflink.c (_bfd_elf_provide_symbol): New. Moved and renamed
	from elf32-ppc.c.

ld/

2005-03-22  H.J. Lu  <hongjiu.lu@intel.com>

	* emultempl/elf32.em (gld${EMULATION_NAME}_provide_bound_symbols): New
	(gld${EMULATION_NAME}_finish): Call
	gld${EMULATION_NAME}_provide_bound_symbols to provide
	__preinit_array_start, __preinit_array_end, __init_array_start,
	__init_array_end, __fini_array_start and __fini_array_end.

	* scripttempl/elf.sc: Don't provide __preinit_array_start,
	__preinit_array_end, __init_array_start, __init_array_end,
	__fini_array_start nor __fini_array_end.
2005-03-23 04:14:46 +00:00
Alan Modra
8d29b8fc1b daily update 2005-03-22 23:00:05 +00:00
Hans-Peter Nilsson
672c2d7e52 * hash.c (strtab_hash_newfunc): Fix typo in allocated size. 2005-03-22 21:52:52 +00:00
Bob Wilson
1fbc7e7aee include ChangeLog
* xtensa-isa.h: Update a comment and whitespace.
bfd ChangeLog
	* xtensa-isa.c (xtensa_opcode_lookup, xtensa_state_lookup,
	xtensa_sysreg_lookup_name, xtensa_interface_lookup,
	xtensa_funcUnit_lookup): Skip bsearch call if count is zero.
	(xtensa_opcode_decode): Rearrange code.
2005-03-22 19:31:28 +00:00
Nick Clifton
afe94956ca Oops - fix typo in ISO-C90ifcation 2005-03-22 18:43:09 +00:00
Nick Clifton
46e94266ae Oops - fix typos and finish of ISO-C90'fication of ieee.c 2005-03-22 18:03:26 +00:00
Nick Clifton
c8e7bf0d21 Convert to ISO C90 formatting. 2005-03-22 16:14:43 +00:00
Daniel Jacobowitz
28a094c2cc * elf32-arm.c (elf32_arm_final_link_relocate): Don't fail for
unresolved symbols in R_ARM_NONE relocations.
2005-03-22 15:39:32 +00:00
Daniel Jacobowitz
0945cdfd61 * elf32-arm.c (elf32_arm_final_link_relocate): Add
UNRESOLVED_RELOC_P argument.  Set it appropriately.
	(elf32_arm_relocate_section): Update call to
	elf32_arm_final_link_relocate.  Don't clobber RELOCATION; use
	unresolved_reloc instead.
2005-03-22 15:39:08 +00:00
Alan Modra
11d2f718eb bfd/
* elflink.c (elf_link_add_object_symbols): Set SEC_EXCLUDE on
	.gnu.warning.* sections.
ld/
	* emultempl/elf32.em (gld${EMULATION_NAME}_before_allocation): Set
	SEC_EXCLUDE on .gnu.warning sections.
2005-03-22 14:49:16 +00:00
Alan Modra
76750a2f8d * elf32-ppc.c (elf_linker_section_pointers_t): Remove
written_address_p.
	(ppc_elf_create_linker_section): Don't try to reuse existing section.
	(elf_create_pointer_linker_section): Delete info parm.  Don't make
	h dynamic.  Don't set written_address_p.
	(ppc_elf_check_relocs): Adjust ppc_elf_create_linker_section calls.
	(bfd_put_ptr): Delete.
	(elf_finish_pointer_linker_section): Remove output_bfd and info parms.
	Always write section contents.  Assert global sym is def_regular.
	Use offset bottom bit as a written flag.
	(ppc_elf_relocate_section): Adjust elf_finish_pointer_linker_section
	calls.
2005-03-22 13:32:57 +00:00
Alan Modra
f85f57adbc * elf32-ppc.c (ppc_elf_set_sdata_syms): New function, extracted from..
(ppc_elf_set_sdata_syms): ..here.  Expand comment.  Set .sbss start
	and end syms.
2005-03-22 03:23:51 +00:00
Alan Modra
cc42d39760 daily update 2005-03-21 23:00:05 +00:00
Nick Clifton
2dc773a026 (coff_link_hash_entry): Only define for non WINCE targets.
(t2a1_bx_pc_insn): Likewise.
(t2a2_noop_insn): Likewise.
(t2a3_b_insn): Likewise.
(t2a1_push_insn): Likewise.
(t2a2_ldr_insn): Likewise.
(t2a3_mov_insn): Likewise.
(t2a4_bx_insn): Likewise.
(t2a5_pop_insn): Likewise.
(t2a6_bx_insn): Likewise.
(coff_arm_relocate_section): Only declare the high_address variable for non
WINCE targets.
2005-03-21 15:43:38 +00:00
Alan Modra
644285efef bfd/
* elf32-ppc.c (ppc_elf_add_symbol_hook): Make htab->sbss
	SEC_LINKER_CREATED.  Attach to dynobj.
	(ppc_elf_size_dynamic_sections): Strip htab->sbss if zero size.
ld/
	* scripttempl/elf.sc (SBSS): Don't provide sbss start and end syms.
ld/testsuite/
	* ld-powerpc/tlsexe32.r: Update.
	* ld-powerpc/tlsso32.d: Update.
	* ld-powerpc/tlsso32.g: Update.
	* ld-powerpc/tlsso32.r: Update.
2005-03-21 13:56:57 +00:00
Alan Modra
c9a2f3330b bfd/
* elf32-ppc.c (struct elf_linker_section): Remove sym_hash and
	sym_offset.  Add name, bss_name, sym_name, sym_val.
	(struct ppc_elf_link_hash_table): Remove sdata and sdata2 pointers.
	Add sdata array of elf_linker_section_t.
	(ppc_elf_link_hash_table_create): Set name, sym_name, and bss_name.
	(enum elf_linker_section_enum): Delete.
	(ppc_elf_create_linker_section): Rewrite.  Don't create syms here.
	(ppc_elf_check_relocs): Delay ppc_elf_create_linker_section until
	the special sections are needed.  Adjust htab->sdata refs.
	Ensure dynobj is set in sreloc code.
	(ppc_elf_size_dynamic_sections): Strip sdata sections.
	(ppc_elf_set_sdata_syms): New function.
	(elf_finish_pointer_linker_section): Use 0x8000 for sym_offset.
	(ppc_elf_relocate_section): Adjust references to htab->sdata.  Use
	sym_val instead of sym_hash.
	* elf32-ppc.h (ppc_elf_set_sdata_syms): Declare.
ld/
	* emultempl/ppc32elf.em (gld${EMULATION_NAME}_after_allocation): New
	function.
	(LDEMUL_AFTER_ALLOCATION): Define.
2005-03-21 13:23:15 +00:00
Alan Modra
8853c3d336 * elf32-ppc.c (is_ppc_elf_target): Move to linker part of file.
(ppc_elf_merge_private_bfd_data): Likewise.
2005-03-21 12:24:10 +00:00
Alan Modra
2bb04cf221 * elf32-ppc.c (struct elf_linker_section): Remove rel_section.
(ppc_elf_create_linker_section): Don't create rel_section.
	(elf_create_pointer_linker_section): Don't size relocs.
	(elf_finish_pointer_linker_section): Remove relative_reloc parm.
	Don't generate relocs.
	(ppc_elf_relocate_section): Adjust calls to
	elf_finish_pointer_linker_section.
2005-03-21 12:09:13 +00:00
Alan Modra
d2663f46ec * elf32-ppc.c (is_ppc_elf_target): New function.
(ppc_elf_merge_private_bfd_data): Use it rather than just testing
	for bfd_target_elf_flavour.  Do this test before endian check.
	(ppc_elf_add_symbol_hook): Use is_pcc_elf_target.
	(ppc_elf_size_dynamic_sections): Likewise.
2005-03-21 11:22:24 +00:00
H.J. Lu
6dc132d920 2005-03-20 H.J. Lu <hongjiu.lu@intel.com>
* elf-bfd.h (elf_backend_data): Add int to
	elf_backend_section_from_shdr.
	(bfd_elf_section_data): Update comment for this_idx.
	(_bfd_elf_make_section_from_shdr): Add int.
	* elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.

	* elf.c (_bfd_elf_make_section_from_shdr): Take section index
	and use it to set this_idx in bfd_elf_section_data.
	(bfd_section_from_shdr): Pass shindex to
	_bfd_elf_make_section_from_shdr.
	(_bfd_elf_section_from_bfd_section): Use this_idx in
	bfd_elf_section_data to find section index.

	* elf32-arm.c (elf32_arm_section_from_shdr): Take section
	index and pass it to _bfd_elf_make_section_from_shdr.
	* elf32-i370.c(i370_elf_section_from_shdr): Likewise.
	* elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
	* elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
	* elf32-v850.c (v850_elf_section_from_shdr): Likewise.
	* elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
	* elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
	* elf64-x86-64.c (elf64_x86_64_section_from_shdr): Likewise.
	* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
2005-03-20 23:36:19 +00:00
Alan Modra
a4cd38bc61 daily update 2005-03-20 23:00:04 +00:00
Alan Modra
b33015791c daily update 2005-03-19 23:00:06 +00:00
Danny Smith
cabd4ccc81 * peicode.h (pe_ILF_build_a_bfd): Strip only one prefix
character in IMPORT_NAME_UNDECORATE and IMPORT_NAME_NOPREFIX
	cases.  Add comment.
2005-03-19 06:48:31 +00:00
H.J. Lu
7451fd8967 2005-03-18 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (elf_mark_used_section): Remove check for special
	sections.
2005-03-18 23:51:21 +00:00
Alan Modra
d40e2883cc daily update 2005-03-18 23:00:05 +00:00
Andreas Schwab
b4677f0316 * elfxx-ia64.c (elfNN_ia64_install_value): Change type of insn
from bfd_vma to ia64_insn, remove broken cast.
2005-03-18 21:31:31 +00:00
Nick Clifton
238d258f72 Add support for generating PLT lookups for the ColdFire. 2005-03-18 17:20:33 +00:00
Mark Mitchell
b294bdf8d0 * elf32-arm.c (elf32_arm_modify_segment_map): New function.
(elf32_arm_additional_program_headers): Likewise.
	(elf_backend_modify_segment_map): Define.
	(elf_backend_additional_program_headers): Likewise.
	(elf32_arm_symbian_modify_segment_map): Use
	elf32_arm_modify_segment_map.

	* binutils/readelf.c (get_arm_segment_type): New function.
	(get_segment_type): Use it.

	* arm.h (PT_ARM_EXIDX): Define.
2005-03-18 17:06:16 +00:00
H.J. Lu
257a482034 2005-03-18 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (elf_mark_used_section): Check bfd_is_const_section
	for special sections.
2005-03-18 15:46:25 +00:00
Alan Modra
554220db5b * elf-bfd.h (_bfd_elf_link_renumber_dynsyms): Delete.
* elflink.c (_bfd_elf_link_renumber_dynsyms): Make static, add
	section_sym_count param, and return number of section symbols.
	(bfd_elf_size_dynamic_sections): Clear section symbol area of
	.dynsym contents.  Don't bother calling swap_symbol_out on the
	first all-zero dynsym.
	(elf_mark_used_section): Formatting.  Avoid twiddling flags in
	special sections like bfd_abs_section.
	(bfd_elf_gc_sections): Spelling fix.
2005-03-18 13:21:11 +00:00
Alan Modra
315adc8917 daily update 2005-03-17 23:00:05 +00:00
Nick Clifton
36868d45f8 (read_indirect_string): Fix apparent typo, check dwarf_str_buffer allocation,
not dwarf_abbrev_buffer.
2005-03-17 08:24:28 +00:00
Alan Modra
9050699f3f daily update 2005-03-16 23:00:06 +00:00
H.J. Lu
57316bff0a bfd/
2005-03-16  H.J. Lu  <hongjiu.lu@intel.com>

	* elflink.c (elf_mark_used_section): New.
	(bfd_elf_gc_sections): Call elf_gc_mark_section for
	non-relocatable link if we don't do GC.

include/

2005-03-16  H.J. Lu  <hongjiu.lu@intel.com>

	* bfdlink.h (bfd_link_info): Add gc_sections.

ld/

2005-03-16  H.J. Lu  <hongjiu.lu@intel.com>

	* emultempl/elf32.em (gld${EMULATION_NAME}_finish): Remove
	unused empty output sections for non-relocatable link.

	* ld.h (args_type): Remove gc_sections.

	* ldlang.c (lang_mark_used_section): New.
	(lang_gc_sections): Use link_info.gc_sections instead of
	command_line.gc_sections.
	* ldmain.c (main): Likewise.
	* lexsup.c (parse_args): Likewise.
	* ldlang.c (lang_process): Call lang_mark_used_section.

	* ldmain.c (main): Initialize link_info.gc_sections to FALSE.

ld/testsuite/

2005-03-16  H.J. Lu  <hongjiu.lu@intel.com>

	* ld-alpha/tlsbin.rd: Updated for empty section removal.
	* ld-alpha/tlsbinr.rd: Likewise.
	* ld-alpha/tlspic.rd: Likewise.
	* ld-arm/mixed-lib.sym: Likewise.
	* ld-i386/tlsbin.rd: Likewise.
	* ld-i386/tlsnopic.rd: Likewise.
	* ld-i386/tlspic.rd: Likewise.
	* ld-ia64/tlsbin.rd: Likewise.
	* ld-ia64/tlspic.rd: Likewise.
	* ld-powerpc/apuinfo.rd: Likewise.
	* ld-powerpc/powerpc.exp: Likewise.
	* ld-powerpc/tlsexe32.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-sparc/tlssunbin32.rd: Likewise.
	* ld-sparc/tlssunnopic32.rd: Likewise.
	* ld-sparc/tlssunpic32.rd: Likewise.
	* ld-x86-64/tlsbin.rd: Likewise.
	* ld-x86-64/tlspic.rd: Likewise.
2005-03-16 21:52:48 +00:00
Nick Clifton
569acd2ce2 Rename switch to enable/disable -Werror to --enable-werror/--disable-werror
for compatibility with gcc.
2005-03-16 17:18:17 +00:00
Nick Clifton
1ad12f975f Enable -Werror by default 2005-03-16 16:17:14 +00:00
Nick Clifton
3b5d3310ee Convert to ISO C90 formatting. 2005-03-16 14:37:15 +00:00
Alan Modra
25dbc73a85 * elf32-ppc.c: Divide file into general and linker specific
functions.  Sort linker functions into roughly the order in which
	they are called by the ELF linker code.
2005-03-16 06:11:51 +00:00
Alan Modra
cb2d1ef2ae bfd/
* elf32-ppc.c (ppc_elf_create_linker_section): Set SEC_LINKER_CREATED
	on section.  Correct comment, and add FIXME.
	(ppc_elf_additional_program_headers): Don't bump header count for
	interp.  Test SEC_ALLOC, not SEC_LOAD, and don't test size.
	(ppc_elf_size_dynamic_sections): Don't strip sdata and sdata2, but
	do allocate memory if they need it.
ld/
	* emulparams/elf32ppclinux.sh (OTHER_READWRITE_SECTION): Delete.
	(OTHER_RELRO_SECTIONS): Set this instead.
ld/testsuite/
	* ld-powerpc/tlsexe32.d: Update.
	* ld-powerpc/tlsexe32.g: Update.
	* ld-powerpc/tlsexe32.r: Update.
	* ld-powerpc/tlsexe32.t: Update.
	* ld-powerpc/tlsso32.d: Update.
	* ld-powerpc/tlsso32.g: Update.
	* ld-powerpc/tlsso32.r: Update.
	* ld-powerpc/tlsso32.t: Update.
2005-03-16 02:41:28 +00:00
Alan Modra
ca07ff3495 daily update 2005-03-15 23:00:05 +00:00
Nick Clifton
34723071b5 Add support for an x86_64-elf target 2005-03-15 14:14:08 +00:00
Alan Modra
729ae8d20e Commit new Spanish translation. 2005-03-15 05:25:37 +00:00
Alan Modra
8e9c1e6d1c daily update 2005-03-14 23:00:05 +00:00
H.J. Lu
f05819304c 2005-03-14 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_ia64_relocate_section): Set symbo name
	for global symbol when reporting overflow.
2005-03-14 18:55:44 +00:00
Alan Modra
114bfe309a daily update 2005-03-13 23:00:05 +00:00
Alan Modra
3d982b6f53 daily update 2005-03-12 23:00:07 +00:00
Alan Modra
afea7a384b daily update 2005-03-11 23:00:06 +00:00
Jakub Jelinek
390c0e4288 * libbfd-in.h (_bfd_ar_spacepad): New prototype.
* libbfd.h: Rebuilt.
	* archive.c (_bfd_ar_spacepad): New function.
	(_bfd_construct_extended_name_table, _bfd_write_archive_contents,
	bsd_write_armap, _bfd_archive_bsd_update_armap_timestamp,
	coff_write_armap): Use it.
	(bfd_ar_hdr_from_filesystem): Likewise.  Fix HP-UX large
	uid/gid support.
	* archive64.c (bfd_elf64_archive_write_armap): Use _bfd_ar_spacepad.
2005-03-11 16:37:17 +00:00
Alan Modra
41bc16b289 daily update 2005-03-10 23:00:05 +00:00
Mark Kettenis
a2633f4e94 * archive.c (_bfd_look_for_bfd_in_cache): Move declaration of
has_table to the start of the function.
2005-03-10 21:26:53 +00:00
Ben Elliston
109f709619 * archive.c: Include hashtab.h.
(struct ar_cache): Rename `arelt' to `arbfd' and remove `next'.
	(_bfd_look_for_bfd_in_cache): Reimplement using htab_find.
	(hash_file_ptr): New function.
	(eq_file_ptr): Likewise.
	(_bfd_add_bfd_to_archive_cache): Reimplement using a hash table.
	* libbfd-in.h: Include hashtab.h.
	(struct artdata): Change `cache' member type to htab_t.
	* libbfd.h: Rebuild.
2005-03-10 00:29:35 +00:00
Alan Modra
291108ad01 daily update 2005-03-09 23:00:05 +00:00
Alan Modra
e4362844bc daily update 2005-03-08 23:00:05 +00:00
Daniel Jacobowitz
664fe1be18 * configure.in: Bump version to 2.16.90.
* configure: Regenerated.
2005-03-08 15:09:23 +00:00
Alan Modra
048325cf9c daily update 2005-03-07 23:00:05 +00:00
Jakub Jelinek
0709bb2246 * opncls.c (opncls_bread, opncls_bclose): Fix if pread resp.
close is a function like macro in system headers.
2005-03-07 10:32:38 +00:00
Alan Modra
b18e2ae59e PR ld/778
* elf32-hppa.c (elf32_hppa_create_dynamic_sections): Reinstate
	_GLOBAL_OFFSET_TABLE_ as a normal dynamic symbol.
2005-03-07 06:01:17 +00:00
Alan Modra
3ab8f84c9c daily update 2005-03-06 23:00:05 +00:00
Alan Modra
1f17067849 * elf.c (elfcore_grok_win32pstatus): Warning fixes. 2005-03-06 02:02:15 +00:00
Alan Modra
486d6afcde daily update 2005-03-05 23:00:05 +00:00
Alan Modra
06647dfdde Regenerate .pot files 2005-03-05 12:14:34 +00:00
Alan Modra
93f3fa9956 * elf64-ppc.c (update_plt_info): Don't mark new ABI call syms
with is_func.
	(func_desc_adjust): Force dot-syms local in executables as well
	as shared libs.
2005-03-05 11:44:14 +00:00
Thiemo Seufer
bbe506e8ba bfd/ChangeLog
* elfxx-mips.c (mips_elf_calculate_relocation): Handle special
	'__gnu_local_gp' symbol used by gas -mno-shared.

	gas/ChangeLog
	* config/tc-mips.c (macro_build_lui): Use '__gnu_local_gp'
	instead of '_gp' for -mno-shared optimization.
	(s_cpload): Ditto.
	(s_abicalls): Document it in the comment.
	(md_show_usage): Document the -mno-shared option.

	gas/testsuite/ChangeLog
	* gas/mips/elf-rel23b.d: Use '__gnu_local_gp' instead of '_gp'
	for -mno-shared optimization.
	* gas/mips/elf-rel25a.d: Ditto.

	ld/testsuite/ChangeLog
	* ld-mips-elf/multi-got-no-shared-1.s,
	ld-mips-elf/multi-got-no-shared-2.s,
	ld-mips-elf/multi-got-no-shared.d: New tests.
	* ld-mips-elf/mips-elf.exp: Run them.
2005-03-05 00:01:44 +00:00
Alan Modra
f829048aac daily update 2005-03-04 23:00:06 +00:00
Alan Modra
ed34f85a17 daily update 2005-03-03 23:00:06 +00:00
H.J. Lu
d27f5fa16e 2005-03-03 H.J. Lu <hongjiu.lu@intel.com>
* elf-bfd.h (elf_backend_data): Add "const char *" to
	elf_backend_section_from_phdr.

	* elf.c (bfd_section_from_phdr): Pass "proc" to the
	elf_backend_section_from_phdr hook.
2005-03-03 20:52:31 +00:00
Alan Modra
9553c6388c update copyright dates 2005-03-03 11:41:03 +00:00
Alan Modra
965baacd2a daily update 2005-03-02 23:00:05 +00:00
Daniel Jacobowitz
0f20cc3522 * elfxx-mips.c (struct mips_got_entry): Add tls_type.
(struct mips_got_info): Add tls_gotno, tls_assigned_gotno,
	and tls_ldm_offset.
	(struct mips_elf_got_per_bfd_arg): Add global_count.
	(struct mips_elf_count_tls_arg): New.
	(struct mips_elf_hash_sort_data): Update comment for min_got_dynindx.
	(struct mips_elf_link_hash_entry): Add tls_type and tls_got_offset.
	(GOT_NORMAL, GOT_TLS_GD, GOT_TLS_LDM, GOT_TLS_IE)
	(GOT_TLS_OFFSET_DONE, GOT_TLS_DONE): Define.
	(TLS_RELOC_P): Define.
	(TP_OFFSET, DTP_OFFSET): Define.
	(dtprel_base, tprel_base): New functions.
	(mips_elf_link_hash_newfunc): Initialize tls_type.
	(mips_elf_got_entry_hash, mips_elf_got_entry_eq)
	(mips_elf_multi_got_entry_hash, mips_elf_multi_got_entry_eq): Handle
	TLS entries.
	(mips_tls_got_relocs, mips_elf_count_local_tls_relocs)
	(mips_elf_count_global_tls_entries, mips_elf_count_global_tls_relocs)
	(mips_elf_output_dynamic_relocation, mips_elf_initialize_tls_slots)
	(mips_tls_got_index): New functions.
	(mips_elf_local_got_index): Add new R_SYMNDX, H, and R_TYPE
	arguments.  Pass them to mips_elf_create_local_got_entry.  Use
	mips_tls_got_index.
	(mips_elf_global_got_index): Add new R_TYPE and INFO arguments.
	Handle TLS entries.
	(mips_elf_got_page, mips_elf_got16_entry): Update calls to
	mips_elf_create_local_got_entry.
	(mips_elf_create_local_got_entry): Add new R_SYMNDX, H, and R_TYPE
	arguments.  Handle TLS entries.
	(mips_elf_sort_hash_table_f): Add non-TLS assertions.
	(mips_elf_record_local_got_symbol): Add new TLS_FLAG argument.  Handle
	TLS entries.
	(mips_elf_record_global_got_symbol): Likewise.
	(mips_elf_make_got_per_bfd): Initialize new mips_got_info members.
	Count TLS entries.
	(mips_elf_merge_gots): Handle TLS entries when merging.
	(mips_elf_initialize_tls_index): New function.
	(mips_elf_set_global_got_offset): Handle TLS entries.
	(mips_elf_adjust_gp): Handle TLS.
	(mips_elf_multi_got): Remove redundant call to
	mips_elf_resolve_final_got_entries.  Initialize global_count.
	Correct a comment.  Initialize new TLS members of mips_got_info.
	Assign TLS GOT indexes for new GOTs.
	(mips_elf_create_got_section): Initialize new TLS members of
	mips_got_info.
	(mips_elf_calculate_relocation): Handle TLS relocs.
	(_bfd_mips_elf_check_relocs): Likewise.  Update calls to changed
	functions.
	(_bfd_mips_elf_always_size_sections): Handle TLS.
	(_bfd_mips_elf_size_dynamic_sections): Likewise.
	(_bfd_mips_elf_finish_dynamic_symbol): Likewise.  Update calls to
	changed functions.
	(_bfd_mips_elf_copy_indirect_symbol): Copy tls_type.
	(_bfd_mips_elf_hide_symbol): Handle TLS.
	* elfn32-mips.c (elf_mips_howto_table_rel, elf_mips_howto_table_rela)
	(mips_reloc_map): Add TLS relocs.
	* elf32-mips.c (elf_mips_howto_table_rel, mips_reloc_map): Likewise.
	* elf64-mips.c (mips_elf64_howto_table_rel)
	(mips_elf64_howto_table_rela, mips_reloc_map): Likewise.
	* reloc.c: Define new MIPS TLS relocations.
	* libbfd.h, bfd-in2.h: Regenerated.
2005-03-02 21:23:21 +00:00
Jan Beulich
bb14f52400 bfd/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* Makefile.am: Add dependency of cache.o on libiberty.h.
	* cache.c: Include libiberty.h.
	(bfd_open_file): Use unlink_if_ordinary instead of unlink.

binutils/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* ar.c (remove_output): Use unlink_if_ordinary instead of unlink.
	* objcopy.c (copy_file): Likewise.
	(strip_main): Likewise.

gas/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* as.c (main): Use unlink_if_ordinary instead of unlink.
	* messages.c (as_fatal): Likewise.

ld/
2005-03-02  Jan Beulich  <jbeulich@novell.com>

	* ldmain.c (remove_output): Use unlink_if_ordinary instead of unlink.
	* pe-dll.c (pe_dll_generate_implib): Likewise.
2005-03-02 09:03:58 +00:00
Zack Weinberg
8c1acd095d * elf.c (bfd_section_from_shdr <default case>): Call
elf_backend_section_from_shdr hook unconditionally, and return
	what it returns.
	(bfd_section_from_phdr): Similarly, for elf_backend_section_from_phdr.
	* elfxx-target.h (elf_backend_section_from_shdr)
	(elf_backend_section_from_phdr): Default to
	_bfd_elf_make_section_from_shdr and _bfd_elf_make_section_from_phdr
	respectively.
2005-03-02 04:47:25 +00:00
Alan Modra
b79b65f6d8 daily update 2005-03-01 23:00:05 +00:00
Alan Modra
a67a7b8bf5 * targets.h: Typo fix.
* bfd-in2.h: Regenerate.
2005-03-01 01:56:27 +00:00
Alan Modra
70bfececf5 * bout.c (b_out_write_object_contents): Don't use sizeof on host
structs to size on-disk structures.
	(b_out_set_section_contents): Size the external struct, not the
	internal one for on-disk size.
	(b_out_sizeof_headers): Likewise.
2005-03-01 00:38:52 +00:00
Alan Modra
ceb1f1eff4 * elf64-ppc.c (ppc64_elf_size_stubs): Override defined dot-sym
entry points with the func descriptor as well as undefweak.
2005-02-28 23:00:40 +00:00
Alan Modra
b00b912563 daily update 2005-02-28 23:00:05 +00:00
Nick Clifton
f67e617a26 (pe_ILF_build_a_bfd): Do not assume that an @ will be present when
IMPORT_NAME_UNDOECRATE is used.
2005-02-28 16:07:33 +00:00
H.J. Lu
af44c13841 2005-02-28 H.J. Lu <hongjiu.lu@intel.com>
PR 757
	* elf-bfd.h (_bfd_elf_merge_symbol): Add a pointer to unsigned
	int.

	* elf32-sh-symbian.c (sh_symbian_relocate_section): Pass NULL
	to _bfd_elf_merge_symbol.

	* elflink.c (_bfd_elf_merge_symbol): Use the pointer to
	unsigned int to return the alignment of the old common symbol
	in the dynamic object.
	(_bfd_elf_add_default_symbol): Pass NULL to
	_bfd_elf_merge_symbol.
	(elf_link_add_object_symbols): Pass &old_alignment to
	_bfd_elf_merge_symbol. Get the alignment of the new common
	symbol in the dynamic object.
2005-02-28 15:57:13 +00:00
Alan Modra
0c10aee68f daily update 2005-02-27 23:00:05 +00:00
Alan Modra
b413488773 daily update 2005-02-26 23:00:07 +00:00
Alan Modra
6efe8f6c8a daily update 2005-02-25 23:00:06 +00:00
Alan Modra
3d3cf61741 daily update 2005-02-24 23:00:05 +00:00
Ben Elliston
10adf131a5 * coffcode.h (coff_sym_filepos): Remove GNU960 conditional code.
* format.c (bfd_check_format_matches): Likewise.
	* archive.c (BFD_GNU960_ARMAG): Likewise.
	(bfd_generic_archive_p): Likewise.
	(_bfd_write_archive_contents): Likewise.
2005-02-24 20:16:56 +00:00
H.J. Lu
60b779bff6 2005-02-24 H.J. Lu <hongjiu.lu@intel.com>
* configure.in: (AM_INIT_AUTOMAKE): Set version to 2.15.95.
	* configure: Regenerate.
2005-02-24 15:49:46 +00:00
Julian Brown
1f02cbd9ee * elflink.c (elf_link_add_object_symbols): Force symbols in
discarded COMDAT group sections to have default visibility.
2005-02-24 15:28:56 +00:00
Alan Modra
f60ca5e351 * coffcode.h (coff_print_aux): Warning fix.
* elf-m10300.c (mn10300_elf_relax_section): Use section->id
	instead of section pointer to identify.
	* coff-h8300.c (h8300_reloc16_extra_cases): Likewise.  Allocate
	the correct size buffer for local sym mangling too.
	(h8300_bfd_link_add_symbols): Likewise.
	* elf32-sh-symbian.c (sh_symbian_process_embedded_commands): Fix
	warning.
	* elf32-sh64.c (shmedia_prepare_reloc): Use %B and %p in error message
	* elf32-xtensa.c (literal_value_hash): Warning fix.
	* versados.c (process_otr): Warning fix.
	(versados_canonicalize_reloc): Likewise.
	* vms-gsd.c (_bfd_vms_slurp_gsd): Warning fix.
	* vms.c (fill_section_ptr): Warning fix.
2005-02-24 13:34:38 +00:00
Alan Modra
949caf8935 daily update 2005-02-23 23:00:06 +00:00
H.J. Lu
9a5d8e72e5 2005-02-22 H.J. Lu <hongjiu.lu@intel.com>
* coff-tic54x.c (SWAP_OUT_RELOC_EXTRA): Defined.
	* coff-tic80.c (SWAP_OUT_RELOC_EXTRA): Likewise.
2005-02-23 16:22:15 +00:00
Nick Clifton
abc0f8d0f2 Initialise bitfield. 2005-02-23 11:39:14 +00:00
Nick Clifton
9b69b847da (elf32_m68hc11_relocate_section): Initialise variables that are passed by
reference to m68hc11_get_relocation_value in case that function does not
initialise them.
2005-02-23 11:18:11 +00:00
Nick Clifton
90e868acaf (cr16c_elf_final_link_relocate): Remove duplicated return statements and
replace with a single return at the end of the function.  This helps pacify
the flow analysis code in gcc 4.0.
2005-02-23 09:56:44 +00:00
Nick Clifton
4b6c0f2fe9 (_bfd_elf_compute_section_file_positions): Initialise strtab to avoid compile
time warning.
2005-02-23 09:46:49 +00:00
Ben Elliston
c3e8c140a3 * opncls.c (bfd_zalloc): Document this function. 2005-02-23 03:49:41 +00:00
Alan Modra
9f36411e5c daily update 2005-02-22 23:00:07 +00:00
H.J. Lu
ebe372c1dd bfd/
2005-02-21  H.J. Lu  <hongjiu.lu@intel.com>

	* coffcode.h (sec_to_styp_flags): Replaced SEC_CLINK with
	SEC_TIC54X_CLINK. Replace SEC_BLOCK with SEC_TIC54X_BLOCK.
	Replace SEC_SHARED with SEC_COFF_SHARED.
	(styp_to_sec_flags): Likewise.

	* elfxx-target.h (TARGET_BIG_SYM): Remove SEC_ARCH_BIT_0.
	(TARGET_LITTLE_SYM): Likewise.

	* section.c (SEC_ARCH_BIT_0): Removed.
	(SEC_LINK_DUPLICATES_SAME_CONTENTS): Defined with
	SEC_LINK_DUPLICATES_ONE_ONLY and SEC_LINK_DUPLICATES_SAME_SIZE.
	(SEC_SHARED): Renamed to ...
	(SEC_COFF_SHARED): This.
	(SEC_BLOCK): Renamed to ...
	(SEC_TIC54X_BLOCK): This.
	(SEC_CLINK): Renamed to ...
	(SEC_TIC54X_CLINK): This.
	(SEC_XXX): Rearranged. Move SEC_COFF_SHARED_LIBRARY,
	SEC_COFF_SHARED, SEC_TIC54X_BLOCK and SEC_TIC54X_CLINK to the
	end.
	* bfd-in2.h: Regenerated.

binutils/

2005-02-21  H.J. Lu  <hongjiu.lu@intel.com>

	* objcopy.c (parse_flags): Replace SEC_SHARED with
	SEC_COFF_SHARED.

	* objdump.c (dump_section_header): Dump SEC_TIC54X_BLOCK and
	SEC_TIC54X_CLINK for TI c54x only. Remove SEC_ARCH_BIT_0. Dump
	SEC_COFF_SHARED for COFF only.

gas/

2005-02-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/obj-coff.c (obj_coff_section): Replace SEC_SHARED with
	SEC_COFF_SHARED.

	* config/tc-tic54x.c (tic54x_bss): Replace SEC_BLOCK with
	SEC_TIC54X_BLOCK.
	(demand_empty_rest_of_line): Likewise.
	(tic54x_sblock): Likewise.
	(tic54x_clink): Replace with SEC_CLINK with SEC_TIC54X_CLINK.

ld/

2005-02-21  H.J. Lu  <hongjiu.lu@intel.com>

	* ldlang.c (lang_add_section): Check SEC_TIC54X_BLOCK for TI
	tic54x input only.
	(lang_size_sections_1): Check SEC_COFF_SHARED_LIBRARY for COFF
	and ECOFF output only.
2005-02-22 00:50:07 +00:00
Alan Modra
954e66ebf4 daily update 2005-02-21 23:00:05 +00:00
Fred Fish
26bf4e3302 Approved by nickc@redhat.com:
2005-02-21  Fred Fish  <fnf@specifixinc.com>
	* dwarf2.c (find_abstract_instance_name): Call recursively
	to handle a DW_AT_specification.
2005-02-21 18:00:17 +00:00
Thiemo Seufer
e6daada38b * elfxx-mips.c (ecoff_swap_rpdr_out, mips_elf_output_extsym,
mips_elf_create_dynamic_relocation,
	_bfd_mips_elf_size_dynamic_sections, _bfd_mips_elf_final_link):
	Remove #if 0'd code.
2005-02-21 13:57:56 +00:00
Alan Modra
d25604af9f bfd/
* Makefile.am: Run "make dep-am"
	* Makefile.in: Regenerate.
bfd/doc/
	* Makefile.in: Regenerate.
2005-02-21 11:48:00 +00:00
Alan Modra
fedf8d51e0 * coffgen.c (bfd_coff_get_comdat_section): Check that
coff_section_data isn't NULL.
2005-02-21 11:21:29 +00:00
Alan Modra
9307c394da daily update 2005-02-20 23:00:06 +00:00
Alan Modra
f075ee0c61 include/
* xtensa-isa-internal.h (xtensa_length_decode_fn): Warning fix.
	* xtensa-isa.h (xtensa_insnbuf_to_chars): Likewise.
	(xtensa_insnbuf_from_chars, xtensa_isa_length_from_chars): Likewise.
include/coff/
	* xcoff.h (struct xcoff_loader_info): Warning fix.
bfd/
	* bfd-in.h (bfd_elf_bfd_from_remote_memory): Warning fix.
	* coff-m68k.c (bfd_m68k_coff_create_embedded_relocs): Likewise.
	* coff-rs6000.c (xcoff_write_armap_big): Warning fixes.  Remove
	useless assignments.
	(xcoff_write_archive_contents_big): Likewise.
	(_bfd_xcoff_put_ldsymbol_name): Likewise.
	* coff64-rs6000.c (_bfd_xcoff64_put_ldsymbol_name): Likewise.
	* coffgen.c (coff_write_symbols): Make "written" a bfd_vma.
	* cofflink.c (process_embedded_commands): Warning fixes.
	* cpu-arm.c: Delete unnecessary prototypes.  Convert to C90.
	Warning fixes.
	* dwarf2.c: Warning fixes.
	* elf-bfd.h: Likewise.
	* elf-eh-frame.c: Likewise.
	* elf-strtab.c: Likewise.
	* elf.c: Likewise.
	* elf32-m68k.c: Likewise.
	* elf32-ppc.c: Likewise.
	* elf32-sh-symbian.c: Likewise.
	* elf32-sh.c: Delete unnecessary prototypes.  Warning fixes.
	* elf64-sh64.c: Likewise.
	* peicode.h: Likewise.
	* elf64-mmix.c: Warning fixes.
	* elfcode.h: Likewise.
	* elfxx-mips.c: Likewise.
	* libbfd-in.h: Likewise.
	* libbfd.c: Likewise.
	* mach-o.c: Likewise.
	* merge.c: Likewise.
	* mmo.c: Likewise.
	* opncls.c: Likewise.
	* pef.c: Likewise.
	* srec.c: Likewise.
	* vms-hdr.c: Likewise.
	* vms-tir.c: Likewise.
	* xtensa-isa.c: Likewise.
	* xtensa-modules.c: Likewise.
	* xsym.c: Likewise.
	(pstrcmp): Use correct choice of string lengths.  Fix return value.
	(bfd_sym_module_name): Correct string length.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
2005-02-20 14:59:07 +00:00
Alan Modra
7cfe54cc1b daily update 2005-02-19 23:00:06 +00:00
Alan Modra
0fdc72dad8 daily update 2005-02-18 23:00:07 +00:00
Alan Modra
59a63098f2 daily update 2005-02-17 23:00:05 +00:00
Alexandre Oliva
68320ddb7e bfd/ChangeLog:
* elf32-frv.c (elf32_frv_relocate_section): Remove warning from
uninitialized check_segment[1] in TLSMOFF case.
Reported by Alan Modra.
(elf32_frv_relocate_section): Improve errors and warnings.
ld/testsuite/ChangeLog:
* ld-frv/fdpic-static-6.d: Update.
* ld-frv/fdpic*.d: Remove explicit -mfdpic from #as.  Update
spelling of errors and warnings.
2005-02-17 17:11:01 +00:00
Alan Modra
1808e34136 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Fix warning. 2005-02-17 12:39:17 +00:00
Alan Modra
cb82f0b5ba daily update 2005-02-16 23:00:06 +00:00
Alan Modra
7e3102a710 * mach-o.c (bfd_mach_o_scan): Don't ignore return value of
bfd_mach_o_scan_start_address.
	* elfxx-ia64.c (elfNN_ia64_relax_brl): Rewrite for 32-bit bfd_vma.
	* elfxx-mips.c: Remove unnecessary prototypes.
	(sort_dynamic_relocs_64): Abort if not BFD64.
2005-02-16 04:45:23 +00:00
Alan Modra
5ff625e975 * coff-arm.c (coff_arm_is_local_label_name): Warning fix.
* elf32-frv.c (frvfdpic_relocs_info_hash): Likewise.
	* pef.c (bfd_pef_scan): Don't ignore return value of
	bfd_pef_scan_start_address.
2005-02-16 02:38:53 +00:00
Alan Modra
92b7a70fca bfd/
* elf64-ppc.c (ppc64_elf_edit_toc): Skip toc if size is zero.
	Skip toc reloc adjust if reloc_count is zero.
ld/
	* emultempl/ppc64elf.em (ppc_create_output_section_statements): Make
	an error creating fake bfd fatal.
	(ppc_before_allocation): Continue on after errors.
	(gld${EMULATION_NAME}_finish): Likewise.
2005-02-16 02:20:13 +00:00
Alan Modra
931a3d91ab daily update 2005-02-15 23:00:06 +00:00
Maciej W. Rozycki
d6f1659387 bfd/:
2005-02-15  Nigel Stephens  <nigel@mips.com>
            Maciej W. Rozycki  <macro@mips.com>

	* elf32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
	reloc howtos.  Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
	R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
	(elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
	(elf_mips16_gprel_howto): Likewise.  Redefine src_mask and
	dst_mask.
	(mips16_gprel_reloc): Remove bit shuffling; call
	_bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
	and _bfd_mips16_elf_reloc_shuffle() instead.
	(mips16_reloc_map): New reloc map for MIPS16 relocs.
	(bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
	relocs.
	(mips_elf32_rtype_to_howto): Fetch MIPS16 howtos from
	elf_mips16_howto_table_rel.
	* elf64-mips.c (mips16_elf64_howto_table_rel): New array for
	MIPS16 REL reloc howtos.  Add R_MIPS16_HI16 and R_MIPS16_LO16
	relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
	(elf_mips16_jump_howto): Move into mips16_elf64_howto_table_rel.
	(elf_mips16_gprel_howto): Likewise.  Redefine src_mask and
	dst_mask.
	(mips16_elf64_howto_table_rela): New array for MIPS16 RELA
	reloc howtos.  Add R_MIPS16_26, R_MIPS16_GPREL, R_MIPS16_HI16 and
	R_MIPS16_LO16 relocs and R_MIPS16_GOT16 and R_MIPS16_CALL16
	placeholders.
	(mips16_gprel_reloc): Remove bit shuffling; call
	_bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
	and _bfd_mips16_elf_reloc_shuffle() instead.
	(mips16_reloc_map): New reloc map for MIPS16 relocs.
	(bfd_elf64_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
	relocs.
	(mips_elf64_rtype_to_howto): Fetch MIPS16 howtos from
	mips16_elf64_howto_table_rela or mips16_elf64_howto_table_rel.
	* elfn32-mips.c (elf_mips16_howto_table_rel): New array for MIPS16
	REL reloc howtos.  Add R_MIPS16_HI16 and R_MIPS16_LO16 relocs and
	R_MIPS16_GOT16 and R_MIPS16_CALL16 placeholders.
	(elf_mips16_jump_howto): Move into elf_mips16_howto_table_rel.
	(elf_mips16_gprel_howto): Likewise.  Redefine src_mask and
	dst_mask.
	(mips16_gprel_reloc): Remove bit shuffling; call
	_bfd_mips16_elf_reloc_unshuffle(), _bfd_mips_elf_gprel16_with_gp()
	and _bfd_mips16_elf_reloc_shuffle() instead.
	(mips16_reloc_map): New reloc map for MIPS16 relocs.
	(bfd_elf32_bfd_reloc_type_lookup): Use mips16_reloc_map for MIPS16
	relocs.
	(mips_elf_n32_rtype_to_howto): Fetch MIPS16 howtos from
	elf_mips16_howto_table_rela or elf_mips16_howto_table_rel.
	* elfxx-mips.c (_bfd_mips16_elf_reloc_unshuffle): New function to
	handle bit shuffling for MIPS16 relocs.
	(_bfd_mips16_elf_reloc_shuffle): Likewise.
	(_bfd_mips_elf_lo16_reloc): Use _bfd_mips16_elf_reloc_unshuffle()
	and _bfd_mips16_elf_reloc_shuffle().
	(_bfd_mips_elf_generic_reloc): Likewise.
	(mips_elf_calculate_relocation): Likewise.  Handle R_MIPS16_HI16
	and R_MIPS16_LO16.
	(mips_elf_obtain_contents): Remove bit shuffling.
	(mips_elf_perform_relocation): Likewise; call
	_bfd_mips16_elf_reloc_unshuffle() and _bfd_mips16_elf_reloc_shuffle()
	instead.
	(_bfd_mips_elf_relocate_section): Likewise.  Handle R_MIPS16_HI16
	and R_MIPS16_LO16.
	* elfxx-mips.h (_bfd_mips16_elf_reloc_unshuffle): Declare.
	(_bfd_mips16_elf_reloc_shuffle): Likewise.
	* reloc.c (BFD_RELOC_MIPS16_HI16): New reloc.
	(BFD_RELOC_MIPS16_HI16_S): Likewise.
	(BFD_RELOC_MIPS16_LO16): Likewise.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.

gas/:
2005-02-15  Nigel Stephens  <nigel@mips.com>
            Maciej W. Rozycki  <macro@mips.com>

	* config/tc-mips.c (reloc_needs_lo_p): Handle
	BFD_RELOC_MIPS16_HI16_S.
	(fixup_has_matching_lo_p): Handle BFD_RELOC_MIPS16_LO16.
	(append_insn): Add BFD_RELOC_MIPS16_GPREL, BFD_RELOC_MIPS16_HI16_S
	and BFD_RELOC_MIPS16_LO16 to relocs to suppress overflow
	complaints on.
	(mips16_ip): Resolve BFD_RELOC_MIPS16_HI16_S,
	BFD_RELOC_MIPS16_HI16 and BFD_RELOC_MIPS16_LO16 for constants.
	Call my_getSmallExpression() to parse percent operators.
	(percent_op_match, mips_percent_op): Separate definitions.
	(mips16_percent_op): Define percent operators for the MIPS16 mode.
	(parse_relocation): Handle the MIPS16 mode using
	mips16_percent_op.
	(md_apply_fix3): Handle BFD_RELOC_MIPS16_HI16,
	BFD_RELOC_MIPS16_HI16_S and BFD_RELOC_MIPS16_LO16.

gas/testsuite/:
2005-02-15  Nigel Stephens  <nigel@mips.com>
            Maciej W. Rozycki  <macro@mips.com>

	* gas/mips/mips16-hilo.d: New test for the R_MIPS16_HI16 and
	R_MIPS16_LO16 relocs.
	* gas/mips/mips16-hilo-n32.d: Likewise, for the n32 ABI.
	* gas/mips/mips16-hilo.s: Source for the new tests.
	* gas/mips/mips.exp: Run the new tests.

include/:
2005-02-15  Nigel Stephens  <nigel@mips.com>
            Maciej W. Rozycki  <macro@mips.com>

	* elf/mips.h (R_MIPS16_GOT16): New reloc code.
	(R_MIPS16_CALL16): Likewise.
	(R_MIPS16_HI16): Likewise.
	(R_MIPS16_LO16): Likewise.
	(R_MIPS16_min): New fake reloc code.
	(R_MIPS16_max): Likewise.

ld/testsuite/:
2005-02-15  Nigel Stephens  <nigel@mips.com>
            Maciej W. Rozycki  <macro@mips.com>

	* ld-mips-elf/mips16-hilo.d: New test for the R_MIPS16_HI16 and
	R_MIPS16_LO16 relocs.
	* ld-mips-elf/mips16-hilo-n32.d: Likewise, for the n32 ABI.
	* ld-mips-elf/mips16-hilo.s: Auxiliary source for the new tests.
	* ld-mips-elf/mips-elf.exp: Run the new tests.
2005-02-15 19:57:54 +00:00
Jan Beulich
0ca3e4557f bfd/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* elfxx-ia64.c (ia64_howto_table): Correct strings for
	R_IA64_DTPMOD64[LM]SB.

gas/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (ia64_gen_real_reloc_type): Define and initialize
	new variables type, suffix, and width. Handle
	BFD_RELOC_IA64_DIR(32|64)[LM]SB in FUNC_LT_FPTR_RELATIVE case.
	Handle BFD_RELOC_IA64_DIR64[LM]SB in FUNC_TP_RELATIVE case. Add
	FUNC_DTP_MODULE case. Handle BFD_RELOC_IA64_DIR32[LM]SB in
	FUNC_DTP_RELATIVE case. Return incoming relocation type if
	BFD_RELOC_IA64_IPLT[LM]SB in FUNC_IPLT_RELOC case. Generate warning
	if unable to translate relocation type, using the new variables.

gas/testsuite/
2005-02-15  Jan Beulich  <jbeulich@novell.com>

	* gas/ia64/reloc.[ds]: New.
	* gas/ia64/reloc-bad.[ls]: New.
	* gas/ia64/ia64.exp: Run new tests.
2005-02-15 07:37:11 +00:00
H.J. Lu
c5509b9207 2005-02-14 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_ia64_relax_section): Allow relax
	backward branch in the same section.
	(elfNN_ia64_relocate_section): Inform users that the input
	section is too big to relax br instruction when overflow
	happens to R_IA64_PCREL21B, R_IA64_PCREL21BI, R_IA64_PCREL21M
	and R_IA64_PCREL21F.
2005-02-15 01:54:58 +00:00
Alan Modra
cfe3fa01fc daily update 2005-02-14 23:00:06 +00:00
Nick Clifton
5cba516c96 (elf_core_file_p): Move the call to elf_backend_object_p to allow the correct
machine to be set before processing the program headers.
2005-02-14 16:17:04 +00:00
Nick Clifton
b59a68e117 oops - omitted form previous delta 2005-02-14 11:40:18 +00:00
Nick Clifton
5c9c6a54a4 PR binutils/716
* peicode.h (pe_bfd_copy_private_bfd_data): Copy the large address aware flag
from the input bfd to the output bfd.
2005-02-14 11:20:37 +00:00
Alan Modra
b4fcd1cf10 daily update 2005-02-13 23:00:07 +00:00
Maciej W. Rozycki
05e24d226c * Makefile.am: Use CFLAGS_FOR_BUILD and LDFLAGS_FOR_BUILD for
building chew.
* Makefile.in: Regenerate.
2005-02-13 21:39:47 +00:00
Alan Modra
55aa3d8e1b daily update 2005-02-12 23:00:06 +00:00
Alan Modra
0e68218d25 daily update 2005-02-11 23:00:06 +00:00
Maciej W. Rozycki
254f0426b5 * elf32-mips.c (_bfd_mips_elf32_gprel16_reloc): Reject
R_MIPS_LITERAL relocations for external symbols.
* elf64-mips.c (mips_elf64_literal_reloc): Likewise.
* elfn32-mips.c (mips_elf_literal_reloc): Likewise.
2005-02-11 22:29:10 +00:00
H.J. Lu
e91cdea724 2005-02-11 H.J. Lu <hongjiu.lu@intel.com>
* bfd-in2.h: Rebuilt.
2005-02-11 17:33:16 +00:00
Nick Clifton
169a6afd81 (bfd_sym_parse_contained_variables_table_entry_v32): Avoid call to memcpy with
a size of 0.
2005-02-11 17:22:47 +00:00
Nick Clifton
d5b2f13be7 (m32r_reloc_map_old): Use #ifdef USE_M32R_OLD_RELOC to protect the declaration of this array. 2005-02-11 17:18:41 +00:00
Nick Clifton
6c408f53b0 (iq2000_reloc_map): Remove unused structure and array. 2005-02-11 17:15:32 +00:00
Nick Clifton
596c83ecf6 (ip2k_call_opcode, IS_CALL_OPCODE): Remove unused structure and macro. 2005-02-11 17:13:02 +00:00
Nick Clifton
cb7a88a4dd (coff_std_swap_table): Add an unused attribute in case it is not used. 2005-02-11 17:10:07 +00:00
Nick Clifton
3e25964f9b (coff_rtype_to_howto): Move definition before inclusion of coffcode.h so that
it is actually picked up.
2005-02-11 17:06:17 +00:00
Paul Brook
6768797874 2005-02-11 Paul Brook <paul@codesourcery.com>
* elf-bfd.h (struct elf_link_hash_table): Add
	is_relocatable_executable.
	* elf.c (_bfd_elf_link_hash_table_init): Initialize it.
	* elflink.c (bfd_elf_link_record_dynamic_symbol): Create local dynamic
	symbols in relocatable executables.
	(bfd_elf_record_link_assignment): Create dynamic section symbols in
	relocatable executables.
	(_bfd_elf_link_renumber_dynsyms): Ditto.
	(bfd_elf_final_link): Ditto.
	* elf32-arm.c (elf32_arm_final_link_relocate): Copy absolute
	relocations into relocatable executables.
	(elf32_arm_check_relocs): Crate dynamic sections for relocatable
	executables.  Also copy absolute relocations.
	(elf32_arm_adjust_dynamic_symbol): Don't create copy relocations
	in relocatable executables.
	(allocate_dynrelocs): Copy relocations for relocatable executables.
	Output dynamic symbols for symbols defined in linker scripts.
2005-02-11 16:41:09 +00:00
Nick Clifton
4b74b98302 Fix compile time warning by using an unsigned type. 2005-02-11 15:59:51 +00:00
Nick Clifton
ca724bf2da Remove redundant test in BFD_ASSERT 2005-02-11 15:57:10 +00:00
Alan Modra
2917689a80 * elf64-ppc.c (toc_adjusting_stub_needed): Return true for
old-style branches to undefined dot-symbols which will be
	satisfied by a plt call.
2005-02-11 14:18:15 +00:00
Alan Modra
40d16e0b39 * elf64-ppc.c (move_plt_plist): New function, extracted from..
(ppc64_elf_copy_indirect_symbol): ..here.
	(func_desc_adjust): Use move_plt_plist.
2005-02-11 03:47:40 +00:00
Alan Modra
8e0e1f2585 daily update 2005-02-10 23:00:05 +00:00
Paul Brook
e37c699c87 2005-02-10 Paul Brook <paul@codesourcery.com>
* elf32-arm.c (elf32_arm_final_link_relocate): Handle R_ARM_THM_PC9.
2005-02-10 14:14:25 +00:00
Paul Brook
6fa3860b3b 2005-02-10 Paul Brook <paul@codesourcery.com>
* elflink.c (bfd_elf_record_link_assignment): Make hidden and internal
	symbols local.
	(elf_link_renumber_hash_table_dynsyms): Ignore local symbols.
	(elf_link_renumber_local_hash_table_dynsyms): New function.
	(_bfd_elf_link_renumber_dynsyms): Number local dynamic symbols.
ld/testsuite/
	* ld-elfvsb/hidden2.s: New file
	* ld-elfvsb/hidden2.d: New file
	* ld-elfvsb/hidden2.ld: New file
2005-02-10 14:09:43 +00:00
Jakub Jelinek
d457dcf698 * bfd-in.h (BFD_LINKER_CREATED): Define.
* bfd-in2.h: Rebuilt.
	* elflink.c (bfd_elf_size_dynamic_sections): Disregard
	BFD_LINKER_CREATED bfds when determining input bfds without
	.note.GNU-stack section.

	* emultempl/hppaelf.em (hppaelf_create_output_section_statements):
	Set BFD_LINKER_CREATED on the stubs bfd.
	* emultempl/ppc64elf.em (ppc_create_output_section_statements):
	Likewise.
2005-02-10 09:15:08 +00:00
Maciej W. Rozycki
7f05722e09 * elf64-mips.c (mips16_gprel_reloc): Update a comment.
* elfn32-mips.c (mips16_gprel_reloc): Keep R_MIPS16_GPREL
relocations against external symbols unchanged.
2005-02-10 03:07:46 +00:00