Commit graph

3395 commits

Author SHA1 Message Date
Alan Modra
707bba77b5 * elflink.c (_bfd_elf_merge_symbol): Simplify. 2005-09-19 23:30:05 +00:00
Alan Modra
5c3dead3ce * elf64-ppc.c (ppc_build_one_stub): Replace assertion that long
branch offset is in range with an error.  Print full stub name on
	errors.
	(ppc_size_one_stub): Print full stub name on errors.
	(group_sections): Warn if section size exceeds group size.
	(ppc64_elf_size_stubs): Continue relaxing when stub types change.
2005-09-19 09:35:26 +00:00
Kevin Buettner
6cfda9479f * elf32-am33lin.c (bfd.h, sysdep.h, elf-bfd.h, elf/mn10300.h):
Include.
	(elf32_am33lin_grok_prstatus, elf32_am33lin_grok_psinfo): New
	functions.
	(elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
2005-09-09 18:26:03 +00:00
Richard Earnshaw
0951f0190e * elf32-arm.c (elf32_arm_section_from_shdr): Accept SHT_ARM_PREEMPTMAP
and SHT_ARM_ATTRIBUTES.
2005-09-09 13:10:01 +00:00
H.J. Lu
e04bcc6d65 2005-09-08 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (elf_get_linked_section_vma): Fix a typo in comment.
	* elfxx-ia64.c (elf_backend_link_order_error_handler): Likewise.
2005-09-09 05:11:51 +00:00
H.J. Lu
92fd189de1 2005-09-08 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1263
	* elflink.c (elf_link_add_object_symbols): Abort for
	--just-symbols on DSO.
2005-09-08 14:24:22 +00:00
Paul Brook
3eb17e6bd2 2005-09-08 Paul Brook <paul@codesourcery.com>
bfd/
	* reloc.c: Rename BFD_RELOC_ARM_SMI to BFD_RELOC_ARM_SMC.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
opcodes/
	* arm-dis.c (arm_opcodes, thumb32_opcodes): Rename smi to smc.
gas/
	* config/tc-arm.c (do_smi, do_t_smi): Rename ...
	(do_smc, do_t_smc): ... to this.
	(insns): Remane smi to smc.
	(md_apply_fix, tc_gen_reloc): Rename BFD_RELOC_ARM_SMI to
	BFD_RELOC_ARM_SMC.
gas/testsuite/
	* gas/arm/arch6zk.d: Rename smi to smc.
	* gas/arm/arch6zk.s: Ditto.
	* gas/arm/thumb32.d: Ditto.
	* gas/arm/thumb32.s: Ditto.
2005-09-08 12:49:27 +00:00
H.J. Lu
68f49ba335 2005-09-06 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1301
	* elflink.c (_bfd_elf_merge_symbol): Don't check undefined
	symbol introduced by "ld -u" for TLS.
2005-09-07 05:01:16 +00:00
Paul Brook
8f06b2d82f 2005-09-02 Paul Brook <paul@codesourcery.com>
bfd/
	* libbdf.h: Regenerate.
	* bfd-in2.h: Regenerate.
	* reloc.c: Add BFD_RELOC_ARM_T32_CP_OFF_IMM and
	BFD_RELOC_ARM_T32_CP_OFF_IMM_S2.
gas/
	* config/tc-arm.c (encode_arm_cp_address): Use
	BFD_RELOC_ARM_T32_CP_OFF_IMM in thumb mode.
	(do_iwmmxt_wldstbh): Use BFD_RELOC_ARM_T32_CP_OFF_IMM_S2 in thumb
	mode.
	(md_assemble): Only allow coprocessor instructions when Thumb-2 is
	available.
	(cCE, cC3): Define.
	(insns): Use them for coprocessor instructions.
	(md_pcrel_from_section): Handle BFD_RELOC_ARM_T32_CP_OFF_IMM.
	(get_thumb32_insn): New function.
	(put_thumb32_insn): New function.
	(md_apply_fix): Handle BFD_RELOC_ARM_T32_CP_OFF_IMM and
	BFD_RELOC_ARM_T32_CP_OFF_IMM_S2.
gas/testsuite/
	* gas/arm/vfp-bad_t2.d, gas/arm/vfp-bad_t2.l, arm/vfp-bad_t2.s,
	gas/arm/vfp1_t2.d, gas/arm/vfp1_t2.s, gas/arm/vfp1xD_t2.d,
	gas/arm/vfp1xD_t2.s, gas/arm/vfp2_t2.d, gas/arm/vfp2_t2.s): New files.
opcodes/
	* arm-dis.c (coprocessor_opcodes): New.
	(arm_opcodes, thumb32_opcodes): Remove coprocessor insns.
	(print_insn_coprocessor): New function.
	(print_insn_arm): Use print_insn_coprocessor.  Remove coprocessor
	format characters.
	(print_insn_thumb32): Use print_insn_coprocessor.
2005-09-02 13:12:45 +00:00
Dmitry Diky
046aeb7490 2005-09-01 Dmitry Diky <diwil@spec.ru>
* elf32-msp430.c (msp430_elf_relax_delete_bytes): Do not adjust
	local symbols and move it to
	(msp430_elf_relax_adjust_locals): New function - walk over the
	sections in the bfd and adjust relocations as necessary.
2005-09-01 11:27:15 +00:00
DJ Delorie
e81d3500e7 * elf32-i386.c (elf_i386_check_relocs): Don't cast a unary &
address operator, as that breaks GCC's strict aliasing rules.
(elf_i386_size_dynamic_sections): Avoid the need for type
punning.
* elf64-x86-64.c (elf_x86_64_check_relocs): Don't cast a unary
& address operator, as that breaks GCC's strict aliasing
rules.
(elf_x86_64_size_dynamic_sections): Avoid the need for type
punning.
2005-08-31 23:45:46 +00:00
Nick Clifton
e26f8bd9b4 (i[3-7]86-*-vxworks): Match vxworks* instead. 2005-08-30 16:06:00 +00:00
H.J. Lu
1faab634be 2005-08-29 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1247
	* elfxx-ia64.c (allocate_fptr): Check undefined symbol.
2005-08-29 22:25:04 +00:00
Nick Clifton
c9adbffeea (_bfd_mips_elf_relocate_section): Initialise 'value' to avoid compile time
warning message.
2005-08-29 16:42:15 +00:00
Nick Clifton
c0524131ea Re-enable GAS for z8k-coff 2005-08-26 09:47:49 +00:00
Kaz Kojima
4195f552a6 * elf32-sh.c (sh_elf_get_flags_from_mach): Fix off-by-one error. 2005-08-25 05:10:22 +00:00
H.J. Lu
843fe662b9 2005-08-24 H.J. Lu <hongjiu.lu@intel.com>
PR ld/1208
	* elf-hppa.h (elf_hppa_relocate_section): Print out the name
	of unresolvable relocation.
	* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
	* elf32-arm.c (elf32_arm_relocate_section): Likewise.
	* elf32-i386.c (elf_i386_relocate_section): Likewise.
	* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
	* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
	* elf32-s390.c (elf_s390_relocate_section): Likewise.
	* elf32-sh.c (sh_elf_relocate_section): Likewise.
	* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
	* elf64-s390.c (elf_s390_relocate_section): Likewise.
	* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
	* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
2005-08-25 02:32:11 +00:00
Kaz Kojima
1cddf1366e * config.bfd: Add bfd_elf32_shnbsd_vec and bfd_elf32_shlnbsd_vec
to targ_selvecs for sh5*-*-netbsd* and sh64*-*-netbsd*.
2005-08-18 11:06:58 +00:00
Alan Modra
848cf006a0 Remove a29k files. 2005-08-18 03:59:24 +00:00
Alan Modra
c17ae8a24e Remove a29k support. 2005-08-18 03:51:51 +00:00
Alan Modra
909272ee76 * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Warn on
zero size dynamic variables.
	* elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
	* elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
	* elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
	* elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
	* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
	* elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
	* elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
	* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
	* elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
	* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
	* elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
	* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
	* elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
	* elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
	* elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
2005-08-18 01:28:26 +00:00
H.J. Lu
bc79cded48 bfd/
2005-08-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/1179
	* dwarf2.c (_bfd_dwarf2_find_nearest_line): Use section lma
	instead of vma.
	(_bfd_dwarf2_find_line): Likewise.

binutils/

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

	PR binutils/1179
	* objdump.c (disassemble_bytes): Don't adjust
	adjust_section_vma.
	(adjust_addresses): Don't adjust vma for debugging section.
	Adjust lma only for relocatable files.
	(dump_bfd): Tell adjust_addresses if it is a relocatable file.
2005-08-17 14:28:01 +00:00
Alan Modra
46fda84e78 * elf64-mmix.c (mmix_elf_add_symbol_hook): Mark reg section
SEC_LINKER_CREATED.
	(mmix_elf_final_link): Check that section hasn't already been
	removed before removing.
	* mmo.c (mmo_scan): Mark reg contents section SEC_LINKER_CREATED.
	(mmo_canonicalize_symtab): Likewise for reg section.
2005-08-17 13:29:55 +00:00
Alan Modra
8d1d654fb4 bfd/
* elf32-cris.c (elf_cris_adjust_gotplt_to_got): Move assert later.
	* elfxx-mips.c (_bfd_mips_elf_hide_symbol): Cope with being called
	without any got section.

ld/testsuite/
	* ld-alpha/tlsbin.rd: Update.
	* ld-alpha/tlsbinr.rd: Update.
	* ld-cris/locref1.d: Update.
	* ld-cris/locref2.d: Update.
	* ld-i386/tlsbin.rd: Update.
	* ld-ia64/tlsbin.rd: Update.
	* ld-powerpc/tlsexe.r: Update.
	* ld-powerpc/tlsexe32.r: Update.
	* ld-powerpc/tlsexetoc.r: Update.
	* ld-s390/tlsbin.rd: Update.
	* ld-s390/tlsbin_64.rd: Update.
	* ld-sparc/tlssunbin32.rd: Update.
	* ld-sparc/tlssunbin64.rd: Update.
	* ld-x86-64/tlsbin.rd: Update.
2005-08-17 10:04:33 +00:00
Danny Smith
27198fa9f3 bfd
* cofflink.c (_bfd_coff_generic_relocate_section): Correct
	comment.

gas
	* config/obj-coff.c (obj_coff_weak): Set auxiliary record
	of NT weak externals to IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY.
2005-08-17 08:58:01 +00:00
Alan Modra
ccabcbe51e * elflink.c (_bfd_elf_define_linkage_sym): Don't call
bfd_elf_link_record_dynamic_symbol.  Call elf_backend_hide_symbol.
	(_bfd_elf_link_renumber_dynsyms): Formatting.
	(struct elf_gc_sweep_symbol_info): New.
	(elf_gc_sweep_symbol): Rewrite.
	(elf_gc_sweep): Adjust params and elf_gc_sweep_symbol call.
	Call _bfd_elf_link_renumber_dynsyms.
	(bfd_elf_gc_sections): Adjust elf_gc_sweep call.
2005-08-17 03:07:12 +00:00
Alan Modra
18d944df00 * elf64-ppc.c (ppc64_elf_edit_opd): Don't call dec_dynrel_count
when relocatable.
2005-08-16 10:13:43 +00:00
Bob Wilson
4af0a1d8b6 * elf32-xtensa.c (ELF_MACHINE_CODE, ELF_MACHINE_ALT1): Swap values
of EM_XTENSA and EM_XTENSA_OLD.
2005-08-15 18:17:12 +00:00
Alan Modra
d98685ac81 * elf-bfd.h (_bfd_elf_define_linkage_sym): Declare.
* elflink.c (_bfd_elf_define_linkage_sym): New function, extracted
	from..
	(_bfd_elf_create_got_section): ..here.
	(_bfd_elf_link_create_dynamic_sections): Call it for _DYNAMIC.
	(_bfd_elf_create_dynamic_sections): ..and _PROCEDURE_LINKAGE_TABLE_.
	* elf-m10300.c (_bfd_mn10300_elf_create_got_section): Use
	_bfd_elf_define_linkage_sym.
	* elf32-frv.c (_frv_create_got_section): Likewise.
	* elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
2005-08-15 15:39:08 +00:00
Paul Brook
ce490eda4b 2005-08-15 Paul Brook <paul@codesourcery.com>
* elf32-arm.c (elf32_arm_howto_table_1): Make R_ARM_PLT32 the same as
	R_ARM_PC24.
2005-08-15 15:01:39 +00:00
Dave Anglin
4fc35ca996 PR ld/1135
* elf64-hppa.c (elf64_hppa_special_sections): Add flag definitions for
	.plt, .dlt, .sdata, .sbss and .tbss.
2005-08-14 01:01:32 +00:00
Dmitry Diky
fa9ee72b80 2005-08-12 Dmitry Diky <diwil@spec.ru>
* elf32-msp430.c (msp430_elf_relax_delete_bytes): Adjust relocations
	referenced by .section + DISPLACEMENT.
2005-08-12 11:45:26 +00:00
Jim Wilson
98b880f44f Fix linker error found when compiling glibc with a mismatched gcc.
* dwarf2.c (scan_unit_for_symbols, case DT_AT_location): Verify that
DW_OP_addr is only opcode in location before using it.
2005-08-10 23:33:39 +00:00
H.J. Lu
a38a2e96b0 2005-08-09 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_ia64_final_link): Reset gp.
2005-08-10 04:32:49 +00:00
Nick Clifton
fd6212e6f1 (xcoff64_core_p): Constify return_value variable. Also, do not use core_hdr
macro as it evaluates to a cast of an lvalue which is no longer supported by
GCC 4.0.
2005-08-09 08:56:36 +00:00
Nick Clifton
44c86e8c6d Add support for msp430x21xx variants 2005-08-08 17:08:04 +00:00
Nick Clifton
957c6e41da PR 1147
elf32-arm.c (bfd_elf32_close_and_cleanup): Define.
  (elf32_arm_close_and_cleanup): New function - walk over the sections in the
    bfd that is being closed removing them from the list of recorded sections.
  (unrecord_section_via_map_over_sections): New helper function.
  (record_section_with_arm_elf_section_data): Call bfd_malloc instead of
    bfd_alloc.  Remove unneeded abfd parameter.
  (elf32_arm_new_section_hook): Do not pass bfd to record_section_with_arm_elf_section_data.
elfxx-target.h (bfd_elfNN_close_and_cleanup): Only define if not already
  defined by the target.
2005-08-08 11:06:16 +00:00
Fred Fish
a29b7e88f2 Reviewed and approved by Nick Clifton <nickc@redhat.com>
2005-08-05  Fred Fish  <fnf@specifix.com>
	* dwarf2.c (read_rangelist): Use addr_size instead of offset_size
	to determine how many bytes to read from each rangelist entry.
2005-08-07 14:47:02 +00:00
H.J. Lu
7af8e99880 bfd/
2005-08-05  H.J. Lu  <hongjiu.lu@intel.com>

	* bfd.c (bfd_hide_symbol): New.
	* bfd-in2.h: Regenerated.

ld/

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

	* ld.texinfo: Document PROVIDE_HIDDEN.

	* ldexp.c (exp_fold_tree_1): Hide a provided symbol if asked.
	(exp_provide): Add and set hidden.

	* ldexp.h (etree_type): Add hidden to assign.

	* ldgram.y (PROVIDE_HIDDEN): New.
	* ldlex.l (PROVIDE_HIDDEN): Likewise.

	* scripttempl/elf.sc: Use PROVIDE_HIDDEN on array bound
	symbols.
2005-08-05 13:52:13 +00:00
H.J. Lu
0049299953 2005-08-04 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf64_x86_64_merge_symbol): When mixing a
	large common symbol and a normal common symbol, always turn
	the large common symbol into a normal one.
2005-08-04 14:49:55 +00:00
Alan Modra
046183de0e bfd/
* elf32-ppc.c (struct elf_linker_section): Replace sym_val field
	with sym.
	(ppc_elf_relocate_section): Adjust for above.
	(create_sdata_sym): New function.
	(ppc_elf_create_linker_section): Call it.
	(ppc_elf_check_relocs): Correct has_sda_refs and non_got_refs.
	Create sdata syms for all SDA relocs.
	(ppc_elf_adjust_dynamic_symbol): Don't special case _SDA_BASE_
	and _SDA2_BASE_.
	(ppc_elf_set_sdata_syms): Delete.
	* elflink.c (bfd_elf_size_dynamic_sections): Don't create DT_INIT
	and DT_FINI tags unless associated section has input.
	(bfd_elf_set_symbol, _bfd_elf_provide_symbol): Delete.
	(_bfd_elf_provide_section_bound_symbols): Delete.
	* bfd-in.h (_bfd_elf_provide_symbol): Delete.
	(_bfd_elf_provide_section_bound_symbols): Delete.
	* bfd-in2.h: Regenerate.
ld/
	* ldemul.c (ldemul_do_assignments, do_assignments_default): Delete.
	* ldemul.h (ldemul_do_assignments, do_assignments_default): Delete.
	(struct ld_emulation_xfer_struct): Remove do_assignments field.
	* ldlang.c (lang_do_assignments): Don't call ldemul_do_assignments.
	* emulparams/elf32ppc.sh (SDATA_START_SYMBOLS): New.
	(SDATA2_START_SYMBOLS, SBSS_START_SYMBOLS, SBSS_END_SYMBOLS): New.
	* emultempl/aix.em (ld_*_emulation): Delete do_assignments init.
	* emultempl/armcoff.em: Likewise.
	* emultempl/beos.em: Likewise.
	* emultempl/generic.em: Likewise.
	* emultempl/gld960.em: Likewise.
	* emultempl/gld960c.em: Likewise.
	* emultempl/linux.em: Likewise.
	* emultempl/lnk960.em: Likewise.
	* emultempl/m68kcoff.em: Likewise.
	* emultempl/pe.em: Likewise.
	* emultempl/sunos.em: Likewise.
	* emultempl/ticoff.em: Likewise.
	* emultempl/vanilla.em: Likewise.
	* emultempl/elf32.em: Likewise.
	(gld*_provide_bound_symbols): Delete.
	(gld*_provide_init_fini_syms): Delete.
	(gld*_before_allocation): Don't call ldemul_do_assignments.
	* emultempl/ppc32elf.em (ppc_do_assignments): Delete.
	(LDEMUL_DO_ASSIGNMENTS): Delete.
	* scripttempl/elf.sc: Provide init/fini syms.  Add SBSS_START_SYMBOLS,
	SBSS_END_SYMBOLS, SDATA2_START_SYMBOLS.
2005-08-04 06:22:14 +00:00
Alan Modra
1e035701d6 bfd/
* elflink.c (fix_syms, _bfd_elf_fix_excluded_sec_syms): Move to..
	* linker.c (fix_syms, _bfd_fix_excluded_sec_syms): ..here.
	* bfd-in.h (_bfd_fix_excluded_sec_syms): Rename.
	* bfd-in2.h: Regenerate.
ld/
	* ldemul.c (ldemul_finish): Call ld_emulation->finish unconditionally.
	(finish_default): New function.
	* ldemul.h (finish_default): Declare.
	* emultempl/aix.em (gld*_before_allocation): Call
	before_allocation_default rather than strip_excluded_output_sections.
	(ld_*_emulation): Init finish field to finish_default.
	* emultempl/armcoff.em: Likewise.
	* emultempl/beos.em: Likewise.
	* emultempl/elf32.em: Likewise.
	* emultempl/generic.em: Likewise.
	* emultempl/gld960.em: Likewise.
	* emultempl/gld960c.em: Likewise.
	* emultempl/hppaelf.em: Likewise.
	* emultempl/linux.em: Likewise.
	* emultempl/lnk960.em: Likewise.
	* emultempl/m68kcoff.em: Likewise.
	* emultempl/mmo.em: Likewise.
	* emultempl/pe.em: Likewise.
	* emultempl/ppc64elf.em: Likewise.
	* emultempl/sunos.em: Likewise.
	* emultempl/ticoff.em: Likewise.
	* emultempl/vanilla.em: Likewise.
2005-08-04 01:19:10 +00:00
H.J. Lu
90b263f311 2005-08-03 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_ia64_relax_section): Resize .rela.got
	only if it isn't NULL.
2005-08-04 00:39:02 +00:00
H.J. Lu
b0360d8cfa bfd/
2005-08-03  H.J. Lu  <hongjiu.lu@intel.com>

	* elf32-i386.c (elf_howto_table): Undo the overflow change for
	R_386_PC16 made on 2005-07-18.

	* elf64-x86-64.c (x86_64_elf_howto_table): Undo the overflow
	change for R_X86_64_PC16 made on 2005-07-18.

ld/testsuite/

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

	* ld-i386/pcrel16.d: Updated.
	* ld-i386/pcrel16.s: Likewise.
	* ld-x86-64/pcrel16.d: Likewise.
2005-08-03 16:30:34 +00:00
Alan Modra
636ce3f5bf * elf32-ppc.c (struct ppc_elf_link_hash_table): Remove hgot. Use
elf.hgot throughout file.
2005-08-02 23:32:52 +00:00
Alan Modra
4d9620504f * elf32-ppc.c (ppc_elf_size_dynamic_sections): Correct value of
_GLOBAL_OFFSET_TABLE_ for > 32k GOT.
2005-08-02 23:09:16 +00:00
Andreas Schwab
4a78a1f4de * elfxx-ia64.c (struct elfNN_ia64_allocate_data): Add only_got.
(elfNN_ia64_relax_section): Reallocate .rela.got when .got has
	changed.
	(allocate_dynrel_entries): Look only at GOT relocations when
	only_got is true.
	(elfNN_ia64_size_dynamic_sections): Set only_got to false before
	calling allocate_dynrel_entries.
2005-08-02 19:58:11 +00:00
Nick Clifton
8e3de13a7d PR 1147
* elf32-arm.c (struct _arm_elf_section_data): Turn into a typedef and make the
  mapcount field unsigned.
(struct section_list): New: Used to keep track of which sections have an
  _arm_elf_section_data structure.
(record_section_with_arm_elf_section_data): New function.
(get_arm_elf_section_data): New function.
(unrecord_section_with_arm_elf_section_data): New function.
(elf32_arm_output_symbol_hook): Use get_arm_elf_section_data.
(elf32_arm_new_section_hook): Call record_section_with_arm_elf_section_data.
(elf32_arm_write_section): Use get_arm_elf_section_data and
  unrecord_section_with_arm_elf_section_data.
2005-08-02 08:17:45 +00:00
Richard Sandiford
c5211a5487 * elfxx-mips.c (mips_mach_extends_p): Treat MIPS64 as an extension
of MIPS32 and MIPS64r2 as an extension of MIPS32r2.
2005-08-01 11:59:33 +00:00
David Daney
1b9ee6a2f0 * elflink.c (elf_gc_sweep): Set dynsymcount to correct value. 2005-07-31 06:14:15 +00:00
David Daney
eedecc0705 * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Ignore _gp_disp
if it is in the *ABS* section.
2005-07-29 23:24:01 +00:00
Paul Brook
e9f89963c4 2005-07-29 Paul Brook <paul@codesourcery.com>
bfd/
	* reloc.c: Add BFD_RELOC_ARM_T32_ADD_PC12.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
gas/
	* config/tc-arm.c (T16_32_TAB): Add "addr". Fix encoding of push and
	pop.
	(do_t_addr): Implement 32-bit variant.
	(do_t_push_pop): Make some errors warnings.  Handle single register
	32-bit case.
	(insns): Use tCE for adr.
	(md_pcrel_from_section): Handle BFD_RELOC_ARM_T32_ADD_PC12.
	(md_apply_fix): Ditto.
gas/testsuite/
	* gas/arm/thumb32.d: Fix expected output for writeback addressing
	modes.  Add single high reg push/pop test.
	* gas/asm/thumb32.s: Add single high reg push/pop test.
opcodes/
	* arm-dis.c: Fix disassebly of thumb2 writeback addressing modes.
2005-07-29 17:39:39 +00:00
Paul Brook
92e90b6eb3 2005-07-29 Paul Brook <paul@codesourcery.com>
bfd/
	* reloc.c (BFD_RELOC_ARM_T32_IMM12): Add.
	* bfd-in2.h: Regeenrate.
	* libbfd.h: Regenerate.
gas/
	* config/tc-arm.c (parse_tb): New function.
	(enum operand_parse_code): Add OP_TB.
	(parse_operands): Handle OP_TB.
	(do_t_add_sub_w, do_t_tb): New functions.
	(insns): Add entries for addw, subw, tbb and tbh.
	(md_apply_fix): Handle BFD_RELOC_ARM_T32_IMM12.
gas/testsuite/
	* gas/arm/thumb32.s: Add tests for addw, subw, tbb and tbh.
	* gas/arm/thumb32.d: Ditto.
opcodes/
	* arm-dis.c (thumb32_opc): Fix addressing mode for tbh.
	(print_insn_thumb32): Fix decoding of thumb2 'I' operands.
2005-07-29 17:28:33 +00:00
Nick Clifton
0facbdf5c2 * peXXigen.c (pe_print_edata): Compute the size of the export table from the
size field in the DataDictionary and not the size of the section.  Some
  linkers embed the export table inside a larger section.
2005-07-29 14:07:01 +00:00
Alan Modra
8a69675106 * elf-bfd.h (struct elf_backend_data): Add action_discarded.
(enum action_discarded): Move from..
	* elflink.c (enum action_discarded): ..here.
	(_bfd_elf_default_action_discarded): Rename from elf_action_discarded.
	Remove target specific section checks.
	(elf_link_input_bfd): Adjust.
	* elfxx-target.h (elf_backend_action_discarded): Define.
	(elfNN_bed): Init new field.
	* bfd-in.h (_bfd_elf_default_action_discarded): Declare.
	* bfd-in2.h: Regenerate.
	* elf-hppa.h (elf_hppa_action_discarded): New function.
	* elf32-hppa.c (elf_backend_action_discarded): Define.
	* elf64-hppa.c (elf_backend_action_discarded): Define.
	* elf32-ppc.c (ppc_elf_action_discarded): New function.
	(elf_backend_action_discarded): Define.
2005-07-29 02:46:04 +00:00
Alan Modra
2f5028a7c8 * elflink.c (fix_syms): Handle symbols defined in input sections. 2005-07-27 08:32:53 +00:00
Jan Beulich
a33d77bc5f bfd/
2005-07-27  Jan Beulich  <jbeulich@novell.com>

	* elf64-x86-64.c (R_X86_64_standard, R_X86_64_vt_offset): New.
	(elf64_x86_64_info_to_howto): Use them.
2005-07-27 07:01:30 +00:00
Alan Modra
f41d945bae * elflink.c (_bfd_elf_merge_symbol): Skip weak redefinition
regardless of strength of previous definition.
2005-07-26 15:19:37 +00:00
Alan Modra
87538722be * elflink.c (elf_gc_mark_dynamic_ref_symbol): Handle -shared.
(bfd_elf_gc_sections): Allow -gc-sections when -shared.
	* elf32-ppc.c (ppc_elf_gc_sweep_hook): Correct for -shared.
2005-07-26 12:06:38 +00:00
Alan Modra
9e8cc8b4bf * elflink.c (elf_gc_sweep): Move gcc_except_table code..
(bfd_elf_gc_sections): ..to here.
2005-07-26 11:47:05 +00:00
DJ Delorie
fd54057a29 [bfd]
* reloc.c: Remove unused M32C relocs, add BFD_RELOC_M32C_HI8.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.

	* elf32-m32c.c (m32c_elf_howto_table): Add R_M32C_8, R_M32C_LO16,
	R_M32C_HI8, R_M32C_HI16.
	(m32c_reloc_map): Likewise.
	(m32c_elf_relocate_section): Add R_M32C_HI8 and R_M32C_HI16.

[cpu]
	* m32c.opc (parse_unsigned8): Add %dsp8().
	(parse_signed8): Add %hi8().
	(parse_unsigned16): Add %dsp16().
	(parse_signed16): Add %lo16() and %hi16().
	(parse_lab_5_3): Make valuep a bfd_vma *.

[gas]
	* config/tc-m32c.c (md_cgen_lookup_reloc): Add 8 bit operands.
	Support %mod() modifiers from opcodes.
	* doc/c-m32c.texi (M32C-Modifiers): New section.

[include/elf]

	* m32c.h: Add R_M32C_8, R_M32C_LO16, R_M32C_HI8, and R_M32C_HI16.

[opcodes]
	* m32c-asm.c Regenerate.
	* m32c-dis.c Regenerate.
2005-07-26 03:21:53 +00:00
H.J. Lu
3b22753a67 bfd/
2005-07-25  Jan Hubicka  <jh@suse.cz>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* elf-bfd.h (_bfd_elf_large_com_section): New.
	* elf.c (_bfd_elf_large_com_section): New. Defined.

	* elf64-x86-64.c (elf64_x86_64_add_symbol_hook): New.
	(elf64_x86_64_elf_section_from_bfd_section): New.
	(elf64_x86_64_symbol_processing): New.
	(elf64_x86_64_common_definition): New.
	(elf64_x86_64_common_section_index): New.
	(elf64_x86_64_common_section): New.
	(elf64_x86_64_merge_symbol): New.
	(elf64_x86_64_additional_program_headers): New.
	(elf64_x86_64_special_sections): New.
	(elf_backend_section_from_bfd_section): New. Defined.
	(elf_backend_add_symbol_hook): Likewise.
	(elf_backend_common_section_index): Likewise.
	(elf_backend_common_section): Likewise.
	(elf_backend_common_definition): Likewise.
	(elf_backend_merge_symbol): Likewise.
	(elf_backend_special_sections): Likewise.
	(elf_backend_additional_program_headers): Likewise.

binutils/

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

	* readelf.c (dump_relocations): Handle SHN_X86_64_LCOMMON.
	(get_symbol_index_type): Likewise.
	(get_elf_section_flags): Handle SHF_X86_64_LARGE.

gas/

2005-07-25  Jan Hubicka  <jh@suse.cz>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* config/obj-elf.c: Include "elf/x86-64.h" if TC_I386 is
	defined.
	(elf_com_section_ptr): New.
	(elf_begin): Set elf_com_section_ptr to bfd_com_section_ptr.
	(elf_common_parse): Make it global. Use elf_com_section_ptr
	instead of bfd_com_section_ptr.
	(obj_elf_change_section): Handle x86-64 large bss sections.

	* config/obj-elf.h (elf_com_section_ptr): New.
	(elf_common_parse): New.

	* config/tc-i386.c (handle_large_common): New.
	(md_pseudo_table): Add "largecomm".
	(x86_64_section_letter): New.
	(x86_64_section_word): New.

	* config/tc-i386.h (x86_64_section_word): New.
	(x86_64_section_letter): New.
	(md_elf_section_letter): New. Defined.
	(md_elf_section_word): Likewise.

include/elf/

2005-07-25  Jan Hubicka  <jh@suse.cz>

	* x86-64.h (SHN_X86_64_LCOMMON): New.
	(SHF_X86_64_LARGE): New.

ld/

2005-07-25  Jan Hubicka  <jh@suse.cz>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* emulparams/elf_x86_64.sh (LARGE_SECTIONS): New.

	* scripttempl/elf.sc: Updated for large section support.
2005-07-25 15:41:08 +00:00
H.J. Lu
a4d8e49b50 2005-07-25 H.J. Lu <hongjiu.lu@intel.com>
* elf-bfd.h (elf_backend_data): Add common_definition,
	common_section_index, common_section, and merge_symbol.
	(_bfd_elf_common_definition): New.
	(_bfd_elf_common_section_index): New.
	(_bfd_elf_common_section): New.

	* elf.c (elf_fake_sections): Don't clear sh_flags.

	* elflink.c (_bfd_elf_merge_symbol): Call backend merge_symbol
	if it is available.
	(is_global_data_symbol_definition): Call backend
	common_definition instead of checking SHN_COMMON.
	(elf_link_add_object_symbols): Likewise.
	(elf_link_output_extsym): Call backend common_section_index
	for common section index.
	(_bfd_elf_common_definition): New.
	(_bfd_elf_common_section_index): New.
	(_bfd_elf_common_section): New.

	* elfxx-target.h (elf_backend_common_definition): New.
	(elf_backend_common_section_index): New.
	(elf_backend_common_section): New.
	(elf_backend_merge_symbol): New.
	(elfNN_bed): Initialize common_definition, common_section_index,
	common_section, and merge_symbol.

	* section.c (BFD_FAKE_SECTION): New.
	(STD_SECTION): Use it.
	* bfd-in2.h: Regenerated.
2005-07-25 15:35:37 +00:00
H.J. Lu
58ac56d0c8 2005-07-23 Olaf Hering <olh@suse.de>
* elflink.c (elf_link_input_bfd): Add '\n' for linker einfo
	callback.
2005-07-23 15:42:51 +00:00
Nick Clifton
9f971fcbd4 Remove special case handling for rtems targets that are sufficiently handled by
the default rtems targets.
2005-07-22 10:34:30 +00:00
Nick Clifton
a9b7b1745d (m32r_elf_check_relocs): Fix pc count for R_M32R_REL32. 2005-07-22 10:27:44 +00:00
Ben Elliston
240a342512 bfd/
* Makefile.am (BFD32_BACKENDS): Remove cf-m68klynx.lo.
	(BFD32_BACKENDS): Likewise, remove m68klynx.lo.
	(BFD32_BACKENDS_CFILES): Remove cf-m68klynx.c, m68klynx.c.
	(cf-m68klynx.lo, m68klynx.lo): Remove targets.
	* Makefile.in: Regenerate.
	* cf-m68klynx.c: Remove.
	* m68klynx.c: Likewise.
	* configure.in (m68klynx_aout_vec): Remove vector.
	(m68klynx_coff_vec): Likewise.
	* configure: Regenerate.
	* targets.c (m68klynx_aout_vec): Remove extern.
	(m68klynx_coff_vec): Likewise.
	(_bfd_target_vector): Remove m68klynx_{aout,coff}_vec.
	* po/SRC-POTFILES.in: Remove cf-m68klynx.c, m68klynx.c.
gas/
	* config/tc-m68k.h: Remove TE_LYNX conditional code.
2005-07-21 13:23:37 +00:00
Nick Clifton
157e7bd196 Add support for a 32bit PC relative reloc 2005-07-20 11:35:03 +00:00
Nick Clifton
85da3a565d Add ChangeLog entries for yesterdays deltas (oops!) 2005-07-19 10:01:32 +00:00
Jan Beulich
ac2aa337d3 bfd/
2005-07-18  Jan Beulich  <jbeulich@novell.com>

	* elf32-i386.c (elf_howto_table): Adjust overflow complaint handler
	for R_386_PC16.
	* elf64-x86-64.c (x86_64_elf_howto_table): Adjust overflow complaint
	handler for R_X86_64_PC16, R_X86_64_8, and R_X86_64_DTPOFF.

ld/testsuite/
2005-07-18  Jan Beulich  <jbeulich@novell.com>

	* ld-i386/abs.s, ld-i386/zero.s, ld-i386/abs.d, ld-x86-64/abs.d,
	ld-i386/pcrel16.s, ld-i386/pcrel16.d, ld-x86-64/pcrel16.d,
	ld-i386/pcrel8.s, ld-i386/pcrel8.d, ld-x86-64/pcrel8.d: New.
	* ld-i386/i386.exp, ld-x86-64/x86-64.exp: Run new tests.
2005-07-18 06:23:40 +00:00
Eric Botcazou
9a20ed6e90 Fix typo in the date. 2005-07-16 15:21:10 +00:00
Eric Botcazou
cc86ff917d PR ld/1021
PR ld/1031
	* elflink.c (elf_link_add_object_symbols): Also append the version
	name to non-hidden absolute symbols that are functions.
2005-07-16 15:08:14 +00:00
Alan Modra
42fa7765a2 bfd/
* elf32-ppc.c (ppc_elf_set_sdata_syms): Return void.  Remove hack
	for zero size sections.  Don't set .sbss syms here.
	* elf32-ppc.h (ppc_elf_set_sdata_syms): Adjust prototype.
ld/
	* emultempl/elf32.em (gld*_provide_init_fini_syms): Prototype.
	(gld*_before_allocation): Call ldemul_do_assignments rather than
	gld*_provide_init_fini_syms directly.
	* emultempl/ppc32elf.em (gld*_after_allocation): Delete.
	(ppc_do_assignments): New function.
	(LDEMUL_AFTER_ALLOCATION): Don't define.
	(LDEMUL_DO_ASSIGNMENTS): Define.
2005-07-16 03:30:24 +00:00
Alan Modra
0f82ff91a0 bfd/
* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
opcodes/
	* Makefile.am: Run "make dep-am".
	(stamp-m32c): Fix cpu dependencies.
	* Makefile.in: Regenerate.
	* ip2k-dis.c: Regenerate.
binutils/
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
gas/
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
ld/
	* Makefile.am: Run "make dep-am".
	(emipsidt.c, emipsidtl.c): Depend on generic.em.
	* Makefile.in: Regenerate.
2005-07-16 02:03:55 +00:00
Bob Wilson
2db662bee4 * elf32-xtensa.c (vsprint_msg): Add prototype.
(build_encoding_error_message): Delete.  Code moved into....
        (elf_xtensa_do_reloc): ....here, and changed to give better
        error messages for out of range literals.
2005-07-15 20:43:37 +00:00
Alan Modra
eaae8ded62 * elflink.c (bfd_elf_record_link_assignment): Remove output_bfd param.
(_bfd_elf_provide_symbol): Allow redefinition of weak syms and those
	defined in output sections.  Call bfd_elf_record_link_assignment.
	* bfd-in.h (bfd_elf_record_link_assignment): Update prototype.
	* bfd-in2.h: Regenerate.
2005-07-15 12:18:01 +00:00
Jim Blandy
49f58d10f8 ChangeLog:
2005-07-14  Jim Blandy  <jimb@redhat.com>

	* configure.in: Add cases for Renesas m32c.
	* configure: Regenerated.

bfd/ChangeLog:
2005-07-14  Jim Blandy  <jimb@redhat.com>

	Add support for m32c-*-elf (Renesas m32c and m16c).
	* Makefile.am (ALL_MACHINES): Add cpu-m32c.lo.
	(ALL_MACHINES_CFILES): Add cpu-m32c.c.
	(BFD32_BACKENDS): Add elf32-m32c.lo.
	(BFD32_BACKENDS_CFILES): Add elf32-m32c.c.
	(cpu-m32c.lo, elf32-m32c.lo): New rules, generated by 'make dep-am'.
	* Makefile.in: Regenerated.
	* archures.c (bfd_arch_m32c, bfd_mach_m16c, bfd_mach_m32c): New
	arch and mach codes.
	(bfd_m32c_arch): New arch info object.
	(bfd_archures_list): List bfd_m32c_arch.
	* bfd-in2.h: Regenerated.
	* config.bfd: Add case for the m32c.
	* configure.in: Add case for the m32c.
	* configure: Regenerated.
	* cpu-m32c.c, elf32-m32c.c: New files.
	* libbfd.h: Regenerated.
	* targets.c (bfd_elf32_m32c_vec): Declare.
	(_bfd_target_vector): List bfd_elf32_m32c_vec.

binutils/ChangeLog:
2005-07-14  Jim Blandy  <jimb@redhat.com>

	* readelf.c: #include "elf/m32c.h"
	(guess_is_rela, dump_relocations, get_machine_name): Add cases for
	EM_M32C.
	* Makefile.am (readelf.o): Update dependencies.
	* Makefile.in: Regenerated.

cpu/ChangeLog:
2005-07-14  Jim Blandy  <jimb@redhat.com>

	* m32c.cpu, m32c.opc: Machine description for the Renesas M32C.

gas/ChangeLog:
2005-07-14  Jim Blandy  <jimb@redhat.com>

	Add support for the Renesas M32C.
	* Makefile.am (CPU_TYPES): List m32c.
	(TARGET_CPU_CFILES): List config/tc-m32c.c.
	(TARGET_CPU_HFILES): List config/tc-m32c.h.
	* configure.in: Add case for m32c.
	* configure.tgt: Add cases for m32c and m32c-*-elf.
	* configure: Regenerated.
	* config/tc-m32c.c, config/tc-m32c.h: New files.
	* doc/Makefile.am (CPU_DOCS): Add c-m32c.texi.
	* doc/Makefile.in: Regenerated.
	* doc/all.texi: Set M32C.
	* doc/as.texinfo: Add text for the M32C-specific options and line
	comment characters, and refer to c-m32c.texi.
	* doc/c-m32c.texi: New file.

include/ChangeLog:
2005-07-14  Jim Blandy  <jimb@redhat.com>

	* dis-asm.h (print_insn_m32c): New declaration.

include/elf/ChangeLog:
2005-07-14  Jim Blandy  <jimb@redhat.com>

	Add support for Renesas M32C and M16C.
	* common.h (EM_M32C): New machine number.
	* m32c.h: New file.

ld/ChangeLog:
2005-07-14  Jim Blandy  <jimb@redhat.com>

	Add support for the Renesas M32C and M16C.
	* Makefile.am (ALL_EMULATIONS): Add eelf32m32c.o.
	(eelf32m32c.c): New target.
	* Makefile.in: Regenerated.
	* configure.tgt: Add case for m32c-*-elf.
	* emulparams/elf32m32c.sh: New file.

opcodes/ChangeLog:
2005-07-14  Jim Blandy  <jimb@redhat.com>

	Add support for the Renesas M32C and M16C.
	* m32c-asm.c, m32c-desc.c, m32c-dis.c, m32c-ibld.c, m32c-opc.c: New.
	* m32c-desc.h, m32c-opc.h: New.
	* Makefile.am (HFILES): List m32c-desc.h and m32c-opc.h.
	(CFILES): List m32c-asm.c, m32c-desc.c, m32c-dis.c, m32c-ibld.c,
	m32c-opc.c.
	(ALL_MACHINES): List m32c-asm.lo, m32c-desc.lo, m32c-dis.lo,
	m32c-ibld.lo, m32c-opc.lo.
	(CLEANFILES): List stamp-m32c.
	(M32C_DEPS): List stamp-m32c, if CGEN_MAINT.
	(CGEN_CPUS): Add m32c.
	(m32c-asm.c, m32c-desc.c, m32c-dis.c, m32c-ibld.c, m32c-opc.c)
	(m32c-desc.h, m32c-opc.h): Depend on M32C_DEPS.
	(m32c_opc_h): New variable.
	(stamp-m32c, m32c-asm.lo, m32c-desc.lo, m32c-dis.lo, m32c-ibld.lo)
	(m32c-opc.lo): New rules.
	* Makefile.in: Regenerated.
	* configure.in: Add case for bfd_m32c_arch.
	* configure: Regenerated.
	* disassemble.c (ARCH_m32c): New.
	[ARCH_m32c]: #include "m32c-desc.h".
	(disassembler) [ARCH_m32c]: Add case for bfd_arch_m32c.
	(disassemble_init_for_target) [ARCH_m32c]: Same.

	* cgen-ops.h, cgen-types.h: New files.
	* Makefile.am (HFILES): List them.
	* Makefile.in: Regenerated.
2005-07-14 22:52:28 +00:00
Alan Modra
a3c2b96af6 bfd/
* bfd-in.h (_bfd_elf_fix_excluded_sec_syms): Declare.
	(_bfd_elf_provide_section_bound_symbols): Remove param name.
	Formatting.
	* bfd-in2.h: Regenerate.
	* elflink.c (bfd_elf_gc_sections): Don't call generic function.
	(_bfd_elf_provide_symbol): Formatting.
	(_bfd_elf_provide_section_bound_symbols): Remove all hacks, just
	create section relative syms.
	(fix_syms, _bfd_elf_fix_excluded_sec_syms): New functions.
	* elf32-ppc.c (ppc_elf_set_sdata_syms): Use
	_bfd_elf_provide_section_bound_symbols.
	* reloc.c (bfd_mark_used_section): Delete.
	(bfd_generic_gc_sections): Don't call the above.
ld/
	* ldlang.c (strip_excluded_output_sections): Don't call
	bfd_gc_sections.
	* emultempl/elf32.em (gld*_provide_bound_symbols): Move.
	(gld*_provide_init_fini_syms): Move.
	(gld*_before_allocation): Call the above from here..
	(gld*_finish): ..not here.  Call _bfd_elf_fix_excluded_sec_syms.
	* emultempl/hppaelf.em (hppaelf_finish): Likewise.
	* emultempl/ppc64elf.em (ppc_finish): Likewise.
2005-07-14 13:54:23 +00:00
Nick Clifton
cb4aa4730f Add PR number for the last ChangeLog entry. 2005-07-14 07:22:37 +00:00
Nick Clifton
1787c3409c (bfd_last_cache): Initialise to NULL. 2005-07-14 07:22:02 +00:00
Nick Clifton
15ac1d4f68 Add code to detect and either handle or issue an error message for binaries
created by the DEC ALPHA compilers.
2005-07-14 07:07:46 +00:00
Steve Ellcey
d49093754d * bfd.m4 (BFD_NEED_DECLARATION): Remove. 2005-07-13 21:19:13 +00:00
Alan Modra
15b552e906 * elf64-ppc.c (ppc64_elf_relocate_section): Don't use a plt stub
when !can_plt_call.
2005-07-12 12:03:57 +00:00
Alan Modra
70961b9d70 * elf32-xtensa.c (bfd_elf_xtensa_reloc): Warning fix. 2005-07-12 11:53:56 +00:00
Alan Modra
632a56fd4c * elf32-ppc.c (ppc_elf_set_sdata_syms): Correct __sbss_start value. 2005-07-12 11:39:42 +00:00
H.J. Lu
49ff44d641 2005-07-11 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (_bfd_elf_symbol_refs_local_p): Revert the last
	change.
2005-07-11 17:40:25 +00:00
Paul Koning
0af4cd7c60 2005-07-08 Paul Koning <pkoning@equallogic.com>
* dwarf2.c (read_address): Check sign_extend_vma to handle targets
	where addresses are sign extended.
2005-07-08 21:42:33 +00:00
Nick Clifton
7e4e2059b5 Mark i960-*-rtems*, or32-*-rtems* as obsolete.
Mark a29k-*rtems*, hppa*-*-rtems*, *-go32-rtems*, i[3-7]86*-*-rtemscoff*,
  mips*el-*-rtems*, powerpcle-*-rtems*,	sparc*-*-rtemsaout* as removed
2005-07-08 11:17:16 +00:00
Alan Modra
c456f0829f * elf-hppa.h (elf_hppa_final_link): Use gp val of zero when none
of the usual sections are found.
	* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Tidy.
	Strip .dynbss if it is zero size.
	* elf32-arm.c (elf32_arm_size_dynamic_sections): Likewise.
	* elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
	* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
	* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise, and
	.dynsbss.
	(i370_elf_finish_dynamic_sections): Don't attempt to write .got
	when it is zero size.
	* elf32-i386.c (elf_i386_size_dynamic_sections): Correct handling
	of .dynbss and zero size sections.
	* elf32-m32r.c (m32r_elf_size_dynamic_sections): Strip .dynbss if
	it is zero size.
	* elf32-m68k.c (elf_m68k_size_dynamic_sections): Tidy.  Strip
	.dynbss if zero size.
	* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise, .dynsbss
	too.
	* elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
	* elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
	* elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
	* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Tidy.  Strip
	.plt.* and .got.plt.* if zero size.
	* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Tidy.  Strip
	.got* and .dynbss if zero size.
	* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Tidy.  Strip
	* elf64-ppc.c (create_linkage_sections): Create branch lookup table
	in .data.rel.ro.brlt or .rodata.brlt, and similarly for associated
	reloc section.
	(create_got_section): Always create new .got and .rela.got sections.
	(ppc64_elf_size_dynamic_sections): Tidy.  Strip .dynbss if zero size.
	* elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
	* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
	* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections): Handle
	dynamic bss sections correctly.
	* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Tidy.
	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Tidy.  Strip
	.dynbss if zero size.
2005-07-08 06:20:06 +00:00
Ben Elliston
6c98dd1ecb * elf32-xtensa.c: Include <stdarg.h> unconditionally, not only
when ANSI_PROTOTYPES is defined.  Remove #ifdef logic.
2005-07-08 05:44:53 +00:00
H.J. Lu
29ef70053f 2005-07-07 H.J. Lu <hongjiu.lu@intel.com>
* elf-bfd.h (elf_backend_data): Add special_sections.

	* elf.c (_bfd_elf_get_sec_type_attr): Check special_sections
	first.

	* elf32-arm.c (elf_backend_get_sec_type_attr): Removed.
	(elf_backend_special_sections): New. Defined.
	* elf32-m32r.c: Likewise.
	* elf32-m68hc11.c: Likewise.
	* elf32-m68hc12.c: Likewise.
	* elf32-mcore.c: Likewise.
	* elf32-sh64.c: Likewise.
	* elf32-v850.c: Likewise.
	* elf32-xtensa.c: Likewise.
	* elf64-alpha.c: Likewise.
	* elf64-hppa.c: Likewise.
	* elf64-ppc.c: Likewise.
	* elf64-sh64.c: Likewise.
	* elfxx-ia64.c: Likewise.
	* elfxx-mips.c: Likewise.
	* elfxx-mips.h: Likewise.

	* elfxx-target.h (elf_backend_special_sections): New.
	(elfNN_bed): Initialize special_sections.
2005-07-08 00:26:53 +00:00
Bob Wilson
074f51093b * xtensa-modules.c: Update tables with Xtensa MMU features. 2005-07-07 21:50:57 +00:00
Jim Wilson
0fd3a4776c Kaveh Ghazi's printf format attribute checking patch.
bfd:
	* elf32-xtensa.c (vsprint_msg): Add format attribute.  Fix
	format bugs.
	* vms.h (_bfd_vms_debug): Add format attribute.
	(_bfd_vms_debug, _bfd_hexdump): Fix typos.

binutils:
	* bucomm.h (report): Add format attribute.
	* dlltool.c (inform): Likewise.
	* dllwrap.c (display, inform, warn): Likewise.
	* objdump.c (objdump_sprintf): Likewise.
	* readelf.c (error, warn): Likewise.  Fix format bugs.

gas:
	* config/tc-tic30.c (debug): Add format attribute.  Fix format
	bugs.

include:
	* dis-asm.h (fprintf_ftype): Add format attribute.

opcodes:
	* arc-dis.c, arm-dis.c, cris-dis.c, crx-dis.c, d10v-dis.c,
	d30v-dis.c, fr30-dis.c, h8300-dis.c, h8500-dis.c, i860-dis.c,
	ia64-dis.c, ip2k-dis.c, m10200-dis.c, m10300-dis.c,
	m88k-dis.c, mcore-dis.c, mips-dis.c, ms1-dis.c, or32-dis.c,
	ppc-dis.c, sh64-dis.c, sparc-dis.c, tic4x-dis.c, tic80-dis.c,
	v850-dis.c: Fix format bugs.
	* ia64-gen.c (fail, warn): Add format attribute.
	* or32-opc.c (debug): Likewise.
2005-07-07 19:27:52 +00:00
H.J. Lu
9968d831f9 2005-07-07 H.J. Lu <hongjiu.lu@intel.com>
PR 975
	* elflink.c (_bfd_elf_symbol_refs_local_p): Only undefined
	symbol with default visibility is local.
2005-07-07 17:44:58 +00:00
Ben Elliston
3b1fcf963b * config.bfd: Mark m68*-*-rtemscoff as obsolete. 2005-07-07 12:12:40 +00:00
H.J. Lu
5cf2e3f01e 2005-07-06 H.J. Lu <hongjiu.lu@intel.com>
* dwarf2.c (varinfo): Add addr.
	(lookup_symbol_in_variable_table): Also check addr.
	(scan_unit_for_symbols): Set addr for variable.
	(comp_unit_find_line): Updated.
2005-07-06 13:43:21 +00:00
Nick Clifton
0adc9281f0 coff-alpha.c (alpha_adjust_reloc_in): Issue an informative error message if an
unknown reloc is encountered.
  (alpha_relocate_section): Likewise.
ecoff.c (_bfd_ecoff_write_object_contents): Cope with a reloc with a missing
  howto field.
2005-07-06 10:35:41 +00:00
Alan Modra
cfbe541f8a * po/SRC-POTFILES.in: Add cpu-ms1.c, elf32-ms1.c, elf-vxworks.c,
elfxx-sparc.c.
2005-07-06 08:18:13 +00:00
Paul Brook
d5e3d971f0 2005-07-05 Paul Brook <paul@codesourcery.com>
* elf32-ppc.c (ppc_elf_vxworks_special_sections): Remove.
	(ppc_elf_vxworks_get_sec_type_attr): New function.
	(elf_backend_special_sections): Remove vxwords definition.
	(elf_backend_get_sec_type_attr): Define for vxworks.
2005-07-05 16:52:48 +00:00
Nick Clifton
3ec2b351bd Fix compile time warnings from a GCC 4.0 compiler 2005-07-05 15:07:46 +00:00
Paul Brook
9d8504b17f 2005-05-07 Paul Brook <paul@codesourcery.com>
bfd/
	* config.bfd: Add separate case for ppc-vxworks.
	* configure: Regenerate.
	* configure.in: Include elf-vxworks.lo on ppc targets.
	* elf-vxworks.c (elf_vxworks_final_write_processing): Handle
	.rela.plt.unloaded.
	* elf32-ppc.c: Add VxWorks target vec.	Include elf-vxworks.h.
	(PLT_ENTRY_SIZE, PLT_INITIAL_ENTRY_SIZE, PLT_SLOT_SIZE): Remove.
	(VXWORKS_PLT_ENTRY_SIZE, ppc_elf_vxworks_plt_entry,
	ppc_elf_vxworks_pic_plt_entry, VXWORKS_PLT_INITIAL_ENTRY_SIZE,
	ppc_elf_vxworks_plt0_entry, ppc_elf_vxworks_pic_plt0_entry,
	VXWORKS_PLT_NON_JMP_SLOT_RELOCS, VXWORKS_PLTRESOLVE_RELOCS,
	VXWORKS_PLTRESOLVE_RELOCS_SHLIB): New.
	(ppc_elf_link_hash_table): Add srelplt2, sgotplt, hgot, hplt,
	is_vxworks, plt_entry_size, plt_slot_size, plt_initial_entry_size.
	(ppc_elf_link_hash_table_create): Initialize hadtab plt fields.
	(ppc_elf_create_got): Create .got.plt for VxWorks.
	(ppc_elf_create_dynamic_sections): Create unloaded plt relocation
	section for VxWorks.
	(ppc_elf_select_plt_layout): Handle VxWorks plt format.
	(allocate_got): VxWorks does not need a got header.
	(allocate_dynrelocs): Handle VxWorks plt format.
	(ppc_elf_size_dynamic_sections): Save _G_O_T_ and _P_L_T_ symbols for
	VxWorks.  Handle VxWorks plt/got.
	(ppc_elf_finish_dynamic_sections): Fill in VxWorks plt.
	(ppc_elf_vxworks_special_sections): New.
	(ppc_elf_vxworks_link_hash_table_create,
	ppc_elf_vxworks_add_symbol_hook,
	elf_i386_vxworks_link_output_symbol_hook,
	ppc_elf_vxworks_final_write_processing): New functions.
	* targets.c (bfd_elf32_powerpc_vxworks_vec): Declare.
	(_bfd_target_vector): Use it.
gas/
	* config/tc-ppc.c (ppc_target_format): Add VxWorks.
gas/testsuite/
	* gas/ppc/altivec.d: Match all powerpc target vecs.
	* gas/ppc/booke.d: Ditto.
	* gas/ppc/e500.d: Ditto.
ld/
	* Makefile.am (ALL_EMULATIONS): Add eelf32ppcvxworks.o.
	(eelf32ppcvxworks.o): Add dependencies.
	* Makefile.in: Regenerate.
	* configure.tgt: Add entry for powerpc-vxworks.
	* emulparams/elf32-ppc.c: Mention elf32ppcvxworks.sh in comment.
	* emulparams/elf32ppcvxworks.sh: New file.
	* emultempl/ppc32elf.em (bfd_elf32_powerpc_vxworks_vec): Declare.
	(is_ppc_elf32_vec): New function.
	(ppc_after_open, ppc_before_allocation,
	gld${EMULATION_NAME}_after_allocation): Use it.
2005-07-05 13:25:56 +00:00
Jakub Jelinek
9e492e0549 * libbfd-in.h (struct artdata): Add extended_names_size field.
* libbfd.h: Rebuilt.
	* coff-rs600.c (_bfd_xcoff_archive_p): Don't clear fields in freshly
	allocated object by bfd_zalloc.
	* coff64-rs6000.c (xcoff64_archive_p): Likewise.
	* ecoff.c (_bfd_ecoff_archive_p): Likewise.
	* archive.c (_bfd_generic_mkarchive, bfd_generic_archive_p): Likewise.
	(get_extended_arelt_filename): Fail if index is bigger or equal to
	extended_names_size.
	(_bfd_generic_read_ar_hdr_mag): Don't set bfd_error_malformed_archive,
	get_extended_arelt_filename already did that.
	(_bfd_slurp_extended_name_table): Initialize extended_names_size field.
	Allocate one extra byte and clear it, in case extended names table
	is not terminated.
2005-07-05 09:45:54 +00:00
Jakub Jelinek
d0fb9a8d03 * libbfd-in.h (bfd_malloc2, bfd_realloc2, bfd_zmalloc2, bfd_alloc2,
bfd_zalloc2): New prototypes.
	* bfd-in.h (HALF_BFD_SIZE_TYPE): Define.
	* libbfd.c (bfd_malloc2, bfd_realloc2, bfd_zmalloc2): New functions.
	* opncls.c (bfd_alloc2, bfd_zalloc2): New functions.
	* elf.c (bfd_elf_get_elf_syms, setup_group, assign_section_numbers,
	elf_map_symbols, map_sections_to_segments,
	assign_file_positions_for_segments, copy_private_bfd_data,
	swap_out_syms, _bfd_elf_slurp_version_tables): Use bfd_*alloc2
	where appropriate.
	* bfd-in2.h: Rebuilt.
	* libbfd.h: Rebuilt.

	* elf.c (_bfd_elf_print_private_bfd_data): Don't crash on bogus
	verdef or verneed section.
	(_bfd_elf_slurp_version_tables): Handle corrupt verdef and/or
	verneed sections gracefully.
	* elfxx-sparc.c (_bfd_sparc_elf_info_to_howto_ptr): Don't crash on
	bogus relocation values.
	* elf64-ppc.c (ppc64_elf_info_to_howto): Likewise.
	* elf64-s390.c (elf_s390_info_to_howto): Likewise.
	* elf32-s390.c (elf_s390_info_to_howto): Likewise.
	* elf64-x86-64.c (elf64_x86_64_info_to_howto): Likewise.
	* elfxx-ia64.c (lookup_howto): Likewise.
2005-07-05 09:44:20 +00:00
Jakub Jelinek
c6c60d09fd * elf.c (bfd_elf_get_str_section): Allocate an extra byte after
the end of strtab and clear it.
	(elf_read): Remove.
2005-07-05 09:38:45 +00:00
Nick Clifton
dcd4b381c7 Add Vietnamese translation. 2005-07-05 09:17:22 +00:00
Nick Clifton
8532796c0c (elf32_arm_size_dynamic_sections): Fix a typo and touchup logic like i386/ppc. 2005-07-05 09:14:14 +00:00
Alan Modra
b35d266b30 * elf.c (special_sections): Move const qualifier.
(special_sections_b..special_sections_t): Likewise.
	* elf32-arm.c (elf32_arm_symbian_get_sec_type_attr): Remove duplicate
	const.
	(elf32_arm_symbian_special_sections): Move const qualifier.
	* elf32-m32r.c: Similarly.
	* elf32-m68hc11.c: Similarly.
	* elf32-m68hc12.c: Similarly.
	* elf32-mcore.c: Similarly.
	* elf32-ppc.c: Similarly.
	* elf32-sh64.c: Similarly.
	* elf32-v850.c: Similarly.
	* elf32-xtensa.c: Similarly.
	* elf64-alpha.c: Similarly.
	* elf64-hppa.c: Similarly.
	* elf64-ppc.c: Similarly.
	* elf64-sh64.c: Similarly.
	* elfxx-ia64.c: Similarly.
	* elfxx-mips.c: Similarly.
2005-07-05 06:23:37 +00:00
Nick Clifton
80447b21a9 m32r-linux-ld support for position independent executables 2005-07-04 13:54:36 +00:00
Alan Modra
540b09cb7d PR 1042
* elf.c (assign_file_positions_for_segments): Remove excluded
	sections from the segment map.
2005-07-04 10:30:09 +00:00
Alan Modra
551b43fde1 PR 1004
bfd/
	* elf-bfd.h (struct elf_backend_data): Add get_sec_type_attr.  Delete
	special_sections.
	(_bfd_elf_get_special_section): Declare.
	(bfd_elf_special_section): Update prototype.
	* elf.c (special_sections): Remove unused outer entries.
	(get_special_section): Delete.
	(_bfd_elf_get_special_section): New function.
	(_bfd_elf_get_sec_type_attr): Replace "name" arg with "sec".  Update
	special_sections indexing.
	(_bfd_elf_new_section_hook): Call backend get_sec_type_attr.
	* elf32-arm.c (symbian_special_sections_d): Delete.
	(symbian_special_sections_g, symbian_special_sections_h): Delete.
	(symbian_special_sections_i, symbian_special_sections_f): Delete.
	(symbian_special_sections_p): Delete.
	(elf32_arm_symbian_special_sections): Merge above to here.
	(elf32_arm_symbian_get_sec_type_attr): New function.
	(elf_backend_special_sections): Don't define.
	(elf_backend_get_sec_type_attr): Define.
	* elf32-m32r.c: Similarly to elf32-arm.c.
	* elf32-m68hc11.c: Likewise.
	* elf32-m68hc12.c: Likewise.
	* elf32-mcore.c: Likewise.
	* elf32-sh64.c: Likewise.
	* elf32-v850.c: Likewise.
	* elf32-xtensa.c: Likewise.
	* elf64-alpha.c: Likewise.
	* elf64-hppa.c: Likewise.
	* elf64-ppc.c: Likewise.
	* elf64-sh64.c: Likewise.
	* elfxx-ia64.c: Likewise.
	* elfxx-mips.c: Likewise.
	* elf32-ppc.c: Likewise.
	(bfd_elf_special_section ppc_alt_plt): New.  Use it if .plt loadable.
	* elfxx-mips.h (_bfd_mips_elf_get_sec_type_attr): Declare.
	(_bfd_mips_elf_special_sections, elf_backend_special_sections): Delete.
	(elf_backend_get_sec_type_attr): Define.
	* elfxx-target.h (elf_backend_get_sec_type_attr): Define.
	(elf_backend_special_sections): Don't define.
	(elfNN_bed): Update.

binutils/
	* objcopy.c (copy_object): Use bfd_make_section_with_flags.
	(write_debugging_info): Likewise.
	(setup_section): Use bfd_make_section_anyway_with_flags.
gas/
	* config/obj-elf.c (obj_elf_change_section): Use backend
	get_sec_type_attr.
2005-07-04 01:53:44 +00:00
Nick Clifton
47b0e7ad8c Update function declarations to ISO C90 formatting 2005-07-01 11:16:33 +00:00
Alan Modra
85d162e6db * elf64-alpha.c (elf64_alpha_create_got_section): Always create
a new .got section.
	(elf64_alpha_create_dynamic_sections): Always make new sections
	by using bfd_make_section_anyway_with_flags.  Check that .got not
	already created.
	(elf64_alpha_check_relocs): Delete "got_created".  Use tdata->gotobj
	instead.
2005-07-01 04:46:08 +00:00
Alan Modra
b116d4a7eb * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Ignore dynamic
_SDA_BASE_ and _SDA2_BASE_ symbols.
	* elflink.c (_bfd_elf_provide_symbol): Correct comment.  Define
	sym if not def_regular.
	(_bfd_elf_provide_section_bound_symbols): Similarly.
2005-06-30 08:11:15 +00:00
Ben Elliston
7f41b278fe * config.bfd: Mark as obsolete:
m68*-apollo-*
	    m68*-apple-aux*
	    m68*-bull-sysv*
2005-06-29 21:22:13 +00:00
Alan Modra
39c2f51bd9 * elflink.c (_bfd_elf_gc_mark): Mark sections referenced by
.eh_frame specially..
	(bfd_elf_gc_sections): ..rather than totally ignoring .eh_frame.
	Don't recheck sections we have already marked.
	(elf_gc_sweep): Keep non-code sections referenced from .eh_frame.
	* section.c (struct bfd_section): Add gc_mark_from_eh.
	(STD_SECTION): Adjust.
	* ecoff.c (bfd_debug_section): Adjust.
	* bfd-in2.h: Regenerate.
2005-06-29 14:05:21 +00:00
Alan Modra
e8aaee2ad4 * elflink.c (elf_gc_sweep): Do not refcount on sections that have
not been processed by check_relocs.
2005-06-29 13:56:06 +00:00
Paul Brook
3b2175db9a 2005-06-29 Paul Brook <paul@codesourcery.com>
* bfd-in.h (_bfd_elf_provide_symbol): Update prototype.
	* bfd-in2.h: Regenerate.
	* elf32-ppc.c (ppc_elf_set_sdata_syms): Make sdata symbols section
	relative.
	* elflink.c (bfd_elf_set_symbol): Add section argument.
	(_bfd_elf_provide_symbol): Ditto.
	(_bfd_elf_provide_section_bound_symbols): Pass NULL section argument.
2005-06-29 13:16:44 +00:00
Dave Anglin
a63e02c7f8 * bfd/elf32-hppa.c (struct elf32_hppa_stub_hash_entry):
Use bh_root, and hh.
	(struct elf32_hppa_link_hash_entry): Use eh, and hsh_cache.
	(struct elf32_hppa_dyn_reloc_entry): Use hdh_next.
	(struct elf32_hppa_link_hash_table): Use etab and bstab.
	(stub_hash_newfunc): Use hh.
	(hppa_link_hash_newfunc): Use hsh_cache.
	(elf32_hppa_link_hash_table_create): Use etab, and bstab.
	(elf32_hppa_link_hash_table_free): Use bstab.
	(hppa_stub_name): Use eh.
	(hppa_get_stub_entry): Use hh, hsh_entry, and hsh_cache.
	(hppa_add_stub): Use bstab.
	(hppa_type_of_stub): Use eh.
	(hppa_build_one_stub): Use hh and bh_root.
	(elf32_hppa_copy_indirect_symbol): Use hdh_next.
	(elf32_hppa_check_relocs): Use eh, etab, and hdh_next.
	(elf32_hppa_gc_sweep_hook): Use hdh_next.
	(elf32_hppa_adjust_dynamic_symbol): Use hdh_next, and etab.
	(allocate_plt_static): Use etab.
	(allocate_dynrelocs): Use etab, and hdh_next.
	(readonly_dynrelocs): Use hdh_next.
	(elf32_hppa_size_dynamic_sections): Use etab, and hdh_next.
	(get_local_syms): Use eh, bstab, and hh.
	(elf32_hppa_size_stubs): Use eh, bstab, and hh.
	(elf32_hppa_set_gp): Use etab.
	(elf32_hppa_build_stubs): Use bstab.
	(final_link_relocate): Use eh, bh_root.
	(elf32_hppa_relocate_section): Use elf, etab.
	(elf32_hppa_finish_dynamic_sections): Use etab.
2005-06-27 23:43:43 +00:00
H.J. Lu
5f1cb35385 2005-06-27 H.J. Lu <hongjiu.lu@intel.com>
* elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): Remove
	the extra `;'.
2005-06-27 21:08:10 +00:00
Dave Anglin
875c087201 * bfd/elf32-hppa.c (hppa_elf_hash_entry): Define.
(hppa_stub_hash_entry): Define.
	(stub_hash_newfunc): Rename variables.
	(hppa_link_hash_newfunc): Likewise.
	(elf32_hppa_link_hash_table_free): Likewise.
	(hppa_stub_name): Likewise.
	(hppa_get_stub_entry): Likewise.
	(hppa_add_stub): Likewise.
	(hppa_type_of_stub): Likewise.
	(hppa_build_one_stub): Likewise.
	(hppa_size_one_stub): Likewise.
	(elf32_hppa_create_dynamic_sections): Likewise.
	(elf32_hppa_copy_indirect_symbol): Likewise.
	(elf32_hppa_check_relocs): Likewise.
	(elf32_hppa_gc_mark_hook): Likewise.
	(elf32_hppa_gc_sweep_hook): Likewise.
	(elf32_hppa_grok_psinfo): Likewise.
	(elf32_hppa_hide_symbol): Likewise.
	(elf32_hppa_adjust_dynamic_symbol): Likewise.
	(allocate_dynrelocs): Likewise.
	(clobber_millicode_symbols): Likewise.
	(readonly_dynrelocs): Likewise.
	(elf32_hppa_size_dynamic_sections): Likewise.
	(get_local_syms): Likewise.
	(elf32_hppa_size_stubs): Likewise.
	(hppa_record_segment_addr): Likewise.
	(final_link_relocate): Likewise.
	(elf32_hppa_relocate_section): Likewise.
	(elf32_hppa_finish_dynamic_symbol): Likewise.
2005-06-21 13:53:55 +00:00
H.J. Lu
973a3492d5 2005-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR 1025
	* elf-m10300.c (mn10300_elf_check_relocs): Handle indirect
	symbol.
	* elf32-arm.c (elf32_arm_check_relocs): Likewise.
	* elf32-avr.c (elf32_avr_check_relocs): Likewise.
	* elf32-cris.c (cris_elf_check_relocs): Likewise.
	* elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
	* elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
	* elf32-fr30.c (fr30_elf_check_relocs): Likewise.
	* elf32-frv.c (elf32_frv_check_relocs): Likewise.
	* elf32-i370.c (i370_elf_check_relocs): Likewise.
	* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
	* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
	* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
	* elf32-m68k.c (elf_m68k_check_relocs): Likewise.
	* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
	* elf32-ms1.c (ms1_elf_check_relocs): Likewise.
	* elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
	* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
	* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
	* elf32-s390.c (elf_s390_check_relocs): Likewise.
	* elf32-sh.c (sh_elf_check_relocs): Likewise.
	* elf32-v850.c (v850_elf_check_relocs): Likewise.
	* elf32-vax.c (elf_vax_check_relocs): Likewise.
	* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
	* elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
	* elf64-s390.c (elf_s390_check_relocs): Likewise.
	* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
	* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
	* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
2005-06-20 18:12:11 +00:00
H.J. Lu
f7c5057a52 2005-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR 1022
	* elf32-hppa.c (elf32_hppa_check_relocs): Handle indirect
	symbol.
2005-06-20 13:06:27 +00:00
H.J. Lu
71cb94647f 2005-06-20 H.J. Lu <hongjiu.lu@intel.com>
PR 1025:
	* elf32-i386.c (elf_i386_check_relocs): Handle indirect symbol.
	* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
2005-06-20 12:59:49 +00:00
H.J. Lu
73d147dcf0 2005-06-18 H.J. Lu <hongjiu.lu@intel.com>
* reloc.c: Add BFD_RELOC_X86_64_GOTOFF64 and
	BFD_RELOC_X86_64_GOTPC32.
	* bfd-in2.h: Regenerated.
2005-06-18 13:23:06 +00:00
Jakub Jelinek
aa2ca951cf * elf.c (bfd_section_from_shdr): Kill bogus warning. 2005-06-17 15:48:25 +00:00
Jakub Jelinek
a50b216054 * elf.c (bfd_section_from_shdr): Fail if sh_entsize is bogus for
symbol, relocation, group or versym sections.

	* coffcode.h (coff_slurp_reloc_table): Don't crash if native_relocs
	is NULL.
	* peXXigen.c (pe_print_idata): Don't crash if dll_name or start_address
	doesn't point into the section.
2005-06-17 13:39:56 +00:00
Jan Beulich
d6ab8113e3 bfd/
2005-06-17  Jan Beulich  <jbeulich@novell.com>

	* bfd-in2.h (elf_x86_64_reloc_type): Add BFD_RELOC_X86_64_GOTOFF64
	and BFD_RELOC_X86_64_GOTPC32.
	* libbfd.h (bfd_reloc_code_real_names): Likewise.
	* elf64-x86-64.c (x86_64_elf_howto_table): Add entries for
	R_X86_64_PC64, R_X86_64_GOTOFF64, and R_X86_64_GOTPC32.
	(x86_64_reloc_map): Add entries for R_X86_64_PC64, R_X86_64_GOTOFF64,
	and R_X86_64_GOTPC32.
	(elf64_x86_64_info_to_howto): Adjust bounding relocation type.
	(elf64_x86_64_check_relocs): Also handle R_X86_64_PC64,
	R_X86_64_GOTOFF64, and R_X86_64_GOTPC32.
	(elf64_x86_64_relocate_section): Likewise.
	(elf64_x86_64_gc_sweep_hook): Also handle R_X86_64_PC64.

gas/
2005-06-17  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (reloc): Also handle BFD_RELOC_64_PCREL.
	(tc_i386_fix_adjustable): Include BFD_RELOC_X86_64_GOTOFF64,
	BFD_RELOC_X86_64_DTPOFF64, and BFD_RELOC_X86_64_TPOFF64.
	(output_disp): Do GOTPC conversion also for BFD_RELOC_X86_64_32S
	and BFD_RELOC_32_PCREL. Use BFD_RELOC_X86_64_GOTPC32 instead of
	aborting.
	(output_imm): Do GOTPC conversion also for BFD_RELOC_X86_64_32S.
	Use BFD_RELOC_X86_64_GOTPC32 instead of aborting.
	(tc_gen_reloc): Do GOTPC conversion also for BFD_RELOC_32_PCREL.
	Use BFD_RELOC_X86_64_GOTPC32 instead of aborting. Also handle
	BFD_RELOC_X86_64_GOTOFF64, BFD_RELOC_X86_64_GOTPC32,
	BFD_RELOC_X86_64_DTPOFF64, and BFD_RELOC_X86_64_TPOFF64. Also
	convert 8-byte pc-relative relocations.
	(lex_got): Use BFD_RELOC_X86_64_GOTOFF64 for 64-bit @gotoff.
	(i386_validate_fix): Likewise.
	(x86_cons): Also handle quad values in 64-bit mode.
	(i386_displacement): Also handle BFD_RELOC_X86_64_GOTOFF64.
	(md_apply_fix): Include BFD_RELOC_X86_64_DTPOFF64 and
	BFD_RELOC_X86_64_TPOFF64 in the TLS check. Also convert BFD_RELOC_64
	to pc-relative variant. Also check for BFD_RELOC_64_PCREL.

gas/testsuite/
2005-06-17  Jan Beulich  <jbeulich@novell.com>

	* gas/i386/x86-64-pcrel.s: Add insn requiring 64-bit pc-relative
	relocation. Add insns for all widths of non-pc-relative relocations.
	* gas/i386/x86-64-pcrel.d: Adjust.

include/elf/
2005-06-17  Jan Beulich  <jbeulich@novell.com>

	* x86-64.h (elf_x86_64_reloc_type): Adjust comment for
	R_X86_64_GOTPCREL. Add R_X86_64_PC64, R_X86_64_GOTOFF64, and
	R_X86_64_GOTPC32.
2005-06-17 08:03:59 +00:00
Mark Kettenis
b820f1e4a8 * archive.c: Include "libiberty.h". 2005-06-16 08:05:39 +00:00
Nick Clifton
4676756165 * elf32-v850.c (ELF_MACHINE_ALT2): Define so that binaries produced by the
GreenHills toolchain can be assimilated.
2005-06-15 08:22:45 +00:00
Dave Anglin
580a09db88 * som.c (som_find_inliner_info): New. 2005-06-15 00:16:10 +00:00
H.J. Lu
91134c823b 2005-06-14 H.J. Lu <hongjiu.lu@intel.com>
* elflink.c (_bfd_elf_merge_symbol): Fix a typo in comment.
2005-06-14 19:25:45 +00:00
Jakub Jelinek
933d961a3c * elf.c (bfd_section_from_shdr): Fail if name is NULL.
Prevent endless recursion on broken objects.

	* archive.c (do_slurp_coff_armap): Check for overflows.
2005-06-14 11:04:22 +00:00
Daniel Jacobowitz
9a44bbd9a9 * elfcode.h (elf_write_relocs): Do nothing if there are no
relocations.
2005-06-10 20:22:23 +00:00
Alan Modra
75758e9ddb * dwarf2.c (decode_line_info): Revert last change. Instead set
initial low_pc to -1 to avoid need to test whether loc_pc has
	been set.
2005-06-10 10:14:23 +00:00
Christopher Faylor
2ae0844c54 * coffcode.h (sec_to_styp_flags): Set appropriate section flags when either
SEC_ALLOC OR SEC_LOAD.
2005-06-09 19:22:15 +00:00
Christopher Faylor
3b137b9a08 * coffcode.h (sec_to_styp_flags): Remove read/write flags from noload section
header.  Do not add STYP_NOLOAD since it does not appear to be a valid PE flag.
2005-06-09 14:40:50 +00:00
H.J. Lu
6bd00c5db5 2005-06-09 H.J. Lu <hongjiu.lu@intel.com>
PR 1000
	* dwarf2.c (lookup_address_in_line_info_table): Restore code
	handling NULL function info, removed with 2005-04-03 change.
2005-06-09 13:32:30 +00:00
Mark Mitchell
a366f4ff7b * opncls.c (bfd_fopen): Mark returned BFD as cacheable if FD == -1. 2005-06-09 07:30:19 +00:00
Alan Modra
0e58fcf315 * elflink.c (elf_mark_used_section): Delete.
(bfd_elf_gc_sections): Call bfd_generic_gc_sections.
	* reloc.c (bfd_mark_used_section): New function.
	(bfd_generic_gc_sections): Call bfd_mark_used_section.
2005-06-09 02:02:18 +00:00
Alan Modra
d83747fa84 * opncls.c (bfd_fdopenr): Don't set bfd_error unconditionally. 2005-06-08 03:51:32 +00:00
Alan Modra
92a7c1b8ba * opncls.c (bfd_fopen): Don't set bfd_error unconditionally. 2005-06-08 03:16:48 +00:00
Mark Mitchell
dfab97d66b * opncls.c (bfd_fdopenr): Add missing break statements. 2005-06-08 00:00:05 +00:00
Mark Mitchell
2d0123b785 * opncls.c (bfd_fopen): New API.
(bfd_openr): Use it.
	(bfd_fdopenr): Likewise.
	* bfd-in2.h: Regenerated.
2005-06-07 22:53:32 +00:00
Aldy Hernandez
de33e64021 * Makefile.am (ALL_MACHINES): Add ms1 support.
(ALL_MACHINES_CFILES): Same.
	(BFD32_BACKENDS): Same.
	(BFD32_BACKENDS_CFILES): Same.

	* Makefile.in: Regenerate.

	* archures.c (bfd_architecture): Add ms1 entries.
	Externalize bfd_ms1_arch.
	(bfd_archures_list): Add bfd_ms1_arch.

	* bfd-in2.h: Regenerate.

	* cpu-ms1.c: New file.

	* elf32-ms1.c: New file.

	* targets.c: Define extern of bfd_elf32_ms1_vec.
	Add bfd_elf32_ms1_vec to _bfd_target_vector.

	* configure.in: Add bfd_elf32_ms1_vec case.

	* configure: Regenerate.

	* config.bfd: Add ms1-*-elf to table.
2005-06-07 21:07:32 +00:00
Zack Weinberg
55cf6793d8 gas:
* cgen.c, cgen.h, tc.h, write.c, config/obj-coff.c
	* config/tc-a29k.c, config/tc-alpha.c, config/tc-alpha.h
	* config/tc-arc.c, config/tc-arc.h, config/tc-arm.c
	* config/tc-arm.h, config/tc-avr.c, config/tc-avr.h
	* config/tc-cris.c, config/tc-crx.c, config/tc-d10v.c
	* config/tc-d10v.h, config/tc-d30v.c, config/tc-d30v.h
	* config/tc-dlx.c, config/tc-dlx.h, config/tc-fr30.h
	* config/tc-frv.c, config/tc-frv.h, config/tc-h8300.c
	* config/tc-h8500.c, config/tc-hppa.c, config/tc-hppa.h
	* config/tc-i370.c, config/tc-i370.h, config/tc-i386.c
	* config/tc-i386.h, config/tc-i860.c, config/tc-i860.h
	* config/tc-i960.c, config/tc-i960.h, config/tc-ia64.c
	* config/tc-ip2k.c, config/tc-ip2k.h, config/tc-iq2000.c
	* config/tc-iq2000.h, config/tc-m32r.c, config/tc-m32r.h
	* config/tc-m68hc11.c, config/tc-m68hc11.h, config/tc-m68k.c
	* config/tc-m68k.h, config/tc-m88k.c, config/tc-maxq.c
	* config/tc-mcore.c, config/tc-mcore.h, config/tc-mips.c
	* config/tc-mips.h, config/tc-mmix.c, config/tc-mn10200.c
	* config/tc-mn10300.c, config/tc-msp430.c, config/tc-ns32k.c
	* config/tc-openrisc.h, config/tc-or32.c, config/tc-or32.h
	* config/tc-pdp11.c, config/tc-pj.c, config/tc-pj.h
	* config/tc-ppc.c, config/tc-ppc.h, config/tc-s390.c
	* config/tc-s390.h, config/tc-sh64.c, config/tc-sh.c
	* config/tc-sh.h, config/tc-sparc.c, config/tc-sparc.h
	* config/tc-tahoe.c, config/tc-tic30.c, config/tc-tic4x.c
	* config/tc-tic54x.c, config/tc-tic80.c, config/tc-v850.c
	* config/tc-v850.h, config/tc-vax.c, config/tc-vax.h
	* config/tc-w65.c, config/tc-xstormy16.c, config/tc-xstormy16.h
	* config/tc-xtensa.c, config/tc-z8k.c:
	Replace all instances of the string "_apply_fix3" with
	"_apply_fix".
	* po/POTFILES.in, po/gas.pot: Regenerate.
bfd:
	* coff-i386.c: Change md_apply_fix3 to md_apply_fix in comment.
cgen:
	* doc/porting.texi: Change all mention of md_apply_fix3 and
	gas_cgen_md_apply_fix3 to md_apply_fix and gas_cgen_md_apply_fix
	respectively.
2005-06-07 17:54:22 +00:00
Alan Modra
4575b1b508 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Init _bfd_find_line.
* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
2005-06-07 03:13:05 +00:00
H.J. Lu
5420f73dbb bfd/
2005-06-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR 990
	* bfd.c (bfd_find_line): New.

	* dwarf2.c (comp_unit): Add variable_table.
	(funcinfo): Add file, line, and sec.
	(varinfo): New.
	(lookup_symbol_in_function_table): New.
	(lookup_symbol_in_variable_table): New.
	(scan_unit_for_functions): Renamed to ...
	(scan_unit_for_symbols): This. Handle DW_TAG_entry_point and
	DW_TAG_variable.
	(comp_unit_find_nearest_line): Updated.
	(comp_unit_find_line): New.
	(_bfd_dwarf2_find_line): New.

	* elf-bfd.h (_bfd_elf_find_line): New.
	(_bfd_generic_find_line): New. Defined.

	* elf.c (_bfd_elf_find_line): New.

	* libbfd-in.h (_bfd_dwarf2_find_line): New.
	(_bfd_generic_find_line): New.

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

	* libbfd.c (_bfd_generic_find_line): New.

	* targets.c (BFD_JUMP_TABLE_SYMBOLS): Initialize _bfd_find_line
	with _bfd_generic_find_line.
	(bfd_target): Add _bfd_find_line.

binutils/

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

	PR 990
	* nm.c (print_symbol): Call bfd_find_line before
	bfd_find_nearest_line.
2005-06-06 14:28:31 +00:00
H.J. Lu
b42f9a05b6 2005-06-06 H.J. Lu <hongjiu.lu@intel.com>
* dwarf2.c (decode_line_info): Properly set low_pc.
2005-06-06 14:16:45 +00:00
Alan Modra
46de2a7c48 * elf64-ppc.c (ppc_stub_name): Return immediately on bfd_malloc fail.
(ppc64_elf_edit_opd): Ignore zero size .opd.  Check bfd_alloc
	return value.
2005-06-06 13:16:15 +00:00
Alan Modra
b4f4e59fff bfd/
* elf64-pcc.c (ppc64_elf_gc_mark_hook): For the local sym in .opd
	case, include addend when indexing .opd section map.
	(ppc64_elf_edit_opd): Add no_opd_opt param.  Do nothing besides
	clear opd_adjust array if no_opd_opt set.  Tidy code.
	* elf64-ppc.h (ppc64_elf_edit_opd): Update prototype.
ld/
	* emultempl/ppc64elf.em (ppc_before_allocation): Always run
	ppc64_elf_edit_opd.
2005-06-06 12:59:59 +00:00