Commit graph

3860 commits

Author SHA1 Message Date
Alan Modra
8acf204224 daily update 2004-09-05 00:00:07 +00:00
Alan Modra
3e540f2516 * bfd.c (_bfd_default_error_handler): Correct loop exit. 2004-09-04 01:30:21 +00:00
Alan Modra
c58996d84d daily update 2004-09-04 00:00:06 +00:00
Mark Mitchell
e5a52504a5 * config.bfd (arm*-*-symbianelf*): Use OS-specific target vectors.
* configure.in (bfd_elf32_bigarm_symbian_vec): Add it.
	(bfd_elf32_littlearm_symbian_vec): Likewise.
	* configure: Regenerated.
	* elf-bfd.h (elf_backend_data): Add dynamic_sec_flags.
	* elf32-arm.h (PLT_HEADER_SIZE): Do not define.
	(PLT_ENTRY_SIZE): Likewise.
	(bfd_vma_elf32_arm_symbian_plt_entry): New
	variable.
	(elf32_arm_link_hash_table): Add plt_header_size, plt_entry_size,
	and symbian_p.
	(create_got_section): Don't create sections when generating BPABI
	objects.
	(elf32_arm_create_dynamic_sections): Tidy.
	(elf32_arm_link_hash_table_create): Set plt_header_size,
	plt_entry_size, and symbian_p.
	(elf32_arm_check_relocs): Do not mark .rel.dyn as loadable when
	generating BPABI objects.
	(allocate_dynrelocs): Use htab->plt_header_size, not
	PLT_HEADER_SIZE.  Do not add to .got.plt when
	generating BPABI objects.
	(elf32_arm_finish_dynamic_symbol): Generate Symbian OS PLTs.
	* elfarm-nabi.c: Add SymbianOS target vectors.
	* elflink.c (_bfd_elf_create_got_section): Use dynamic_sec_flags.
	(_bfd_elf_link_create_dynamic_sections): Likewise.
	* elfxx-target.h (ELF_DYNAMIC_SEC_FLAGS): New macro.
	(elfNN_bed): Use it.
	* targets.c (bfd_elf32_bigarm_symbian_vec): New variable.
	(bfd_elf32_littlearm_symbian_vec): Likewise.
	(_bfd_target_vector): Add them.

	* Makefile.am (TARG_ENV_HFILES): Add te-symbian.h.
	* Makefile.in: Regenerated.
	* configure.in: Set em for arm*-*-symbianelf*.
	* configure: Regenerated.
	* config/tc-arm.c (elf32_arm_target_format): Use Symbian target
	vectors when appropriate.
	* config/te-symbian.h: New file.

	* Makefile.am (ALL_EMULATIONS): Add earmsymbian.o.
	(earmsymbian.c): New target.
	* configure.tgt: Use armsymbian emulation for arm*-*-symbianelf*.
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* emulparams/armsymbian.sh: New file.
2004-09-03 17:15:44 +00:00
Nick Clifton
6e3b68350d PR 360
(handle_COMDAT): Replace abort with an warning message and allow the scan to
continue.
2004-09-03 14:11:38 +00:00
Alan Modra
da75a93b71 daily update 2004-09-03 00:00:05 +00:00
Alan Modra
595da8c56f * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Use static_syms passed
in when reading relocs, not our sorted syms.  Remove unnecessary
	var.
2004-09-02 04:43:36 +00:00
Alan Modra
21bd10f440 daily update 2004-09-02 00:00:05 +00:00
Alan Modra
aa240bf535 daily update 2004-09-01 00:00:05 +00:00
Eric Botcazou
6723a9f4e0 * elf.c (special_sections): Add .gnu.linkonce.b modelled on .bss. 2004-08-31 09:41:11 +00:00
Alan Modra
ad58b0d055 daily update 2004-08-31 00:00:07 +00:00
Nathanael Nerode
5464f5a16e 2004-08-30 Nathanael Nerode <neroden@gcc.gnu.org>
* acinclude.m4: Require AC_CANONICAL_TARGET, not AC_CANONICAL_SYSTEM.
	Include ../config/acx.m4 and use ACX_NONCANONICAL_* where appropriate;
	replace uses of *_alias with *_noncanonical.
	* aclocal.m4: Rebuild with aclocal 1.4p6.
	* Makefile.in: Rebuild with automake 1.4p6.
	* doc/Makefile.in: Rebuild with automake 1.4p6.
	* configure.in: Autoupdate with autoupdate 2.59.
	* config.in: Regenerate with autoheader 2.59.
	* configure: Regnerate with autoconf 2.59.
2004-08-30 18:58:14 +00:00
Alan Modra
8703f9377c daily update 2004-08-30 00:00:06 +00:00
Alan Modra
47e35c11d6 daily update 2004-08-29 00:00:06 +00:00
Alan Modra
a7535cf331 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Copy input
symbol pointer arrays before modifying.
2004-08-28 08:54:34 +00:00
Alan Modra
b91e2ae21e corrected version 2004-08-28 03:29:18 +00:00
Alan Modra
c9727e01b5 bfd/
* bfd.c (bfd_get_synthetic_symtab): Pass counts and both symbol tables.
	* elf-bfd.h (_bfd_elf_get_synthetic_symtab): Adjust.
	* elf.c (_bfd_elf_get_synthetic_symtab): Adjust.
	* libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Adjust.
	* targets.c (struct bfd_target <_bfd_get_synthetic_symtab>): Adjust.
	* elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Don't read symbols.
	Use both symbol tables on non-relocatable objects.  Use a common
	error exit.  Fix "mid" warning.
	* libbfd.h: Regenerate.
	* bfd-in2.h: Regenerate.
binutils/
	* objdump.c (dump_bfd): Pass both symbol tables to
	bfd_get_synthetic_symtab.
2004-08-28 03:05:18 +00:00
Alan Modra
0756fc5506 daily update 2004-08-28 00:00:06 +00:00
Alan Modra
699733f62e * elf64-ppc.c (ppc64_elf_branch_reloc): Check .opd is in a regular
object file.
	(struct sfpr_def_parms): Save some space.
	(sfpr_define): Here too.

	* elf64-ppc.c (compare_symbols): Put section syms first.
	(sym_exists_at): New function.
	(ppc64_elf_get_synthetic_symtab): Use relocs to find code entry
	points only for relocatable files.  Use .opd section contents
	otherwise.  Generally clean up the code.
2004-08-27 14:54:41 +00:00
Alan Modra
deb0e27291 * elf64-ppc.c (STD_R0_0R1, STD_R0_0R12, LD_R0_0R1, LD_R0_0R12,
LI_R12_0, STVX_VR0_R12_R0, LVX_VR0_R12_R0, MTLR_R0, SFPR_MAX): Define.
	(struct sfpr_def_parms): New.
	(sfpr_define): New function.
	(savegpr0, savegpr0_tail, restgpr0, restgpr0_tail): New functions.
	(savegpr1, savegpr1_tail, restgpr1, restgpr1_tail): New functions.
	(savefpr, savefpr0_tail, restfpr, restfpr0_tail): New functions.
	(savefpr1_tail, restfpr1_tail): New functions.
	(savevr, savevr_tail, restvr, restvr_tail): New functions.
	(MIN_SAVE_FPR, MAX_SAVE_FPR): Don't define.
	(ppc64_elf_func_desc_adjust): Use sfpr_define in place of existing
	code.  Define all ABI mandated _save and _rest functions.
2004-08-27 07:54:00 +00:00
Alan Modra
b039949775 daily update 2004-08-27 00:00:06 +00:00
Paul Brook
85a84e7a87 * INTERWORK_FLAG: Return true for EABIv3 objects. 2004-08-26 16:18:37 +00:00
Alan Modra
2605216ead daily update 2004-08-26 00:00:05 +00:00
Alan Modra
688c58f359 bfd/
* elf32-m32r.c (m32r_elf_relocate_section): Don't compare with
	TRUE or FALSE.
ld/
	* ldlang.c (lang_init): Don't compare with TRUE.
2004-08-25 23:40:56 +00:00
Alan Modra
3e95eabc2c * elf32-i386.c (elf_i386_relocate_section): Tweak last change so
that pcrel correction is applied for R_386_PC32.
2004-08-25 23:20:37 +00:00
Alan Modra
f855931bbd * elf32-i386.c (elf_i386_relocate_section): Zero section contents
for R_386_32 and R_386_PC32 relocs against symbols defined in
	discarded sections.
2004-08-25 14:35:58 +00:00
Nick Clifton
b18c562e39 Apply Dmitry Diky's patches to add relaxation to msp430. 2004-08-25 12:54:15 +00:00
Alan Modra
9028eebd04 daily update 2004-08-25 00:00:06 +00:00
Nick Clifton
af705ba8f0 (m32r_elf_relocate_section): Handle R_M32R_SDA16_RELA in the same way as
R_M32R_SDA16.
2004-08-24 08:21:25 +00:00
Alan Modra
05b51840d8 daily update 2004-08-24 00:00:07 +00:00
Alan Modra
d2a7154afd daily update 2004-08-23 00:00:07 +00:00
Alan Modra
8f52ca94af daily update 2004-08-22 00:00:05 +00:00
Daniel Jacobowitz
ea5158d820 * elflink.c (_bfd_elf_section_already_linked): Handle
SEC_LINK_DUPLICATES_SAME_CONTENTS.
2004-08-21 01:13:22 +00:00
Alan Modra
d64e52d5a6 daily update 2004-08-21 00:00:07 +00:00
Ben Elliston
f89c4decd1 Fix typo in Alan Modra's 2004-08-16 entry. 2004-08-20 11:44:26 +00:00
Alan Modra
65f0bddfe1 daily update 2004-08-20 00:00:06 +00:00
Mark Mitchell
49d934f15e * config.bfd (arm*-*-symbianelf*): New target.
(arm*-*-eabi*): Likewise.
2004-08-19 18:09:44 +00:00
Alan Modra
039b3fefa6 * elf64-ppc.c (ppc_get_stub_entry): Change third param to a
"struct ppc_link_hash_entry *".
	(ppc64_elf_relocate_section): Ditto for type of h.  Introduce h_elf
	to satisfy RELOC_FOR_GLOBAL_SYMBOL.
2004-08-19 08:30:16 +00:00
Jakub Jelinek
3f764659c7 * elf64-ppc.c (ppc64_elf_edit_opd): Support 16 byte long .opd
entries (where fd_aux overlaps next entry's fd_func).
	Add non_overlapping argument, use it.
	(ppc64_elf_check_relocs, ppc64_elf_gc_mark_hook, adjust_opd_syms,
	ppc64_elf_size_stubs, ppc64_elf_relocate_section,
	ppc64_elf_output_symbol_hook): Use address / 8 instead of address / 24
	as indexes into opd_sym_map/opd_adjust array.
	* elf64-ppc.h (ppc64_elf_edit_opd): Adjust prototype.

	* emultempl/ppc64elf.em (non_overlapping_opd): New variable.
	(ppc_before_allocation): Pass it to ppc64_elf_edit_opd).
	(OPTION_NON_OVERLAPPING_OPD): Define.
	(PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Add
	--non-overlapping-opd option.
2004-08-19 07:47:25 +00:00
Alan Modra
01809adfd7 daily update 2004-08-19 00:00:06 +00:00
Alan Modra
c09bdfe5c9 * elf64-ppc.c (func_desc_adjust): Give undefined dot-symbols a value
if we can look up their function descriptor in a regular file.
2004-08-18 10:11:02 +00:00
Nick Clifton
271d0fc399 PR 324
(coff_link_add_symbols): Check that the comdat pointer in the coff_section_data
structure has been initialised before using it.
2004-08-18 09:44:11 +00:00
Alan Modra
a010d60faf PR 338
* elflink.c (bfd_elf_record_link_assignment): Add comment about
	changing bfd_link_hash_undefined to bfd_link_hash_new.
	* ldexp.c (fold_name): Don't call bfd_link_add_undef if the symbol
	was already on the undefs list.
2004-08-18 02:45:43 +00:00
Alan Modra
5f077b9300 daily update 2004-08-18 00:00:05 +00:00
Jakub Jelinek
90e3cdf2a9 bfd/
* elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Only define
	if not yet defined.
	* elf64-ppc.c (bfd_elf64_get_synthetic_symtab): Define.
	(synthetic_opd, synthetic_relocatable): New variables.
	(compare_symbols, compare_relocs): New helper routines.
	(ppc64_elf_get_synthetic_symtab): New function.
	* bfd.c (bfd_get_synthetic_symtab): Rename dynsyms argument
	to relsyms.
	* bfd-in2.h: Regenerated.
	* elf.c (_bfd_elf_get_synthetic_symtab): Rename dynsyms argument
	to relsyms.  Return 0 if abfd is relocatable.
binutils/
	* objdump.c (dump_bfd): For relocatable objects, pass syms instead
	of dynsyms to bfd_get_synthetic_symtab.
2004-08-17 09:07:35 +00:00
Alan Modra
7c2c850509 * elflink.h (elf_gc_sweep): Keep non-alloc, non-load sections. 2004-08-17 08:51:07 +00:00
Nick Clifton
0367ecfb78 (is_arm_mapping_symbol_name): New function - return true when a symbol name
matches the requirements for an ARM mapping symbol name.
(arm_elf_find_function): New function based on elf_find_function in elf.c but
 skipping ARM mapping symbols and including thumb function symbols.
(elf32_arm_find_nearest_line): Use arm_elf_find_function.
(elf32_arm_output_symbol_hook): Use is_arm_mapping_symbol_name.
2004-08-17 08:12:26 +00:00
Alan Modra
2441e016ac * elf64-ppc.c (ppc64_elf_branch_reloc): New function.
(ppc64_elf_howto_raw): Use ppc64_elf_branch_reloc.
	(ppc64_elf_brtaken_reloc): Here too.
2004-08-17 07:05:52 +00:00
Alan Modra
35b0ce5903 * elf64-ppc.c (add_symbol_adjust): Correct mismatched function
symbol visibility.
	(ppc64_elf_check_directives): Check that we have the right hash
	table before proceeding.
2004-08-17 05:38:28 +00:00
Alan Modra
816881401e * elf64-ppc.c (struct ppc64_elf_obj_tdata): Add "deleted_section".
(adjust_opd_syms): Attach opd syms for deleted entries to one of
	the sections that will be discarded.
2004-08-17 01:25:21 +00:00