Nick Clifton
7fac7ff4ae
Various CR16 fixes
2007-10-01 15:55:44 +00:00
Alan Modra
42c4197104
daily update
2007-10-01 00:00:05 +00:00
Alan Modra
a0c8462faf
* elflink.c: Formatting.
2007-09-30 13:43:23 +00:00
Alan Modra
0f02bbd9f8
bfd/
...
* elflink.c (resolve_symbol): Handle symbols in SEC_MERGE
sections. Don't test symbol st_shndx. Don't bother with
bfd_link_hash_common symbols. Print longs rather than ints
in debug messages.
(eval_symbol): Replace "sym" and "advanced" params with "symp".
Replace "addr" and "section_offset" params with "dot". Don't
cast bfd_vma values to signed, cast them to bfd_signed_vma.
(bfd_elf_perform_complex_relocation): Delete "output_bfd", "info",
"local_syms" and "local_sections" params. Add "relocation".
Delete code calculating relocation value.
(evaluate_complex_relocation_symbols): Delete function. Fold into..
(elf_link_input_bfd): ..existing code examining relocs.
* elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
* elf32-mep.c (mep_elf_check_relocs): Delete function.
(mep_elf_gc_sweep_hook, mep_elf_gc_mark_hook): Likewise.
(mep_elf_object_p): Don't set elf_bad_symtab.
(elf_backend_check_relocs): Don't define.
(elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): Likewise.
(elf_backend_can_gc_sections, USE_RELA): Likwise.
(mep_elf_relocate_section): Move bfd_elf_perform_complex_relocation
call after we have calculated reloc value. Delete local sym
debug code. Use RELOC_FOR_GLOBAL_SYMBOL. Delete addend
adjusting code..
(elf_backend_rela_normal): ..instead define this.
ld/testsuite/
* ld-selective/sel-dump.exp: Add am33, m88k, mep to xfails.
* ld-selective/selective.exp: Don't run for same target list
we xfail sel-dump.
2007-09-30 13:33:04 +00:00
Alan Modra
844cacac6e
daily update
2007-09-30 00:00:05 +00:00
Alan Modra
dccfc3eba1
daily update
2007-09-29 00:00:05 +00:00
Alan Modra
5582a08852
* elf-m10300.c (mn10300_elf_check_relocs): Delete dead code.
...
* elf32-arm.c (elf32_arm_check_relocs): Likewise.
* elf32-avr.c (elf32_avr_check_relocs): Likewise.
* elf32-bfin.c (bfinfdpic_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 (_frvfdpic_check_discarded_relocs): Likewise.
(elf32_frv_check_relocs): Likewise.
* elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
* elf32-m32c.c (m32c_elf_check_relocs): Likewise.
* elf32-m32r.c (m32r_elf_check_relocs): Likewise.
* elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
* elf32-mcore.c (mcore_elf_check_relocs): Likewise.
* elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
* elf32-mt.c (mt_elf_check_relocs): Likewise.
* elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
* elf32-sh.c (sh_elf_check_relocs): Likewise.
* elf64-mmix.c (mmix_elf_check_relocs): Likewise.
* elf64-sh64.c (sh_elf64_check_relocs): Likewise.
* elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
(score_elf_local_relocation_p): Likewise.
(_bfd_score_elf_relocate_section): Likewise.
(score_elf_final_link_relocate): Likewise.
2007-09-28 08:43:45 +00:00
Alan Modra
78a273176b
daily update
2007-09-27 00:00:05 +00:00
Jan Beulich
d17e0c6e9a
bfd/
...
2007-09-26 Jan Beulich <jbeulich@novell.com>
* elf32-i386.c (elf_i386_check_relocs): Revert NULL pointer
check for R_386_GNU_VTINHERIT.
* elf-m10300.c (mn10300_elf_check_relocs): Check for NULL
pointer for R_xxx_GNU_VTENTRY.
* elf32-arm.c (elf32_arm_check_relocs): Likewise.
* elf32-bfin.c (bfin_check_relocs): Likewise.
(bfinfdpic_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-hppa.c (elf32_hppa_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-openrisc.c (openrisc_elf_check_relocs): Likewise.
* elf32-ppc.c (ppc_elf_check_relocs): Likewise.
* elf32-s390.c (elf_s390_check_relocs): Likewise.
* elf32-score.c (_bfd_score_elf_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.
* elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
* elf32-xtensa.c (elf_xtensa_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.
* elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
2007-09-26 13:45:32 +00:00
Alan Modra
8977835cde
* elflink.c (set_symbol_value): Add isymbuf and locsymcount
...
params. Change symidx to a size_t. Don't access past end
of symbol buffer.
(resolve_symbol): Add isymbuf param and use instead of
finfo->internal_syms.
(eval_symbol, evaluate_complex_relocation_symbols): Likewise.
(elf_link_input_bfd): Don't read symbols specially for
evaluate_complex_relocation_symbols.
2007-09-26 12:29:41 +00:00
Nick Clifton
06dcabb057
* som.c (som_get_reloc_upper_bound): If there are no relocs return enough
...
space to hold a NULL pointer.
2007-09-26 08:12:59 +00:00
Alan Modra
2e5b2d7404
* elf64-ppc.c (ppc_build_one_stub): Correct rel_hdr.sh_size.
2007-09-26 03:07:45 +00:00
Alan Modra
939bfe3b97
daily update
2007-09-26 00:00:06 +00:00
Alan Modra
2cb5950ea3
bfd/
...
* elf32-spu.c (struct spu_link_hash_table): Add ovly_load_r_symndx.
(spu_elf_size_stubs): Count stub relocs.
(write_one_stub): Emit relocs on overlay call stubs.
ld/testsuite/
* ld-spu/ovl.d: Adjust for stub relocs.
* ld-spu/ovl2.d: Likewise.
2007-09-25 08:27:39 +00:00
Alan Modra
98e89a7d84
* elf32-spu.c (struct spu_link_hash_table): Add "stubs".
...
(spu_elf_link_hash_table_create): Init new field.
(spu_elf_size_stubs): Store sorted stub syms in new htab field
rather than local var.
(spu_elf_build_stubs): Iterate over htab stubs rather than
hash traversal.
(struct stubarr): Delete.
(allocate_spuear_stubs, populate_stubs, write_one_stub): Adjust.
2007-09-25 07:58:21 +00:00
Alan Modra
5f67a19ce6
daily update
2007-09-25 00:00:05 +00:00
Daniel Jacobowitz
e970b90aa9
* elf.c (assign_file_positions_for_load_sections): Trust
...
p_align_valid.
(copy_elf_program_header): Copy PT_NULL segments.
2007-09-24 18:23:13 +00:00
Alan Modra
fad9eaf0de
* elf32-spu.c (is_indirect_branch): New function.
...
(find_function_stack_adjust): End scan on hitting indirect branch.
(sum_stack): Cast %v arg to correct type.
2007-09-24 00:30:03 +00:00
Alan Modra
3dca129609
daily update
2007-09-24 00:00:05 +00:00
Alan Modra
05fe5be4a6
daily update
2007-09-23 00:00:05 +00:00
Alan Modra
ceb77b3e42
daily update
2007-09-22 00:00:08 +00:00
H.J. Lu
10569aebc7
2007-09-21 H.J. Lu <hongjiu.lu@intel.com>
...
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerated.
2007-09-21 18:22:24 +00:00
Nick Clifton
4ab2002928
* Makefile.am (BFD32_LIBS): Add arange-set.lo.
...
(BFD32_LIBS_CFILES): Add arange-set.c.
(SOURCE_HFILES): Add arange-set.h
(dwarf2.lo): Add dependency upon arange-set.h.
(arange-set.lo): New target.
* Makefile.in: Regenerate.
* arange-set.c: New file.
* arange-set.h: New file.
* dwarf2.c: Include arange-set.h.
(struct dwarf2_debug) Add new fields comp_unit_count and comp_unit_arange_set.
(struct comp_unit) Replace field arange with a new field arange_set.
(dwarf2_arange_set_allocate, dwarf2_arange_set_deallocate,
(dwarf2_combine_arange_value, dwarf2_arange_set_new,
(dwarf2_arange_set_with_value_new, dwarf2_comp_unit_arange_add): New
functions to utilize arange set in dwarf2.c.
(arange_add): Formatting change for a line longer than 80 characters.
(decode_line_info): Replace call target arange_add with
(dwarf2_comp_unit_arange_add.
(read_rangelist_insert_arange_list,
(read_rangelist_comp_unit_arange_add): New functions used as callbacks
for read_rangelist.
(read_rangelist): Change interface to accept a callback and data to
allow caller to select the action peformed on a new range list read.
(scan_unit_for_symbols): Use new interface of read_rangelist.
(parse_comp_unit): Create an arange set for each new comp unit. Use new
interface of read_rangelist. Replace call to arange_add with that to
dwarf2_comp_unit_arange_add.
(comp_unit_contains_address): Replace sequential search with a call to
arange_set_lookup_address, which can handles large set efficiently.
(stash_copy_local_aranges, stash_maybe_enable_arange_set,
(stash_find_nearest_line_fast): New functions maintaining and using a
valued global arange set for all compilation units to speed up
bfd_dwarf2_find_nearest_line.
(find_line): Use global arange set. Replace sequential search over all
compilation units with a call to stash_find_nearest_line_fast. Add
book keeping to count number of compilation units. Replace empty
arange list test with a call to arange_set_empty_p.
2007-09-21 16:16:18 +00:00
Nick Clifton
6119d2522e
* syms.c (_bfd_stab_section_find_nearest_line): Look at the
...
specific SOM sections for stabs if the regular ones are not found.
* som.h (struct somdata): Add a line_info field, to be used by som_find_nearest_line.
* som.c (som_find_nearest_line): Implement using the bfd stabs function above.
2007-09-21 07:58:03 +00:00
Alan Modra
ec51df9f10
daily update
2007-09-21 00:00:05 +00:00
Alan Modra
20e96b3e5d
daily update
2007-09-20 00:00:05 +00:00
Daniel Jacobowitz
b55fd4d45d
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make sure .got
...
will be output.
2007-09-19 16:21:59 +00:00
Alan Modra
a69898aad0
* bfd-in.h (bfd_hash_insert): Declare.
...
* bfd-in2.h: Regenerate.
* hash.c (bfd_hash_insert): New function. Split out from..
(bfd_hash_lookup): ..here.
* merge.c (sec_merge_hash_lookup): Use bfd_hash_insert.
2007-09-19 12:08:34 +00:00
Alan Modra
f81c953f3a
daily update
2007-09-19 00:00:06 +00:00
Alan Modra
14b1c01e04
* elf.c (bfd_section_from_shdr): Check bfd_alloc return.
...
(elfcore_write_note): Check realloc return.
* elflink.c (_bfd_elf_link_find_version_dependencies): Check
bfd_zalloc return.
(_bfd_elf_link_assign_sym_version): Check bfd_malloc return.
(elf_link_add_object_symbols): Likewise.
(struct hash_codes_info): New.
(elf_collect_hash_codes): Return bfd_malloc error.
(struct collect_gnu_hash_codes): Add "error".
(elf_collect_gnu_hash_codes): Return bfd_malloc error.
(bfd_elf_size_dynamic_sections): Check return status of
_bfd_elf_link_find_version_dependencies.
(bfd_elf_size_dynsym_hash_dynstr): Adjust for elf_collect_hash_codes
and elf_collect_gnu_hash_codes changes.
(elf_sym_name_compare): Formatting.
(elf_fixup_link_order): Use bfd_malloc, not xmalloc.
2007-09-18 08:17:06 +00:00
H.J. Lu
b10a8ae01c
bfd/
...
2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3281
PR binutils/5037
* elf-bfd.h (elf_obj_tdata): Remove relro.
* elf.c (get_program_header_size): Check info->relro instead
of elf_tdata (abfd)->relro.
(_bfd_elf_map_sections_to_segments): Likewise.
(assign_file_positions_for_load_sections): Don't set
PT_GNU_RELRO segment alignment here.
(assign_file_positions_for_non_load_sections): Properly set up
PT_GNU_RELRO segment for copying executable/shared library.
(rewrite_elf_program_header): Remove PT_GNU_RELRO segment.
(copy_elf_program_header): Set p_size and p_size_valid fields for
PT_GNU_RELRO segment.
include/elf/
2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3281
PR binutils/5037
* internal.h (elf_segment_map): Add p_size and p_size_valid.
(ELF_IS_SECTION_IN_SEGMENT): Allow SHF_TLS sections in
PT_GNU_RELRO segments.
ld/
2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3281
PR binutils/5037
* ldexp.h (ldexp_control): Add relro, relro_start_stat and
relro_end_stat.
* ldexp.c (fold_binary): Set expld.dataseg.relro to
exp_dataseg_relro_start or exp_dataseg_relro_end when
seeing DATA_SEGMENT_ALIGN or DATA_SEGMENT_RELRO_END,
respectively.
* ldlang.c (lang_size_sections_1): Properly set
expld.dataseg.relro_start_stat and
expld.dataseg.relro_end_stat.
(find_relro_section_callback): New function.
(lang_find_relro_sections_1): Likewise.
(lang_find_relro_sections): Likewise.
(lang_process): Call lang_find_relro_sections for
non-relocatable link.
ld/testsuite/
2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/3281
PR binutils/5037
* ld-elf/binutils.exp: Update "-z relro" tests to use relro1.s.
Add "-z relro" tests with relro2.s. Add "-z relro" tests with
TLS for objcopy.
* ld-elf/relro1.s: New file.
* ld-elf/relro2.s: Likewise.
2007-09-18 00:25:07 +00:00
Alan Modra
00708806d9
daily update
2007-09-18 00:00:05 +00:00
Nick Clifton
041a1845a9
* po/fi.po: New Finnish translation.
...
* po/es.po: Updated Spanish translation.
* configure.in (ALL_LINGUAS): Add fi.
* configure: Regenerate.
* po/bfd.pot: Regenerate.
2007-09-17 14:03:15 +00:00
Alan Modra
61d7672abe
daily update
2007-09-17 00:00:05 +00:00
Alan Modra
476f5089d3
daily update
2007-09-16 00:00:05 +00:00
Alan Modra
0bc43230d6
* bfd.c (_bfd_default_error_handler): fflush stdout.
2007-09-15 03:02:01 +00:00
Alan Modra
2f7b3f000f
daily update
2007-09-15 00:00:06 +00:00
Alan Modra
3ea6b9a58b
* opncls.c (find_separate_debug_file): Ensure bfd_set_error has
...
been called on all error return paths.
(bfd_fill_in_gnu_debuglink_section): Use bfd_malloc, not malloc.
Clear padding after filename
2007-09-14 07:54:10 +00:00
Alan Modra
5a1dcb7e26
* format.c (bfd_check_format_matches): Record matching targets even
...
when "matching" is NULL to allow bfd_associated_vector matches.
Consolidate error return code. Consolidate ok return code. Always
restore original target and format on error.
2007-09-14 05:19:27 +00:00
Alan Modra
1e50560c64
daily update
2007-09-14 00:00:06 +00:00
Alan Modra
bce5e5c97f
bfd/
...
* configure.in: Delete BFD_HOST_LONG_LONG and bfd checks for
long long. Partly revert 2007-07-12 change, so that
BFD_HOST_64BIT_LONG and BFD_HOST_64BIT_LONG_LONG are set
independent of "void *" size.
* configure: Regenerate.
* config.in: Regenerate.
* Makefile.in: Regenerate.
bfd/doc/
* Makefile.in: Regenerate.
2007-09-13 14:58:47 +00:00
Alan Modra
847f9f0ff7
daily update
2007-09-13 00:00:06 +00:00
Alan Modra
01a3c21322
* elf-bfd.h (struct elf_backend_data): Delete elf_backend_sprintf_vma
...
and elf_backend_fprintf_vma.
(_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
* elf.c (_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
* elfxx-target.h (elf_backend_sprintf_vma): Don't define.
(elf_backend_fprintf_vma): Likewise.
(elfNN_bed): Don't init removed fields.
* bfd.c (is32bit): New function.
(bfd_sprintf_vma, bfd_fprintf_vma): Use the above.
2007-09-12 10:00:15 +00:00
Alan Modra
7c9a538008
daily update
2007-09-12 00:00:10 +00:00
Kazu Hirata
8d100c328c
bfd/
...
* archures.c: Add bfd_mach_mcf_isa_c_nodiv,
bfd_mach_mcf_isa_c_nodiv_mac & bfd_mach_mcf_isa_c_nodiv_emac.
* ieee.c (ieee_write_processor): Update coldfire architecture
list.
* bfd-in2.h: Rebuilt.
* cpu-m68k.c (arch_info_struct): Add isa_c nodiv architectures.
(m68k_arch_features): Likewise.
* elf32-m68k.c (elf32_m68k_object_p): Add EF_M68K_CF_ISA_C_NODIV.
(elf32_m68k_print_private_bfd_data): Likewise.
gas/
* config/tc-m68k.c (m68k_ip): Add mcfisa_c case.
(m68k_elf_final_processing): Add EF_M68K_CF_ISA_C_NODIV.
include/elf/
* m68k.h (EF_M68K_CF_ISA_C_NODIV): New.
2007-09-11 16:07:50 +00:00
Jan Beulich
2f629d2305
2007-09-11 Jan Beulich <jbeulich@novell.com>
...
* elf64-i386.c (elf64_i386_tls_transition): Remove redundant 'const'.
* elf64-x86_64.c (elf64_x86_64_tls_transition): Likewise.
2007-09-11 15:44:19 +00:00
Alan Modra
9d2fe8b96f
daily update
2007-09-11 00:00:10 +00:00
Alan Modra
ec772d4500
daily update
2007-09-10 00:00:06 +00:00
Alan Modra
fa956de32a
daily update
2007-09-09 00:00:05 +00:00
Alan Modra
2b95367962
* elf64-ppc.c (func_desc_adjust): When resolving undefined
...
references to dot-symbols, transfer def_regular and
def_dynamic from the descriptor symbol.
2007-09-08 13:46:15 +00:00