OSDN Git Service
Alan Modra [Wed, 30 Jul 2008 04:34:58 +0000 (04:34 +0000)]
Silence gcc printf warnings
Alan Modra [Wed, 30 Jul 2008 00:00:06 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Tue, 29 Jul 2008 22:58:03 +0000 (22:58 +0000)]
* script.cc (Script_options::finalize_symbols): Finalize SECTIONS
symbols before other symbols.
* testsuite/script_test_2.cc (test_addr): Declare.
(test_addr_alias): Declare.
(main): Check that test_addr and test_addr_alias have the right
values.
* testsuite/script_test_2.t: Define test_addr_alias and
test_addr.
Alan Modra [Tue, 29 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Daniel Jacobowitz [Mon, 28 Jul 2008 22:14:53 +0000 (22:14 +0000)]
* elfxx-mips.c (mips_elf_calculate_relocation): Avoid generating
relocations for undefined weak symbols with non-default visibility.
(_bfd_mips_elf_check_relocs): Use possibly_dynamic_relocs for
global symbols in shared libraries.
(allocate_dynrelocs): New function.
(_bfd_mips_elf_adjust_dynamic_symbol): Do not handle
possibly_dynamic_relocs here.
(_bfd_mips_elf_size_dynamic_sections): Call allocate_dynrelocs.
Alexandre Oliva [Mon, 28 Jul 2008 18:07:05 +0000 (18:07 +0000)]
bfd/ChangeLog:
* elf32-i386.c (struct elf_i386_link_hash_table): Added field
tls_module_base.
(elf_i386_link_hash_table_create): Initialize it.
(elf_i386_always_size_sections): Set it.
(set_tls_module_base): New.
(elf_i386_relocate_sections): Call it.
* elf64-x86-64.c (struct elf64_x86_64_link_hash_table): Added
field tls_module_base.
(elf64_x86_64_link_hash_table_create): Initialize it.
(elf64_x86_64_always_size_sections): Set it.
(set_tls_module_base): New.
(elf64_x86_64_relocate_sections): Call it.
Reported by Cary Coutant <ccoutant@google.com>
ld/testsuite/ChangeLog:
* ld-i386/tlsbindesc.dd: Adjust incorrect expectations for LD to
LE relaxation.
* ld-x86-64/tlsbindesc.dd: Likewise.
* ld-i386/tlsbindesc.rd: Adjust address of _TLS_MODULE_BASE_.
* ld-x86-64/tlsbindesc.rd: Likewise.
Reported by Cary Coutant <ccoutant@google.com>
Alan Modra [Mon, 28 Jul 2008 06:48:00 +0000 (06:48 +0000)]
warning fix
Alan Modra [Mon, 28 Jul 2008 06:46:31 +0000 (06:46 +0000)]
* elf32-arm.c (arm_map_one_stub): Declare variables at beginning
of block.
* elf32-avr.c (get_local_syms): Likewise.
Alan Modra [Mon, 28 Jul 2008 04:14:40 +0000 (04:14 +0000)]
* readelf.c (print_vma): Typo fix.
Alan Modra [Mon, 28 Jul 2008 04:07:32 +0000 (04:07 +0000)]
bfd/
PR 6769
* bfd-in.h (BFD_VMA_FMT): Define.
(printf_vma, sprintf_vma): Use the above.
(_bfd_int64_low, _bfd_int64_high): Delete.
* bfd-in2.h: Regenerate.
binutils/
PR 6769
* readelf.c (print_dec_vma, print_hex_vma): Delete.
(print_vma): Use BFD_VMA_FMT.
* size.c (size_number, rprint_number): Likewise.
Alan Modra [Mon, 28 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 27 Jul 2008 04:40:58 +0000 (04:40 +0000)]
* ld-gc/gc.exp (test_gc): xfail powerpc64.
Alan Modra [Sun, 27 Jul 2008 03:43:51 +0000 (03:43 +0000)]
* elf.c (_bfd_elf_make_section_from_shdr): Ignore return from
elf_parse_notes. Use bfd_malloc_and_get_section.
(elf_parse_notes): Validate note namesz and descsz.
Alan Modra [Sun, 27 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sat, 26 Jul 2008 14:30:39 +0000 (14:30 +0000)]
missed from last commit
Alan Modra [Sat, 26 Jul 2008 13:10:48 +0000 (13:10 +0000)]
Support PowerPC single-precision float.
Alan Modra [Sat, 26 Jul 2008 01:23:37 +0000 (01:23 +0000)]
* ld-scripts/include.exp: Don't run test for aout.
* ld-scripts/include.s: Use .fill rather than .4byte.
* ld-scripts/include-1.d: Adjust.
Alan Modra [Sat, 26 Jul 2008 01:15:42 +0000 (01:15 +0000)]
* binutils-all/objdump.exp: Run compressed debug test only for ELF.
Alan Modra [Sat, 26 Jul 2008 00:00:06 +0000 (00:00 +0000)]
daily update
Keith Seitz [Fri, 25 Jul 2008 18:00:17 +0000 (18:00 +0000)]
* acinclude.m4: Remove libide, libgui, and all the other Tcl
functions.
* tcl.m4: New file.
Ian Lance Taylor [Fri, 25 Jul 2008 04:25:49 +0000 (04:25 +0000)]
PR 5990
* descriptors.cc: New file.
* descriptors.h: New file.
* gold-threads.h (class Hold_optional_lock): New class.
* fileread.cc: Include "descriptors.h".
(File_read::~File_read): Release descriptor rather than closing
it.
(File_read::open) [file]: Call open_descriptor rather than open.
Set is_descriptor_opened_.
(File_read::open) [memory]: Assert that descriptor is not open.
(File_read::reopen_descriptor): New function.
(File_read::release): Release descriptor.
(File_read::do_read): Make non-const. Reopen descriptor.
(File_read::read): Make non-const.
(File_read::make_view): Reopen descriptor.
(File_read::do_readv): Likewise.
* fileread.h (class File_read): Add is_descriptor_opened_ field.
Update declarations.
* layout.cc: Include "descriptors.h".
(Layout::create_build_id): Use open_descriptor rather than open.
* output.cc: Include "descriptors.h".
(Output_file::open): Use open_descriptor rather than open.
* archive.cc (Archive::const_iterator): Change Archive to be
non-const.
(Archive::begin, Archive::end): Make non-const.
(Archive::count_members): Likewise.
* archive.h (class Archive): Update declarations.
* object.h (Object::read): Make non-const.
* Makefile.am (CCFILES): Add descriptors.cc.
(HFILES): Add descriptors.h.
* Makefile.in: Rebuild.
Alan Modra [Fri, 25 Jul 2008 00:00:06 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Thu, 24 Jul 2008 21:45:50 +0000 (21:45 +0000)]
PR 6716
* gold.h: Always include <clocale>. Add Solaris workarounds
following code in binutils/sysdep.h.
Ian Lance Taylor [Thu, 24 Jul 2008 21:23:09 +0000 (21:23 +0000)]
PR 6048
* ehframe.cc (Eh_frame::add_ehframe_input_section): Check whether
this->eh_frame_hdr_ is NULL before using it.
Ian Lance Taylor [Thu, 24 Jul 2008 21:21:38 +0000 (21:21 +0000)]
* dynobj.cc (Versions::Versions): Update comment.
H.J. Lu [Thu, 24 Jul 2008 18:51:33 +0000 (18:51 +0000)]
2008-07-24 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/nops-1.d: Add -mtune=generic32.
* gas/i386/nops-2.d: Likewise.
* gas/i386/nops-3.d: Likewise.
* gas/i386/x86-64-nops-1.d: Add -mtune=generic64.
* gas/i386/x86-64-nops-2.d: Likewise.
* gas/i386/x86-64-nops-3.d: Likewise.
* gas/i386/x86-64-nops-4.d: Likewise.
Daniel Jacobowitz [Thu, 24 Jul 2008 16:17:42 +0000 (16:17 +0000)]
* elf32-mips.c (elf_backend_write_section): Define.
DJ Delorie [Thu, 24 Jul 2008 13:51:49 +0000 (13:51 +0000)]
merge from gcc
Nick Clifton [Thu, 24 Jul 2008 07:51:25 +0000 (07:51 +0000)]
* elf.c (_bfd_elf_map_sections_to_segments): Catch off by one
error assigning sections to segments.
Ian Lance Taylor [Thu, 24 Jul 2008 07:26:27 +0000 (07:26 +0000)]
* dynobj.cc (Versions::Versions): If there is an soname, use it as
the base version name.
Jie Zhang [Thu, 24 Jul 2008 07:25:13 +0000 (07:25 +0000)]
* config/bfin-parse.y (asm_1): Error if plain symbol is used
as load/store offset.
Ian Lance Taylor [Thu, 24 Jul 2008 07:23:20 +0000 (07:23 +0000)]
* stringpool.cc (Stringpool_template::add_with_length): Set key to
array size plus one.
(Stringpool_template::set_string_offsets): Subtract one from key
before using it as an array index.
(Stringpool_template::get_offset_with_length): Likewise.
(Stringpool_template::write_to_buffer): Likewise.
* stringpool.h (Stringpool_template::get_offset_from_key):
Likewise.
Ian Lance Taylor [Thu, 24 Jul 2008 01:24:50 +0000 (01:24 +0000)]
PR 6658
* object.h (Merged_symbol_value::value): Do our best to handle a
negative addend.
Alan Modra [Thu, 24 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Wed, 23 Jul 2008 23:44:02 +0000 (23:44 +0000)]
PR 6647
* script.cc (Version_script_info::get_versions): Don't add empty
version tag to return value.
(Version_script_info::get_symbol_version_helper): Change return
type to bool. Add pversion parameter. Change all callers.
(script_register_vers_node): Don't require a non-NULL tag.
* script.h (class Version_script_info): Update declarations.
(Version_script_info::get_symbol_version): Change return type to
bool. Add version parameter. Change all callers.
* symtab.cc (Sized_symbol::add_from_relobj): Rework version
handling. Handle an empty version from a version script.
(Symbol_table::define_special_symbol): Likewise.
* testsuite/ver_test_10.script: New file.
* testsuite/ver_test_10.sh: New file.
* testsuite/Makefile.am (check_SCRIPTS): Add ver_test_10.sh.
(check_DATA): Add ver_test_10.syms.
(ver_test_10.syms, ver_test_10.so): New target.
* testsuite/Makefile.in: Rebuild.
Chris Demetriou [Wed, 23 Jul 2008 16:19:59 +0000 (16:19 +0000)]
2008-07-23 Simon Baldwin <simonb@google.com>
* symtab.cc (Symbol_table::sized_write_symbol): Only set st_size
to zero for undefined symbols from dynamic libraries.
Ian Lance Taylor [Wed, 23 Jul 2008 14:36:09 +0000 (14:36 +0000)]
* symtab.cc (Symbol_table::resolve): Remove version parameter.
Change all callers.
* symtab.h (class Symbol_table): Update declaration.
* testsuite/ver_test_9.cc: New file.
* testsuite/Makefile.am (check_PROGRAMS): Add ver_test_9.
(ver_test_9_SOURCES, ver_test_9_DEPENDENCIES): Define.
(ver_test_9_LDFLAGS, ver_test_9_LDADD): Define.
(ver_test_9.so, ver_test_9.o): New targets.
* testsuite/Makefile.in: Rebuild.
Alan Modra [Wed, 23 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Tue, 22 Jul 2008 23:55:24 +0000 (23:55 +0000)]
* options.h (class General_options): Define --check-sections.
* layout.cc (Layout::set_segment_offsets): Handle
--check-sections.
Ian Lance Taylor [Tue, 22 Jul 2008 23:01:20 +0000 (23:01 +0000)]
* options.h (class General_options): Define -n/--nmagic and
-N/--omagic.
* options.cc (General_options::finalize): For -n/--nmagic or
-N/--omagic, set -static.
* layout.cc (Layout::attach_allocated_section_to_segment): If
-N/--omagic, don't put read-only and read-write sections in
different segments.
(Layout::find_first_load_seg): If -N/--omagic, don't insist on
finding a read-only segment.
(Layout::set_segment_offsets): If -N/--omagic or -n/--nmagic,
don't set the minimum segment alignment to the common page size,
and don't set the file offset to the address modulo the page size.
* script-sections.cc (Script_sections::create_segments): If
-n/--omagic, don't put read-only and read-write sections in
different segments.
Ian Lance Taylor [Tue, 22 Jul 2008 22:08:43 +0000 (22:08 +0000)]
* cref.cc: New file.
* cref.h: New file.
* options.h (class General_options): Add --print-symbol-counts.
* main.cc (main): Issue defined symbol report if requested.
* archive.cc (Archive::interpret_header): Make into a const member
function.
(Archive::add_symbols): Call Input_objects::archive_start and
archive_stop.
(Archive::const_iterator): Define new class.
(Archive::begin, Archive::end): New functions.
(Archive::include_all_members): Rewrite to use iterator.
(Archive::count_members): New function.
* archive.h (class Archive): Update declarations.
(Archive::filename): New function.
* object.cc: Include "cref.h".
(Sized_relobj::Sized_relobj): Initialize defined_count_.
(Sized_relobj::do_get_global_symbol_counts): New function.
(Input_objects::add_object): Add object to cross-referencer.
(Input_objects::archive_start): New function.
(Input_objects::archive_stop): New function.
(Input_objects::print_symbol_counts): New function.
* object.h: Declare Cref and Archive.
(Object::get_global_symbol_counts): New function.
(Object::do_get_global_symbol_counts): New pure virtual function.
(class Sized_relobj): Add defined_count_ field. Update
declarations.
(class Input_objects): Add cref_ field. Update constructor.
Update declarations.
* dynobj.cc (Sized_dynobj::Sized_dynobj): Initialize symbols_ and
defined_count_.
(Sized_dynobj::do_add_symbols): Allocate symbols_ if printing
symbol counts.
(Sized_dynobj::do_get_global_symbol_counts): New function.
* dynobj.h (class Sized_dynobj): Add fields symbols_ and
defined_count_. Update declarations. Define Symbols typedef.
* symtab.cc (Symbol_table::add_from_relobj): Add defined
parameter. Change all callers.
(Symbol_table::add_from_dynobj): Add sympointers and defined
parameters. Change all callers.
* symtab.h (class Symbol_table): Update declarations.
* Makefile.am (CCFILES): Add cref.cc.
(HFILES): Add cref.h.
* Makefile.in: Rebuild.
Chris Demetriou [Tue, 22 Jul 2008 21:02:44 +0000 (21:02 +0000)]
2008-07-22 Simon Baldwin <simonb@google.com>
* symtab.cc (Symbol_table::sized_write_symbol): Set symbol size
to zero when writing undefined symbols.
Alan Modra [Tue, 22 Jul 2008 14:15:32 +0000 (14:15 +0000)]
Update for elf_link_output_extsym change
Nick Clifton [Tue, 22 Jul 2008 11:19:01 +0000 (11:19 +0000)]
* elf.c (_bfd_elf_map_sections_to_segments): Allow sections in
adjoining pages to be included in the same segment.
Nick Clifton [Tue, 22 Jul 2008 10:44:51 +0000 (10:44 +0000)]
* config/tc-mips.c (mips_ip): Reset s to argsStart.
* gas/mips/tls-ill.l: Update error message.
* gas/mips/octeon-ill.l: Likewise.
Jie Zhang [Tue, 22 Jul 2008 08:34:16 +0000 (08:34 +0000)]
* config/tc-bfin.c (bfin_gen_loop): Remove loop symbol.
Ian Lance Taylor [Tue, 22 Jul 2008 08:09:48 +0000 (08:09 +0000)]
* output.cc (Output_section::add_input_section): Don't try to
merge empty merge sections.
Chris Demetriou [Tue, 22 Jul 2008 04:58:33 +0000 (04:58 +0000)]
2008-07-22 Simon Baldwin <simonb@google.com>
* elflink.c (elf_link_output_extsym): Set st_size to zero for
symbols from dynamic libraries.
Alan Modra [Tue, 22 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Craig Silverstein [Mon, 21 Jul 2008 23:36:29 +0000 (23:36 +0000)]
2008-07-21 Craig Silverstein <csilvers@google.com>
* symtab.cc (Symbol_table::warn_about_undefined_dynobj_symbol):
Include symbol version in error message.
DJ Delorie [Mon, 21 Jul 2008 17:50:54 +0000 (17:50 +0000)]
* config/tc-h8300.c (fix_operand_size): Use the default size
specified by the .lbranch/.sbranch pseudos.
H.J. Lu [Mon, 21 Jul 2008 16:13:27 +0000 (16:13 +0000)]
2008-07-21 H.J. Lu <hongjiu.lu@intel.com>
PR ld/4424
* elflink.c (_bfd_elf_merge_symbol): Call bed->relocs_compatible
to check if 2 inputs are compatible.
Nick Clifton [Mon, 21 Jul 2008 16:01:01 +0000 (16:01 +0000)]
* elf.c (assign_file_positions_for_load_sections): Print vma in
error message about overlapping section vmas.
H.J. Lu [Mon, 21 Jul 2008 14:36:07 +0000 (14:36 +0000)]
2008-07-21 H.J. Lu <hongjiu.lu@intel.com>
PR ld/6747
* elf32-frv.c (elf32_frv_relocate_section): Revert the change
for PR ld/6446 checked in by accident on May 21, 2008.
Nick Clifton [Mon, 21 Jul 2008 14:09:57 +0000 (14:09 +0000)]
* coff-sh.c (bfd_pe_print_pdata): Define to NULL for non
COFF_WITH_PE based SH ports.
* libpei.h (_bfd_XX_print_ce_compressed_pdata): Prototype.
* arm-wince-pe.c (bfd_pe_print_pdata): Use
_bfd_pe_print_ce_compressed_pdata.
(slurp_symcache, cleanup_syms, pe_print_ce_compressed_pdata): Move
to...
* peXXigen.c: ... here and rename pe_print_ce_compressed_pdata to
_bfd_XX_print_ce_compressed_pdata.
Nick Clifton [Mon, 21 Jul 2008 08:38:35 +0000 (08:38 +0000)]
* ld-scripts/include-sections.t: Discard all sections not
explicitly requested by the rest of the linker script.
* ld-scripts/include-1.d: Expect test to fail for AIX ports.
Do not assume that the .text section will be marked readonly.
* ld-scripts/include.s: Replace .section directives with just
.text or .data.
Alan Modra [Mon, 21 Jul 2008 07:49:58 +0000 (07:49 +0000)]
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Drop
unwanted zero terminators.
Alan Modra [Mon, 21 Jul 2008 07:36:25 +0000 (07:36 +0000)]
* elf32-spu.c (spu_elf_relocate_section): Expand
RELOC_FOR_GLOBAL_SYMBOL. Don't warn about undefined symbols for
R_SPU_PPU32 and R_SPU_PPU64 relocations.
Chris Demetriou [Mon, 21 Jul 2008 05:55:27 +0000 (05:55 +0000)]
2008-07-20 Chris Demetriou <cgd@google.com>
* configure.ac (gold_cv_c_random_seed): New configured variable.
(RANDOM_SEED_CFLAGS): New substituted variable.
* Makefile.am (AM_CFLAGS, AM_CXXFLAGS): Add $(RANDOM_SEED_CFLAGS).
* configure: Rebuild.
* Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
Luis Machado [Mon, 21 Jul 2008 05:33:37 +0000 (05:33 +0000)]
* bfd/elf-bfd.h: Declare elfcore_write_ppc_vsx.
* bfd/elf.c (elfcore_grok_ppc_vsx): New function.
(elfcore_write_ppc_vsx): New function
(elfcore_grok_note): Handle VSX notes.
(elfcore_write_register_note): Handle VSX notes.
* include/elf/common.h: Define NT_PPC_VSX.
* binutils/readelf.c (get_note_type): Handle VSX notes.
Alan Modra [Mon, 21 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 20 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sat, 19 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
DJ Delorie [Fri, 18 Jul 2008 22:25:07 +0000 (22:25 +0000)]
* config/tc-m32c.h (H_TICK_HEX): Define.
* config/tc-m32c.c (OPTION_H_TICK_HEX): Define.
(md_longopts): Add support for it.
(md_parse_option): Likewise.
* doc/as.texinfo (Overview): Add new m32c options.
* doc/c-m32c.texi (M32C-Modifiers): Likewise
* as.h: (enable_h_tick_hex): New.
* app.c (enable_h_tick_hex): New.
(LEX_IS_H): New.
(do_scrub_begin): Mark 'H' and 'h' as special if enable_h_tick_hex.
(do_scrub_chars): If enable_h_tick_hex and 'h', check for H'00
style hex constants and convert the input stream to 0x00 style.
(do_scrub_chars): If a 'X style character constant is found after
a symbol character (like you're or X'00), warn the user.
Joseph Myers [Fri, 18 Jul 2008 20:49:12 +0000 (20:49 +0000)]
bfd:
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add new parameter.
* bfd-in2.h: Regenerate.
* elf32-arm.c (struct elf_arm_obj_tdata): Add field
no_wchar_size_warning.
(bfd_elf32_arm_set_target_relocs): Add new parameter
no_wchar_warn.
(elf32_arm_merge_eabi_attributes): Give a warning, not an error,
for conflicting wchar_t attributes. Do not warn if
--no-wchar-size-warning. Make diagnostic text more specific.
ld:
* ld.texinfo (--no-wchar-size-warning): Document new ARM option.
* emultempl/armelf.em (no_wchar_size_warning): New.
(arm_elf_create_output_section_statements): Pass
no_wchar_size_warning to arm_elf_create_output_section_statements.
(OPTION_NO_WCHAR_SIZE_WARNING): New.
(PARSE_AND_LIST_LONGOPTS): Add no-wchar-size-warning.
(PARSE_AND_LIST_OPTIONS): List --no-wchar-size-warning.
(PARSE_AND_LIST_ARGS_CASES): Handle --no-wchar-size-warning.
ld/testsuite:
* ld-arm/attr-merge-wchar-0.s,ld-arm/attr-merge-wchar-2.s,
ld-arm/attr-merge-wchar-4.s, ld-arm/attr-merge-wchar-00-nowarn.d,
ld-arm/attr-merge-wchar-00.d, ld-arm/attr-merge-wchar-02-nowarn.d,
ld-arm/attr-merge-wchar-02.d, ld-arm/attr-merge-wchar-04-nowarn.d,
ld-arm/attr-merge-wchar-04.d, ld-arm/attr-merge-wchar-20-nowarn.d,
ld-arm/attr-merge-wchar-20.d, ld-arm/attr-merge-wchar-22-nowarn.d,
ld-arm/attr-merge-wchar-22.d, ld-arm/attr-merge-wchar-24-nowarn.d,
ld-arm/attr-merge-wchar-24.d, ld-arm/attr-merge-wchar-40-nowarn.d,
ld-arm/attr-merge-wchar-40.d, ld-arm/attr-merge-wchar-42-nowarn.d,
ld-arm/attr-merge-wchar-42.d, ld-arm/attr-merge-wchar-44-nowarn.d,
ld-arm/attr-merge-wchar-44.d: New.
* ld-arm/arm-elf.exp: Run new tests.
H.J. Lu [Fri, 18 Jul 2008 12:45:33 +0000 (12:45 +0000)]
2008-07-18 H.J. Lu <hongjiu.lu@intel.com>
PR ld/6748
* elf32-arm.c (elf32_arm_link_hash_table_create): Initialize
new fields added for ARM long call support.
Nick Clifton [Fri, 18 Jul 2008 11:30:22 +0000 (11:30 +0000)]
* pe-arm-wince.c (pe_print_compressed_pdata): Define new function to
print compressed pdata structure as described on MSDN. This only
applies to a limited set of architectures (ARM, SH4).
(slurp_symtab, my_symbol_for_address): Define static helper
functions for pe_print_compressed_pdata.
* coffcode.h (bfd_coff_backend_data): Add _bfd_coff_print_pdata field.
(bfd_coff_have_print_pdata, bfd_coff_print_pdata): Define.
* bfd/peXXigen.c (_bfd_XX_print_private_bfd_data_common): Add check on
bfd_coff_backend_data, call the function if non-null.
* pei-mcore.c: Add target dependent initialisation for
bfd_coff_backend_data.
* coff-sh.c: Likewise.
* coff64-rs6000.c: Likewise.
* coff-rs6000.c: Likewise.
* libcoff-in.h: Likewise.
* cf-i386lynx.c: Likewise.
* coff-alpha.c: Likewise.
* coff-apollo.c: Likewise.
* coff-arm.c: Likewise.
* coff-aux.c: Likewise.
* coff-h8300.c: Likewise.
* coff-h8500.c: Likewise.
* coff-i386.c: Likewise.
* coff-i860.c: Likewise.
* coff-i960.c: Likewise.
* coff-ia64.c: Likewise.
* coff-m68k.c: Likewise.
* coff-m88k.c: Likewise.
* coff-maxq.c: Likewise.
* coff-mips.c: Likewise.
* coff-or32.c: Likewise.
* coff-sparc.c: Likewise.
* coff-tic30.c: Likewise.
* coff-tic4x.c: Likewise.
* coff-tic54x.c: Likewise.
* coff-tic80.c: Likewise.
* coff-w65.c: Likewise.
* coff-we32k.c: Likewise.
* coff-x86_64.c: Likewise.
* coff-z80.c: Likewise.
* coff-z8k.c: Likewise.
* pe-mcore.c: Likewise.
* pe-mips.c: Likewise.
* pe-ppc.c: Likewise.
* peXXigen.c: Likewise.
* pei-ppc.c: Likewise.
* libcoff.h: Regenerate.
Ian Lance Taylor [Fri, 18 Jul 2008 07:03:27 +0000 (07:03 +0000)]
* symtab.cc (Symbol_table::add_from_object): Rewrite the case
where we see NAME/NULL and NAME/VERSION as separate symbols.
* testsuite/ver_test_main.cc (main): Call t4.
(t4, t4_2a): Define.
* testsuite/ver_test_2.cc (t4_2): Define.
* testsuite/ver_test_2.script: Put t4_2a in VER2.
* testsuite/ver_test_4.cc (t4_2a): Define.
* testsuite/ver_test_4.script: Put t4_2a in VER2.
* testsuite/ver_test.h (t4, t4_2, t4_2a): Declare.
Ian Lance Taylor [Fri, 18 Jul 2008 06:58:04 +0000 (06:58 +0000)]
* dynobj.cc (Versions::add_def): If we give an error about a
missing version, go ahead and create the version anyhow.
Alan Modra [Fri, 18 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Thu, 17 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Bernd Schmidt [Wed, 16 Jul 2008 15:27:05 +0000 (15:27 +0000)]
* elf32-bfin.c (bfin_check_relocs, bfin_relocate_section,
bfin_final_link_relocate, bfin_gc_mark_hook, bfin_gc_sweep_hook,
ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE,
struct _bfinfdpic_dynamic_got_info): Moved around to keep FD-PIC code
separate from non-FD-PIC.
Alan Modra [Wed, 16 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Tue, 15 Jul 2008 18:48:34 +0000 (18:48 +0000)]
2008-07-15 H.J. Lu <hongjiu.lu@intel.com>
* objdump.c (load_debug_section): Initialize section_is_compressed
for gcc 3.4/ia64.
* readelf.c (load_debug_section): Likewise.
DJ Delorie [Tue, 15 Jul 2008 18:48:07 +0000 (18:48 +0000)]
* elf-m10300.c (mn10300_elf_final_link_relocate): Correct overflow
checks for PCREL8, PCREL16, GOTPC16, GOTOFF16, PLT16, and GOT16
relocs.
(mn10300_elf_relax_section): Correct jump offset check when target
is in a different section.
H.J. Lu [Tue, 15 Jul 2008 18:44:18 +0000 (18:44 +0000)]
Add missing ChangeLog entries for
http://sourceware.org/ml/binutils-cvs/2008-05/msg00092.html
Jie Zhang [Tue, 15 Jul 2008 13:09:47 +0000 (13:09 +0000)]
bfd/
* elf32-bfin.c (elf32_bfin_special_sections[]): New.
(elf_backend_special_sections): Define.
ld/
* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
Alan Modra [Tue, 15 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Jie Zhang [Mon, 14 Jul 2008 03:54:27 +0000 (03:54 +0000)]
* gas/bfin/{bit2.s, cache2.s, control_code2.s, event2.s,
logical2.s, move2.s, parallel.s, parallel2.s, parallel3.s,
parallel4.s, shift2.s, stack2.s, video2.s}: Remove DOS line
endings.
H.J. Lu [Mon, 14 Jul 2008 01:22:23 +0000 (01:22 +0000)]
Mention "PR ld/6741" in ChangeLog.
H.J. Lu [Mon, 14 Jul 2008 01:20:48 +0000 (01:20 +0000)]
Mention "PR binutils/6743" in ChangeLog.
Craig Silverstein [Mon, 14 Jul 2008 00:10:09 +0000 (00:10 +0000)]
2008-07-13 Craig Silverstein <csilvers@google.com>
* dwarf2.c (struct dwarf2_debug): New variable info_ptr_memory.
(find_line): Use info_ptr_memory instead of sec_info_ptr.
(_bfd_dwarf2_cleanup_debug_info): Likewise.
Alan Modra [Mon, 14 Jul 2008 00:00:04 +0000 (00:00 +0000)]
daily update
Alan Modra [Sun, 13 Jul 2008 00:00:04 +0000 (00:00 +0000)]
daily update
Craig Silverstein [Sat, 12 Jul 2008 21:36:53 +0000 (21:36 +0000)]
2008-07-12 Craig Silverstein <csilvers@google.com>
* configure.in: Check for, and include, libz.a if it is
present.
* configure: Regenerate.
* config.in: Regenerate.
Jie Zhang [Sat, 12 Jul 2008 08:54:13 +0000 (08:54 +0000)]
Revert my last change since it has not been approved.
Alan Modra [Sat, 12 Jul 2008 00:00:04 +0000 (00:00 +0000)]
daily update
Jie Zhang [Fri, 11 Jul 2008 19:24:39 +0000 (19:24 +0000)]
bfd/
* elf.c (_bfd_elf_map_sections_to_segments): Don't put
executable sections into the same segment with other
read only sections if --sep-code.
* elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
(elf32_bfin_data_in_l1): New variable.
(elf32_bfin_final_write_processing): New.
(elf32_bfin_special_sections[]): New.
(elf_backend_final_write_processing): Define.
(elf_backend_special_sections): Define.
binutils/
* readelf.c (get_machine_flags): Deal with Blackfin specific
flags.
include/
* bfdlink.h (struct bfd_link_info): Add sep_code member
variable.
* elf/bfin.h (EF_BFIN_CODE_IN_L1): Define.
(EF_BFIN_DATA_IN_L1): Define.
ld/
* Makefile.am (eelf32bfin.c): Depend on bfin.em.
(eelf32bfinfd.c): Likewise.
* Makefile.in: Regenerate.
* gen-doc.texi: Set Blackfin.
* ld.texinfo: Document --sep-code and Blackfin specific
options.
* ldmain.c (main): Initialize link_info.sep_code.
* lexsup.c (enum option_values): Add OPTION_SEP_CODE.
(ld_options[]): Add --sep-code.
(parse_args): Deal with --sep-code.
* emulparams/bfin.sh (EXTRA_EM_FILE): Define.
* emulparams/elf32bfinfd.sh (OTHER_SECTIONS): Define.
* emultempl/bfin.em: New file.
H.J. Lu [Fri, 11 Jul 2008 17:19:00 +0000 (17:19 +0000)]
2008-07-11 H.J. Lu <hongjiu.lu@intel.com>
* ld-m68k/got-12.s: Removed.
* ld-m68k/got-13.s: Likewise.
* ld-m68k/got-14.s: Likewise.
* ld-m68k/got-15.s: Likewise.
* ld-m68k/got-34.s: Likewise.
* ld-m68k/got-35.s: Likewise.
* ld-m68k/xgot-15.s: Likewise.
* ld-m68k/got-multigot-12-13-14-34-35-ok.d: Remove #source
and expected relocations.
* ld-m68k/got-multigot-14-ok.d: Likewise.
* ld-m68k/got-negative-12-13-14-34-ok.d: Likewise.
* ld-m68k/got-negative-14-ok.d: Likewise.
* ld-m68k/got-single-12-ok.d: Likewise.
* ld-m68k/got-xgot-12-13-14-15-34-35-ok.d: Likewise.
* ld-m68k/got-xgot-15-ok.d: Likewise.
* ld-m68k/got-multigot-15-er.d: Remove #source.
* ld-m68k/got-negative-12-13-14-35-er.d: Likewise.
* ld-m68k/got-negative-15-er.d: Likewise.
* ld-m68k/got-single-13-er.d: Likewise.
* ld-m68k/m68k.exp: Move GOT tests to ...
* ld-m68k/m68k-got.exp: This. New.
Joseph Myers [Fri, 11 Jul 2008 11:15:59 +0000 (11:15 +0000)]
* mh-mingw (LDFLAGS): Append to rather than replacing previous
value.
Hans-Peter Nilsson [Fri, 11 Jul 2008 10:47:29 +0000 (10:47 +0000)]
* binutils-all/objdump.W: Generalize to adjust for targets with
non-byte-size instructions.
Andreas Schwab [Fri, 11 Jul 2008 09:18:19 +0000 (09:18 +0000)]
(read_section): Take pointer to bfd_size_type instead
of unsigned long as last parameter.
(struct dwarf2_debug): Define dwarf_abbrev_size, dwarf_line_size,
dwarf_str_size and dwarf_ranges_size as bfd_size_type instead of
unsigned long.
Alan Modra [Fri, 11 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Ian Lance Taylor [Thu, 10 Jul 2008 23:01:20 +0000 (23:01 +0000)]
Handle output sections with more than 0x7fffffff bytes.
* object.h (class Relobj): Change map_to_output_ to
output_sections_, and just keep a section pointer. Change all
uses. Move comdat group support to Sized_relobj.
(Relobj::is_section_specially_mapped): Remove.
(Relobj::output_section): Remove poff parameter. Change all
callers.
(Relobj::output_section_offset): New function.
(Relobj::set_section_offset): Rewrite.
(Relobj::map_to_output): Remove.
(Relobj::output_sections): New function.
(Relobj::do_output_section_offset): New pure virtual function.
(Relobj::do_set_section_offset): Likewise.
(class Sized_relobj): Add section_offsets_ field. Add comdat
group support from Relobj. Update declarations.
(Sized_relobj::get_output_section_offset): New function.
(Sized_relobj::do_output_section_offset): New function.
(Sized_relobj::do_set_section_offset): New function.
* object.cc (Relobj::output_section_address): Remove.
(Sized_relobj::Sized_relobj): Initialize new fields.
(Sized_relobj::include_section_group): Cast find_kept_object to
Sized_relobj.
(Sized_relobj::include_linkonce_section): Likewise.
(Sized_relobj::do_layout): Use separate arrays for output section
and output offset.
(Sized_relobj::do_count_local_symbols): Change map_to_output to
output_sections.
(Sized_relobj::do_finalize_local_symbols): Change map_to_output to
output_sections and section_offsets.
(Sized_relobj::write_local_symbols): Likewise.
(map_to_kept_section): Compute output address directly.
* reloc.cc (Sized_relobj::do_read_relocs): Change map_to_output to
output_sections and section_offsets.
(Sized_relobj::write_sections): Likewise.
(Sized_relobj::relocate_sections): Likewise.
* symtab.cc (sized_finalize_symbol): Use output_section_offset.
* output.h (class Output_reloc): Update declarations. Change
u2_.relobj to Sized_relobj*.
(class Output_data_reloc): Change add functions to use
Sized_relobj*.
* output.cc (Output_reloc::Output_reloc): Change relobj to
Sized_relobj*.
(Output_reloc::local_section_offset): Change return type to
Elf_Addr. Use get_output_section_offset.
(Output_reloc::get_address): Likewise.
(Output_section::is_input_address_mapped): Don't call
is_section_specially_mapped.
(Output_section::output_offset): Likewise.
(Output_section::output_address): Likewise.
(Output_section::starting_output_address): Likewise.
* copy-relocs.cc (Copy_relocs::copy_reloc): Change object
parameter to Sized_relobj*.
(Copy_relocs::need_copy_reloc): Likewise.
(Copy_relocs::save): Likewise.
* copy-relocs.h (class Copy_relocs): Update declarations.
(class Copy_relocs::Copy_reloc_entry): Change constructor to use
Sized_relobj*. Change relobj_ field to Sized_relobj*.
* target-reloc.h (relocate_for_relocatable): Change
offset_in_output_section type to Elf_Addr. Change code that uses
it as well.
* layout.cc (Layout::layout): Always set *off.
* mapfile.cc (Mapfile::print_input_section): Use
output_section_offset.
* i386.cc (Target_i386::copy_reloc): Change object parameter to
Sized_relobj*.
* powerpc.cc (Target_powerpc::copy_reloc): Likewise.
* sparc.cc (Target_sparc::copy_reloc): Likewise.
* x86_64.cc (Target_x86_64::copy_reloc): Likewise.
Richard Sandiford [Thu, 10 Jul 2008 19:06:54 +0000 (19:06 +0000)]
bfd/
* elfxx-mips.c (mips_elf_calculate_relocation): Calculate GP and GP0
for all relocation types. Allow any type of relocation to refer to
__gnu_local_gp.
ld/testsuite/
* ld-mips-elf/no-shared-1-o32.s,
ld-mips-elf/no-shared-1-o32.d,
ld-mips-elf/no-shared-1-n32.d,
ld-mips-elf/no-shared-1-n64.s,
ld-mips-elf/no-shared-1-n64.d,
ld-mips-elf/no-shared-1.ld: New tests.
* ld-mips-elf/mips-elf.exp: Run them.
Richard Sandiford [Thu, 10 Jul 2008 19:05:29 +0000 (19:05 +0000)]
include/elf/
* mips.h (ELF_ST_IS_MIPS16, ELF_ST_SET_MIPS16): New macros.
bfd/
* elfxx-mips.c (mips_elf_check_mips16_stubs): Use ELF_ST_IS_MIPS16.
(mips_elf_calculate_relocation): Likewise.
(_bfd_mips_elf_add_symbol_hook): Likewise.
(_bfd_mips_elf_finish_dynamic_symbol): Likewise.
(_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
opcodes/
* mips-dis.c (_print_insn_mips): Use ELF_ST_IS_MIPS16.
gas/
* config/tc-mips.c (mips16_mark_labels): Use ELF_ST_SET_MIPS16.
(mips_fix_adjustable): Likewise.
(mips_frob_file_after_relocs): Likewise.
gas/testsuite/
* gas/mips/mips16-vis-1.d, gas/mips/mips16-vis-1.s: New tests.
* gas/mips/mips.exp: Run them.
Andreas Schwab [Thu, 10 Jul 2008 16:24:03 +0000 (16:24 +0000)]
(_bfd_mips_elf_section_from_shdr): Add missing
paren.
Craig Silverstein [Thu, 10 Jul 2008 01:32:23 +0000 (01:32 +0000)]
bfd/
* Makefile.am (BFD32_LIBS): Add compress.lo.
(BFD32_LIBS_CFILES): Add compress.c.
(BFD_H_FILES): Likewise.
* Makefile.in: Regenerate.
* bfd-in2.h: Regenerate.
* config.in: Add HAVE_ZLIB_H
* configure.in: Add test for libz and zlib.h
* configure: Regenerate.
* dwarf2.c (read_section): New function.
(read_indirect_string): Call new function read_section.
(read_abbrevs): Likewise.
(decode_line_info): Likewise.
(read_debug_ranges): Likewise.
(find_line): Call new function read_section when just one
.zdebug_info section is found, otherwise read and compress
multiple sections.
(_bfd_dwarf2_cleanup_debug_info): Free sec_info_ptr.
* elf.c (_bfd_elf_make_section_from_shdr): Add zdebug prefix.
(special_sections_z): New struct.
(special_sections): Refer to special_sections_z.
* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Recognize
sections named .zdebug_*.
(_bfd_mips_elf_fake_sections): Likewise.
* compress.c: New file.
(bfd_uncompress_section_contents): New function.
bfd/doc/
* Makefile.am (BFD_H_DEP): Add ../compress.c.
* Makefile.in: Regenerate.
binutils/
* config.in: Add HAVE_ZLIB_H
* configure.in: Add test for libz and zlib.h
* configure: Regenerate.
* dwarf.c (debug_displays): Add .zdebug_* strings.
* dwarf.h (struct dwarf_section): Add fields uncompressed_namd
and compressed_name.
* objdump.c (load_debug_section): Call
bfd_uncompress_section_contents when loading a compressed
section.
(dump_dwarf_section): Recognize compressed section name.
(mach_o_dwarf_sections): Rename as
mach_o_uncompressed_dwarf_sections.
(mach_o_compressed_dwarf_sections): New variable.
(generic_dwarf_section): Rename as
generic_uncompressed_dwarf_sections.
(generic_compressed_dwarf_sections): New variable.
(check_mach_o_dwarf): Save and restore
mach_o_compressed_dwarf_sections.
* readelf.c: Add #include for config.h and zlib.h
(process_section_headers): Recognize compressed section name.
(uncompress_section_contents): New function.
(load_debug_section): Call uncompress_section_contents when
loading a compressed section.
(display_debug_section): Recognize compressed section name.
binutils/testsuite:
* binutils-all/objdump.exp: Add test for objdump -s on a file
with a compressed debug section. Add test for objdump -W on a
file that contains a compressed debug section.
* binutils-all/readelf.exp: Call readelf_compressed_wa_test.
(readelf_compressed_wa_test): New function.
* binutils-all/dw2-compressed.S: New file.
* binutils-all/objdump.W: New file.
* binutils-all/objdump.s: New file.
* binutils-all/readelf.wa: New file.
Alan Modra [Thu, 10 Jul 2008 00:00:05 +0000 (00:00 +0000)]
daily update
Kai Tietz [Wed, 9 Jul 2008 10:28:12 +0000 (10:28 +0000)]
2008-07-09 Kai Tietz <kai.tietz@onevision.com>
* gas/i386/i386.exp (x86-64-pcrel): Disable for w64.
(x86-64-sse5): Likewise.
(x86-64-opcode-inval): Likewise.
(x86-64-opcode-inval-intel): Likewise.
(x86-64-w64-pcrel): New.
* gas/i386/x86-64-w64-pcrel.d: New.