Richard Sandiford
8c252fd9c3
bfd/
...
* elf.c (assign_file_positions_for_load_sections): Use p_memsz
rather than p_filesz to calculate the LMA of the end of a segment.
ld/testsuite/
* ld-elf/multibss1.d, ld-elf/multibss1.s: New test.
2007-05-10 14:46:48 +00:00
Jakub Jelinek
b186458a4d
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
...
processing if symbol is defined in the executable.
2007-05-10 11:45:07 +00:00
Alexandre Oliva
8857127957
* elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
...
(frvfdpic_elf_discard_info): New.
(elf_backend_discard_info): Define for FDPIC.
2007-05-10 05:18:42 +00:00
Mark Shinwell
2e6030b931
bfd/
...
* elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
attempt to scan if the bfd doesn't correspond to an ELF image.
(bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
2007-05-09 13:02:10 +00:00
Alexandre Oliva
0d4cc89286
* elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
...
for which _bfd_elf_section_offset returns -1.
2007-05-08 06:09:30 +00:00
Alan Modra
d02496489e
* elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
...
(mark_functions_via_relocs): Likewise.
2007-05-08 02:29:27 +00:00
Alan Modra
1182cb9397
* elflink.c (bfd_elf_final_link): Correct reloc handling for
...
elf_backend_count_relocs.
(bfd_elf_discard_info): Print an error if we can't read syms.
2007-05-07 14:47:28 +00:00
Alan Modra
b16f296eba
* elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
...
invalid reloc code.
(spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
(elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
define.
2007-05-07 14:37:27 +00:00
Alan Modra
7c9283002d
* elf.c (assign_file_positions_for_load_sections): Don't check
...
core segment.
2007-05-07 01:05:46 +00:00
H.J. Lu
fc66a176eb
2007-05-04 H.J. Lu <hongjiu.lu@intel.com>
...
* elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
and .rel.dyn aren't present.
2007-05-04 21:53:02 +00:00
Nick Clifton
3410fea824
* elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn sections
...
are present examine the indirect sections in an attempt to compute the
correct relocation size. If there is any ambiguity, produce an error and
refuse to sort.
2007-05-04 14:17:07 +00:00
Sandra Loosemore
7bdca076ec
2007-05-03 Sandra Loosemore <sandra@codesourcery.com>
...
bfd/
* elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
2007-05-03 19:27:14 +00:00
Nick Clifton
22184a77be
PR gas/3041
...
* gas/config/tc-m68k.c (relaxable_symbol): Do not relax weak symbols.
(tc_gen_reloc): Adjust the addend of relocs against weak symbols.
(md_apply_fix): Put zero values into the frags referencing weak symbols.
* bfd/aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols in the same way as relocs against external symbols.
2007-05-03 15:55:38 +00:00
Alan Modra
627b32bcf9
include/elf/
...
* internal.h (ELF_IS_SECTION_IN_SEGMENT): Check both file offset
and vma for appropriate sections.
bfd/
* elf.c (assign_file_positions_for_load_sections): Set sh_offset
here. Set sh_type to SHT_NOBITS if we won't be allocating
file space. Don't bump p_memsz for non-alloc sections. Adjust
section-in-segment check.
(assign_file_positions_for_non_load_sections): Don't set sh_offset
here for sections that have already been handled above.
2007-05-02 13:44:37 +00:00
Alan Modra
49fa1e1518
bfd/
...
* elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
and emit_stack_syms bitfields.
(get_sym_h): Read all symbols if stack analysis will be done.
(spu_elf_create_sections): Add stack_analysis and emit_stack_syms
params, and stash in hash table.
(is_hint): Split off from..
(is_branch): ..here. Adjust callers.
(spu_elf_size_stubs): Add stack_analysis param. Arrange to read
and keep all syms.
(write_one_stub): Fix mem leak.
(find_function_stack_adjust): New function.
(sort_syms_syms, sort_syms_psecs): New vars.
(sort_syms): New function.
(struct call_info, struct function_info): New.
(struct spu_elf_stack_info): New.
(alloc_stack_info, maybe_insert_function, func_name): New functions.
(is_nop, insns_at_end, check_function_ranges): Likewise.
(find_function, insert_callee, mark_functions_via_relocs): Likewise.
(pasted_function, interesting_section, discover_functions): Likewise.
(mark_non_root, call_graph_traverse, build_call_tree): Likewise.
(sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
(bfd_elf32_bfd_final_link): Define.
* elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
(spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
include/
* bfdlink.h (struct bfd_link_info): Add "info" and "minfo".
ld/
* ldmain.c (link_callbacks): Init info and minfo fields.
* ldmisc.c (minfo): Do nothing if no map file.
* emultempl/spuelf.em (stack_analysis, emit_stack_syms): New vars.
(spu_after_open): Adjust spu_elf_create_sections call.
(spu_before_allocation): Likewise for spu_elf_size_stubs.
(OPTION_SPU_STACK_ANALYSIS, OPTION_SPU_STACK_SYMS): Define.
(PARSE_AND_LIST_LONGOPTS): Add new entries.
(PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Likewise.
* gen-doc.texi: Add @set for SPU and other missing targets.
* ld.texinfo: Update man page selection to match gen-doc.texi.
Document SPU features.
2007-04-30 14:06:40 +00:00
Thiemo Seufer
9ddf830930
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
...
memory which we might not own.
2007-04-28 22:31:45 +00:00
Bob Wilson
951474417e
* elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
...
(elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
(elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
2007-04-27 20:10:47 +00:00
Bob Wilson
bcc2cc8eff
* elf32-xtensa.c (xtensa_read_table_entries): Step through table
...
contents and relocs in parallel.
2007-04-27 19:57:40 +00:00
Bob Wilson
f29f96b630
* elf32-xtensa.c (relax_property_section): Remove extra irel increment.
2007-04-27 18:28:22 +00:00
Alan Modra
2ce18a1626
Write Mimi's name in ASCII.
2007-04-27 03:37:43 +00:00
Alan Modra
eddc20adcb
bfd/
...
* sysdep.h: Include config.h first.
Many files: Include sysdep.h before bfd.h.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
binutils/
* bucumm.h: Split off host dependencies to..
* sysdep.h: ..here.
Many files: Include sysdep.h. Remove duplicate headers and reorder.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
ld/
Many files: Include sysdep.h first. Remove duplicate headers.
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
opcodes/
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* ns32k-dis.c: Include sysdep.h first.
2007-04-26 14:58:51 +00:00
Alan Modra
495443d4ec
* sysdep.h: Revert last change.
2007-04-25 06:32:13 +00:00
Nick Clifton
40b1c6c5d4
Fix compile time warnings (at -O3 with gcc 4.1.2)
2007-04-24 13:05:46 +00:00
Alan Modra
64be15537d
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
...
eh_frame_hdr table won't be created.
2007-04-24 04:28:38 +00:00
Alan Modra
d5efd9fc3f
* acinclude.m4: Include config/stdint.m4.
...
* configure.in: Invoke GCC_HEADER_STDINT.
* sysdep.h: Don't include ansidecl.h here.
* configure: Regenerate.
* config.in: Regenerate.
* Makefile.in: Regenerate.
2007-04-24 04:05:04 +00:00
Nathan Sidwell
9a2e615a9f
gas/testsuite/
...
* gas/m68k/br-isaa.s: New.
* gas/m68k/br-isaa.d: New.
* gas/m68k/br-isab.s: New.
* gas/m68k/br-isab.d: New.
* gas/m68k/br-isac.s: New.
* gas/m68k/br-isac.d: New.
* gas/m68k/all.exp: Adjust.
gas/
* config/tc-m68k.c (mcf54455_ctrl): New.
(HAVE_LONG_DISP, HAVE_LONG_CALL, HAVE_LONG_COND): New.
(m68k_archs): Add isac.
(m68k_cpus): Add 54455 family.
(m68k_ip): Split Bg into Bb, Bs, Bg.
(m68k_elf_final_processing): Add ISA_C.
* doc/c-m68k.texi (M680x0 Options): Add isac.
include/opcode/
* m68k.h (mcfisa_c): New.
(mcfusp, mcf_mask): Adjust.
bfd/
* archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
bfd_mach_mcf_isa_c_emac): New.
* elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
elf_isac_plt_entry, elf_isac_plt_info): New.
(elf32_m68k_object_p): Add ISA_C.
(elf32_m68k_print_private_bfd_data): Print ISA_C.
(elf32_m68k_get_plt_info): Detect ISA_C.
* cpu-m68k.c (arch_info): Add ISAC.
(m68k_arch_features): Likewise,
(bfd_m68k_compatible): ISAs B & C are not compatible.
opcodes/
* m68k-opc.c: Mark mcfisa_c instructions.
2007-04-23 07:51:33 +00:00
Nick Clifton
1b0b5b1b6a
* ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
...
(ecoff_link_add_archive_symbols): Likewise.
* coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise relent.howto.
* ieee.c (parse_int): Initialise x.
(must_parse_int): Initialise result.
(ieee_slurp_external_symbols): Initialise value.
2007-04-21 07:49:29 +00:00
Alan Modra
bd7803a985
* config.bfd (spu-*-elf): Delete targ_selvecs.
2007-04-21 05:01:22 +00:00
Nick Clifton
964597d07b
* coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
2007-04-19 13:36:41 +00:00
Alan Modra
01e7679297
* bfd.c (bfd_demangle): New function.
...
* Makefile.am: Run "make dep-am".
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
2007-04-19 10:41:30 +00:00
Daniel Jacobowitz
ee5c21a00e
2007-04-18 Matthias Klose <doko@ubuntu.com>
...
* Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
(bfdver.h): Use the date in non-release builds for the soversion.
* Makefile.in: Regenerate.
2007-04-18 Matthias Klose <doko@ubuntu.com>
* Makefile.am (libopcodes_la_LDFLAGS): Use bfd soversion.
* Makefile.in: Regenerate.
2007-04-18 12:14:50 +00:00
Paul Brook
fcb93ecfc2
2007-04-17 Paul Brook <paul@codesourcery.com>
...
bfd/
* elf.c (_bfd_elf_is_function_type): New function.
* elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
(_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
* elf-bfd.h (elf_backend_data): Add is_function_type.
(_bfd_elf_is_function_type): Add prototype.
* elfxx-target.h (elf_backend_is_function_type): Add default
definition.
(elfNN_bed): Add elf_backend_is_function_type.
* elf32-arm.c (elf32_arm_is_function_type): New function.
(elf_backend_is_function_type): Define.
ld/testsuite/
* ld-arm/preempt-app.s: New test.
* ld-arm/preempt-app.sym: New.
* ld-arm/arm-elf.exp: Add preempt-app.
2007-04-17 20:09:52 +00:00
Daniel Jacobowitz
5750dcecf6
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
...
DT_MIPS_RLD_MAP before DT_DEBUG again.
2007-04-17 13:14:08 +00:00
Steve Ellcey
cfbc9945d4
* Makefile.am: Add ACLOCAL_AMFLAGS.
...
* configure.in: Change macro call order.
* Makefile.in: Regnerate.
* doc/Makefile.in: Regenerate.
* configure: Regenerate.
2007-04-14 20:36:56 +00:00
Jakub Jelinek
3fcd97f16c
* elflink.c (bfd_elf_final_link): Don't free symbuf for
...
non-elf input bfds.
(bfd_elf_size_dynamic_sections): Don't access elf_section_data
for non-elf input bfds.
2007-04-14 13:01:24 +00:00
Richard Sandiford
af5978fb74
bfd/
...
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
DT_MIPS_RTLD_MAP for PIEs.
2007-04-12 19:27:35 +00:00
Richard Sandiford
9e3313aecd
bfd/
...
* elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
in a read-only section.
(_bfd_mips_elf_check_relocs): Likewise.
ld/testsuite/
* ld-mips-elf/vxworks1-lib.td: New test.
* ld-mips-elf/mips-elf.exp: Run it.
2007-04-12 19:26:09 +00:00
Bob Wilson
1d25768e7c
* elf32-xtensa.c (xtensa_is_insntable_section): New.
...
(xtensa_is_proptable_section): New.
(elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
tables with 12-byte entries, as well as tables with 8-byte entries.
Sort the relocations before examining them.
(relax_property_section): Use xtensa_is_proptable_section and
xtensa_is_littable_section. Rewrite code for combining table entries
to be more robust in case of unexpected relocations. Do not set offset
of unused relocations to less than zero.
(xtensa_is_property_section): Use other functions instead of
duplicating section name comparisons.
(xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
(xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
2007-04-12 18:55:29 +00:00
Bob Wilson
e1e5c0b5eb
bfd/
...
* elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
from Xtensa property sections.
ld/
* emulparams/elf32xtensa.sh (OTHER_SECTIONS): KEEP property sections.
2007-04-12 15:52:02 +00:00
Alan Modra
2c67c5f3e9
* elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
...
is non-NULL before dereferencing.
2007-04-12 07:47:13 +00:00
Nathan Sidwell
8776bb8aa5
* elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
...
relocs too.
2007-04-11 12:02:32 +00:00
Richard Henderson
4a828aab99
bfd/
...
* elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
(elf64_alpha_size_got_sections): Remove unused something_changed local.
(elf64_alpha_size_plt_section): Return void.
(elf64_alpha_size_rela_got_section): Likewise.
(elf64_alpha_relax_section): Only regenerate got+plt if the
relax_trip counter has changed.
include/
* bfdlink.h (struct bfd_link_info): Add relax_trip.
ld/
* ldlang.c (relax_sections): Initialize and increment
link_info.relax_trip.
2007-04-10 18:00:26 +00:00
Daniel Jacobowitz
9150673628
* src-release (do-proto-toplev): Process the support directories before
...
the tool directory.
* Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
* doc/Makefile.am (DOCFILES): Add bfdver.texi.
(bfdver.texi): New rule.
* Makefile.in, doc/Makefile.in: Regenerated.
2007-04-09 15:36:44 +00:00
Matt Thomas
da6bcfca95
2007-04-03 Matt Thomas <matt@netbsd.org>
...
* elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
in a shared object if it is not in a CODE section or if it is against
a section symbol. This allows DWARF2 to use pcrel format.
2007-04-06 16:29:32 +00:00
H.J. Lu
9267588cdc
bfd/
...
2007-04-05 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4304
* elflink.c (bfd_elf_final_link): Call einfo callback in
bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
warning.
ld/testsuite/
2007-04-05 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4304
* ld-i386/i386.exp: Run "warn1".
* ld-i386/warn1.d: New file.
* ld-i386/warn1.s: Likewise.
2007-04-05 16:16:28 +00:00
Alan Modra
c1b2796f47
bfd/
...
* elf32-spu.c (spu_elf_output_symbol_hook): New function.
(elf_backend_link_output_symbol_hook): Define.
ld/testsuite/
* ld-spu/ovl2.d: Update.
2007-04-05 07:01:53 +00:00
Nick Clifton
970ccc7734
PR binutils/4292
...
* bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
targets as 64-bit values, even if running on a 64-bit host.
* coffgen.c (coff_print_symbol): Likewise.
* nm.c (value_format): Replace with value_format_32bit and
value_format_64bit.
(set_radix): Update setting of value_format.
(set_print_width): New function. Compute the address size of a
given bfd and set the print_width global appropriately.
(display_archive): Use set_print_width.
(display_file): Likewise,
(print_object_filename_sysv): Update use of print_width.
(print_archive_member_sysv): Likewise.
(print_symbol_filename_posix): Likewise.
(print_sumbol_info_bfd, print_symbol_info_sysv): Likewise.
2007-04-02 16:51:13 +00:00
Nick Clifton
1783205a77
PR binutils/4110
...
* elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
(setup_group): Use it. Report corrupt group section headers.
(bfd_section_from_shdr): Use new macro. Replace constant 4 with
GRP_ENTRY_SIZE. Cope with NULLs in the group section table.
(elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
2007-03-29 14:37:02 +00:00
Alan Modra
947844a311
PR ld/4267
...
* elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
for rel->r_info values.
(bfd_elf_perform_complex_relocation): Likewise.
2007-03-29 02:38:00 +00:00
Alan Modra
2ce859a18d
PR ld/4267
...
* elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
unused entries. Don't clear plt.plist in loop.
2007-03-29 01:11:30 +00:00