summaryrefslogtreecommitdiff
path: root/gold
Commit message (Collapse)AuthorAgeFilesLines
* 2009-12-05 Doug Kwan <dougkwan@google.com>Doug Kwan2009-12-069-10/+104
| | | | | | | | | | | | | | | | | | | | | | | | | elfcpp/ChangeLog: * arm.h: Define enums for Tag_CPU_arch EABI attribute. gold/ChangeLog: * arm.cc (Target_arm::arm_info): Initialize new fields attributes_section and attributes_vendor. * i386.cc (Target_i386::i386_info): Same. * object.cc (Sized_relobj::do_layout): Skip attribute section. * gold/powerpc.cc (Target_powerpc::powerpc_info): Initialize new fields attributes_section and attributes_vendor. * sparc.cc (Target_sparc::sparc_info): Same. * target.h (Target::attributes_section, Target::attributes_vendor, Target::is_attributes_section, Target::attribute_arg_type, Target::attributes_order): New method definitions. (Target::Target_info::attributes_section, Target::Target_info::attributes_vendor): New fields. (Target::do_attribute_arg_type, Target::do_attributes_order): New virtual method definitions. * x86_64.cc (Target_x86_64::x86_64_info): Initialize new fields attributes_section and attributes_vendor. * testsuite/testfile.cc (Target_test::test_target_info): Same.
* 2009-12-05 Doug Kwan <dougkwan@google.com>Doug Kwan2009-12-062-45/+61
| | | | | | | | | | | | | | * arm.cc: Update comments about interworking and stub generation. (Target_arm::Relocate::reloc_is_non_pic): Update list of relocations considered as non-PIC. (Arm_relocate_functions::base_abs): Fix formatting. (Arm_relocate_functions::got_prel): Fix comment. Change interface of function to use GOT entry address instead of offset. (Target_arm::Scan::global): Issue an error if a symbol would need a PLT does not get one because it is untyped. Remove code to create dynamic symbols for relative branches. (Target_arm::Relocate::relocate: Use 0 instead of false since function takes unsigned integer instead of boolean.
* 2009-12-05 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2009-12-053-154/+73
| | | | | | | | | | | | | | | | * testsuite/Makefile.am (constructor_test_LDADD): New. Empty. (two_file_test_LDADD): Likewise. (common_test_1_LDADD): Likewise. (exception_test_LDADD) Likewise. (weak_test_LDADD): Likewise. (many_sections_test_LDADD): Likewise. (initpri1_LDADD): Likewise. (script_test_1_LDADD): Likewise. (script_test_2_LDADD): Likewise. (justsyms_LDADD): Likewise. (binary_test_LDADD): Likewise. (large_LDADD): Likewise. * testsuite/Makefile.in: Regenerated.
* 2009-12-04 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2009-12-053-0/+9
| | | | | | * resolve.cc (symbol_to_bits): Treat STB_GNU_UNIQUE as STB_GLOBAL. (Symbol_table::override_with_special): Likewise. (Symbol_table::add_from_object): Likewise.
* 2009-12-04 Rafael Avila de Espindola <espindola@google.com>espindola2009-12-042-4/+5
| | | | | * incremental.cc (Incremental_inputs::sized_create_inputs_section_data): Don't set the data_offset twice.
* pdaespindola2009-12-042-6/+20
|
* 2009-12-03 Doug Kwan <dougkwan@google.com>Doug Kwan2009-12-038-22/+57
| | | | | | | | | | | | | | | | | * arm.cc: Remove comment about missing .ARM.exidx section symbols. (Target_arm::do_finalize_sections): Add parameter for symbol table pointer. Add __exidx_start and __exidx_end symbols as appropriate. * i386.cc (Target_i386::do_finalize_sections): Add an additional parameter for symbol table pointer. * layout.cc (Layout::finalize): Call Target::finalize_sections with an additional parameter for a pointer to symbol table. * powerpc.cc (Target_powerpc::do_finalize_sections): Add an additional parameter for a symbol table pointer. * sparc.cc (Target_sparc::do_finalize_sections): Ditto. * target.h (Target::finalize_sections, Target::do_finalize_sections): Ditto. * x86_64.cc (Target_x86_64::do_finalize_sections): Add an additional parameter for a symbol table pointer.
* 2009-12-03 Rafael Avila de Espindola <espindola@google.com>espindola2009-12-033-162/+173
| | | | | | | | | * incremental.cc (Incremental_inputs_header) (Incremental_inputs_header_write, Incremental_inputs_entry) (Incremental_inputs_entry_write): Move ... * incremental.h (Incremental_inputs_header) (Incremental_inputs_header_write, Incremental_inputs_entry) (Incremental_inputs_entry_write): here.
* 2009-12-02 Rafael Avila de Espindola <espindola@google.com>espindola2009-12-033-0/+16
| | | | | | * incremental.cc (make_sized_incremental_binary): Set the target. Error if it is incompatible. * output.h (Output_file): Add filename method.
* 2009-12-02 Rafael Avila de Espindola <espindola@google.com>espindola2009-12-022-6/+11
| | | | | * incremental.cc (Incremental_inputs_entry): Remove unused argument from the get_* methods.
* 2009-12-02 Rafael Avila de Espindola <espindola@google.com>espindola2009-12-023-0/+28
| | | | | | * incremental-dump.cc (main): Check that the offeset of a script is 0. * incremental.cc (Incremental_inputs::sized_create_inputs_section_data): Write 0 for the data_offset of scripts.
* 2009-12-02 Rafael Avila de Espindola <espindola@google.com>espindola2009-12-025-0/+99
| | | | | | | * testsuite/Makefile.am: Add the incremental_test.sh test. * testsuite/incremental_test.sh: New. * testsuite/incremental_test_1.c: New. * testsuite/incremental_test_2.c: New.
* 2009-12-01 Rafael Avila de Espindola <espindola@google.com>espindola2009-12-012-2/+6
| | | | * incremental-dump.cc (main): Fix typos.
* 2009-11-27 Rafael Avila de Espindola <espindola@google.com>espindola2009-11-272-1/+7
| | | | | PR gold/11025 * incremental-dump.cc (main): Use llu to print 64 bit values.
* Add $(THREADSLIB) $(LIBDL) to incremental-dump.H.J. Lu2009-11-273-4/+18
| | | | | | | | | | 2009-11-26 Per Øyvind Karlsen <peroyvind@mandriva.org> H.J. Lu <hongjiu.lu@intel.com> * Makefile.am (incremental_dump_DEPENDENCIES): Add $(THREADSLIB) $(LIBDL). (incremental_dump_LDADD): Likewise. * Makefile.in: Regenerated.
* 2009-11-25 Doug Kwan <dougkwan@google.com>Doug Kwan2009-11-253-73/+41
| | | | | | | | | | | | | | | | | | | | | | Revert: 2009-11-25 Doug Kwan <dougkwan@google.com> * arm.cc (Target_arm::Target_arm): Move method definition outside of class definition. Add code to handle --target1-rel, --target1-abs and --target2= options. (Target_arm::get_reloc_reloc_type): Change method to be non-static and const. (Target_arm::target1_is_rel_, Target_arm::target2_reloc_): New data member declaration. (Target_arm::Scan::local, Target_arm::Scan::global, Target_arm::Relocate::relocate, Target_arm::Relocatable_size_for_reloc::get_size_for_reloc): Adjust call to Target_arm::get_real_reloc_type. (Target_arm::get_real_reloc_type): Use command line options to determine real types of R_ARM_TARGET1 and R_ARM_TARGET2. * options.h (--target1-rel, --target1-abs, --target2): New ARM-only options.
* 2009-11-25 Doug Kwan <dougkwan@google.com>Doug Kwan2009-11-253-19/+91
| | | | | | | | | | | | | | | | | | * arm.cc (Target_arm::Target_arm): Move method definition outside of class definition. Add code to handle --target1-rel, --target1-abs and --target2= options. (Target_arm::get_reloc_reloc_type): Change method to be non-static and const. (Target_arm::target1_is_rel_, Target_arm::target2_reloc_): New data member declaration. (Target_arm::Scan::local, Target_arm::Scan::global, Target_arm::Relocate::relocate, Target_arm::Relocatable_size_for_reloc::get_size_for_reloc): Adjust call to Target_arm::get_real_reloc_type. (Target_arm::get_real_reloc_type): Use command line options to determine real types of R_ARM_TARGET1 and R_ARM_TARGET2. * options.h (--target1-rel, --target1-abs, --target2): New ARM-only options.
* 2009-11-25 Doug Kwan <dougkwan@google.com>Doug Kwan2009-11-252-38/+267
| | | | | | | | | | | | | | | | | | * arm.cc (Target_arm::Target_arm): Move method definition outside of class definition. Add code to handle --target1-rel, --target1-abs and --target2= options. (Target_arm::get_reloc_reloc_type): Change method to be non-static and const. (Target_arm::target1_is_rel_, Target_arm::target2_reloc_): New data member declaration. (Target_arm::Scan::local, Target_arm::Scan::global, Target_arm::Relocate::relocate, Target_arm::Relocatable_size_for_reloc::get_size_for_reloc): Adjust call to Target_arm::get_real_reloc_type. (Target_arm::get_real_reloc_type): Use command line options to determine real types of R_ARM_TARGET1 and R_ARM_TARGET2. * options.h (--target1-rel, --target1-abs, --target2): New ARM-only options.
* 2009-11-24 Rafael Avila de Espindola <espindola@google.com>espindola2009-11-256-61/+258
| | | | | | | | | | | | | | * Makefile.am: Build incremental-dump * Makefile.in: Regenerate. * incremental-dump.cc: New. * incremental.cc (Incremental_inputs_header_data, Incremental_inputs_entry_data): Move to incremental.h * incremental.h: (Incremental_inputs_header_data, Incremental_inputs_entry_data): Move from incremental.cc 2009-11-24 Rafael Avila de Espindola <espindola@google.com> * elfcpp_file.h: Include elfcpp.h.
* 2009-11-24 Rafael Avila de Espindola <espindola@google.com>espindola2009-11-242-12/+30
| | | | | | * incremental.cc (Incremental_inputs_header, Incremental_inputs_header_write, Incremental_inputs_entry, Incremental_inputs_entry_write): Add a typedef with the data type.
* 2009-11-24 Rafael Avila de Espindola <espindola@google.com>espindola2009-11-242-4/+11
| | | | | | | * incremental.cc (Incremental_inputs_header, Incremental_inputs_header_write, Incremental_inputs_entry, Incremental_inputs_entry_write): Update comment about which type has the filed descriptions.
* 2009-11-15 Doug Kwan <dougkwan@google.com>Doug Kwan2009-11-162-82/+232
| | | | | | | | | | | | | | | | | * arm.cc (Target_arm::may_use_arm_nop): New method definition. (Arm_relocate_functions::arm_branch_common): Change method defintion in class definition to a method declaration and update list of formal parameters. (Arm_relocate_functions::plt32, Arm_relocate_functions::call, Arm_relocation_functions::jump24): Adjust call to Arm_relocate_functions::arm_branch_common. Update list of formal parameters. (Arm_relocate_functions::xpc25): New method definition. (Arm_relocate_functions::arm_branch_common): Move method defintion out from class definition. Use stubs for mode-switching and extending branch ranges. (Target_arm::Relocate::relocate): Handle weakly-undefined symbols specially. Change code to enable use of stubs in ARM branches.
* 2009-11-10 Doug Kwan <dougkwan@google.com>Doug Kwan2009-11-092-18/+103
| | | | | | | | | | | | | | * arm.cc (Arm_relobj::do_relocate_sections): Remove options parameter in method declaration. (Target_arm::relocate_stub): New method declaration. (Target_arm::default_target): Change to return a pointer instead of a const reference. (Reloc_stub::stub_type_for_reloc): Adjust for the change in Target_arm::default_target. (Arm_Relobj::do_relocate_sections): Remove options paramater in method definition. (Target_arm::relocate_section): Adjust view. (Target_arm::relocate_stub): New method definition.
* 2009-11-10 Doug Kwan <dougkwan@google.com>Doug Kwan2009-11-095-6/+16
| | | | | | | | | | * i386.cc (Target_i386::do_calls_non_split): Add a cast to avoid a format warning. * incremental.cc (open_incremental_binary): Initialized local variables to avoid warnings. * object.cc (make_elf_object): Ditto. * x86_64.cc (Target_x86_64::do_calls_non_split): Add a cast to avoid a format warning.
* Include "config.h".H.J. Lu2009-11-092-0/+9
| | | | | | | 009-11-09 H.J. Lu <hongjiu.lu@intel.com> PR gold/10930 * testsuite/plugin_test.c: Include "config.h".
* 2009-11-09 Doug Kwan <dougkwan@google.com>Doug Kwan2009-11-092-86/+128
| | | | | | | | | | | | | | | | | | | | | | | | * arm.cc (Target_arm::fake_relnum_for_stubs): New constant. (arm_symbol_value): Remove. (Arm_relocate_functions::arm_branch_common, Arm_relocate_functions::abs8, Arm_relocate_functions::thm_abs5, Arm_relocate_functions::abs12, Arm_relocate_functions::abs16, Arm_relocate_functions::abs32, Arm_relocate_functions::rel32, Arm_relocate_functions::thm_call, Arm_relocate_functions::plt32, Arm_relocate_functions::call, Arm_relocate_functions::jump24, Arm_relocate_functions::prel31, Arm_relocate_functions::mov_abs_nc, Arm_relocate_functions::movt_abs, Arm_relocate_functions::movw_abs_nc, Arm_relocate_functions::thm_mobw_abs_nc, Arm_relocate_functions::thm_mov_abs, Arm_relocate_functions::movw_prel_nc, Arm_relocate_functions::thm_movt_abs, Arm_relocate_functions::movt_prel, Arm_relocate_functions::thm_movw_prel_nc, Arm_relocate_functions::thm_movt_prel): Adjust callers of the above. (Target_arm::Relocate::relocate): Only decompose address into two parts if relocation type uses the thumb-bit and pass the actual bit instead of a flag indicating that the thumb-bit is used. Adjust calls to methods in Arm_relocate_functions for this change.
* PR 10925Ian Lance Taylor2009-11-092-0/+47
| | | | | | * reloc.cc: Instantiate Sized_relobj::initialize_input_to_output_maps and Sized_relobj:free_input_to_output_maps.
* PR 10876Ian Lance Taylor2009-11-072-1/+6
| | | | * defstd.cc (in_segment): Set only_if_ref true for "end".
* 2009-11-06 Doug Kwan <dougkwan@google.com>Doug Kwan2009-11-072-17/+511
| | | | | | | | | | | | | | | | | * arm.cc (class Reloc_stub): Correct a comment. (Target_arm::Target_arm): Initialize arm_input_section_map_. (Target_arm::scan_section_for_stubs): New method declaration. (Target_arm::do_make_elf_object, Target_arm::do_make_output_section): Change methods from private to protected. (Target_arm::do_may_relax): New method definition. (Target_arm::do_relax, Target_arm::group_sections, Target_arm::scan_reloc_for_stub, Target_arm::scan_reloc_section_for_stubs): New method declarations. (Target_arm::arm_input_section_map_): New data member declaration. (Target_arm::scan_reloc_for_stub, Target_arm::scan_reloc_section_for_stubs, Target_arm::scan_section_for_stubs, Target_arm::group_sections, Target_arm::do_relax): New method definitions.
* * configure.ac: Check for (struct stat)::st_mtimIan Lance Taylor2009-11-065-2/+60
| | | | | | * fileread.cc (File_read::get_mtime): Use st_mtim if available. * config.in: Regenerate. * configure: Regenerate.
* Remove debugging code accidentally included in last commit.Ian Lance Taylor2009-11-051-2/+0
|
* PR 10910Ian Lance Taylor2009-11-052-7/+11
| | | | | * output.cc (Output_segment::add_output_section): Add missing return statement.
* PR 10880Ian Lance Taylor2009-11-054-9/+50
| | | | | | | | | | * object.h (class Object): Add is_needed and set_is_needed methods. Add is_needed_ field. Make bool fields into bitfields. * symtab.cc (Symbol_table::set_dynsym_indexes): If a symbol is defined in a dynamic object and referenced by a regular object, set is_needed for the dynamic object. * layout.cc (Layout::finish_dynamic_section): Don't add DT_NEEDED if the file is marked with as_needed and it is not needed.
* PR 10887Ian Lance Taylor2009-11-046-13/+36
| | | | | | | | | * arm.cc (Target_arm::do_finalize_sections): Don't add dynamic tags if data is discarded by linker script. * i386.cc (Target_i386::do_finalize_sections): Likewise. * powerpc.cc (Target_powerpc::do_finalize_sections): Likewise. * sparc.cc (Target_sparc::do_finalize_sections): Likewise. * x86_64.cc (Target_x86_64::do_finalize_sections): Likewise.
* * layout.cc (Layout::get_output_section): Add is_interp andIan Lance Taylor2009-11-0413-102/+248
| | | | | | | | | | | | | | | | | is_dynamic_linker_section parameters. Change all callers. (Layout::choose_output_section): Likewise. (Layout::make_output_section): Likewise. (Layout::add_output_section_data): Add is_dynamic_linker_section parameter. Change all callers. * layout.h (class Layout): Update declarations. * output.h (class Output_section): Add is_interp, set_is_interp, is_dynamic_linker_section, set_is_dynamic_linker_section methods. Add is_interp_, is_dynamic_linker_section_ fields. Change generate_code_fills_at_write_ to a bitfield. * output.cc (Output_section::Output_sections): Initialize new fields. (Output_segment::add_output_section): Add do_sort parameter. Change all callers.
* PR 10860Ian Lance Taylor2009-11-044-15/+99
| | | | | | | | | | | * options.h (class General_options): Add --warn-common. * resolve.cc (Symbol_table::resolve): Handle --warn-common when merging two common symbols. (Symbol_table::should_override): Handle --warn-common when merging a common symbol with a defined symbol. Use report_resolve_problem for multiple definitions. (Symbol_table::report_resolve_problem): New function. * symtab.h (class Symbol_table): Declare report_resolve_problem.
* 2009-11-03 Doug Kwan <dougkwan@google.com>Doug Kwan2009-11-032-1/+164
| | | | | | | | | | | | | | | | * arm.cc (Target_arm::Target_arm): Initialize stub_tables_ and stub_factory_. (Target_arm::stub_factory): New method definition. (Target_arm::new_arm_input_section, Target_arm::find_arm_input_section, Target_arm::new_stub_table, Target_arm::reloc_uses_thumb_bit): New method declarations. (Target_arm::Stub_table_list, Target_arm::Arm_input_section_map): New type definitions. (Target_arm::stub_tables_, Target_arm::stub_factory_): New data member declarations. (Target_arm::reloc_uses_thumb_bit, Target_arm::new_arm_input_section, Target_arm::find_arm_input_section, Target_arm::new_stub_table): New method definitions.
* * options.h (class General_options): Add --warn_constructors.Ian Lance Taylor2009-11-032-0/+7
|
* PR 10893Ian Lance Taylor2009-11-032-2/+68
| | | | | * defstd.cc (in_section): Add entries for __rel_iplt_start, __rel_iplt_end, __rela_iplt_start, __rela_iplt_end, and __stack.
* PR 10895Ian Lance Taylor2009-11-032-3/+13
| | | | | | | * po/Make-in ($(srcdir)/$(PACKAGE).pot): Pass -C and --msgid-bugs-address. (install-pdf): New target. (install-data_yes): Look up one directory to find mkinstalldirs.
* 2009-11-03 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2009-11-032-1/+6
| | | | | * po/Make-in (.po.gmo): Don't generate .gmo files in source tree.
* 2009-10-30 Doug Kwan <dougkwan@google.com>Doug Kwan2009-10-312-3/+7
| | | | * arm.cc (Stub_addend_reader): Fix bug in previouls check-in.
* 2009-10-30 Doug Kwan <dougkwan@google.com>Doug Kwan2009-10-312-1/+122
| | | | | | | * arm.cc (Stub_addend_reader): New struct template definition and partial specializations. (Stub_addend_reader::operator()): New method definition for a partially specialized template.
* 2009-10-30 Doug Kwan <dougkwan@google.com>Doug Kwan2009-10-309-19/+355
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | elfcpp/ChangeLog: * arm.h (EF_ARM_BE8, EF_ARM_EABIMASK, EF_ARM_EABI_UNKNOWN, EF_ARM_EABI_VER1, EF_ARM_EABI_VER2, EF_ARM_EABI_VER3, EF_ARM_EABI_VER4, EF_ARM_EABI_VER5): New enums for processor-specific flags. (arm_eabi_version): New inline function. * elfcpp.h: Add a comment about DT_ENCODING. gold/ChangeLog: * arm.cc (Arm_relobj::processor_specific_flags): New method definition. (Arm_relobj::do_read_symbols): New method declaration. (Arm_relobj::processor_specific_flags_): New data member declaration. (Arm_dynobj): New class definition. (Target_arm::do_finalize_sections): Add input_objects parameter. (Target_arm::do_adjust_elf_header): New method declaration. (Target_arm::are_eabi_versions_compatible, (Target_arm::merge_processor_specific_flags): New method declaration. (Target_arm::do_make_elf_object): New overloaded method definitions and declaration. (Arm_relobj::do_read_symbols): New method definition. (Arm_dynobj::do_read_symbols): Ditto. (Target_arm::do_finalize_sections): Add input_objects parameters. Merge processor-specific flags from all input objects. (Target_arm::are_eabi_versions_compatible, Target_arm::merge_processor_specific_flags, Target_arm::do_adjust_elf_header, Target_arm::do_make_elf_object): New method definitions. * i386.cc (Target_i386::do_finalize_sections): Add unnamed Input_objects pointer type parameter. * layout.cc (Layout::finalize): Pass input objects to target's. finalize_sections function. * output.cc (Output_file_header::do_sized_write): Set ELF file header's processor-specific flags. * powerpc.cc (Target_powerpc::do_finalize_sections): Add unnamed Input_objects pointer type parameter. * sparc.cc (Target_sparc::do_finalize_sections): Same. * target.h (Input_objects): New forward class declaration. (Target::processor_specific_flags, Target::are_processor_specific_flags_sect): New method definitions. (Target::finalize_sections): Add input_objects parameter. (Target::Target): Initialize processor_specific_flags_ and are_processor_specific_flags_set_. (Target::do_finalize_sections): Add unnamed Input_objects pointer type parameter. (Target::set_processor_specific_flags): New method definition. (Target::processor_specific_flags_, Target::are_processor_specific_flags_set_): New data member declarations. * x86_64.cc (Target_x86_64::do_finalize_sections): Add unnamed Input_objects pointer type parameter.
* 2009-10-30 Doug Kwan <dougkwan@google.com>Doug Kwan2009-10-302-25/+29
| | | | * arm.cc: Use Arm_address instead of elfcpp::Elf_types<32>::Elf_Addr.
* * object.h (class Relobj): Drop options parameter fromIan Lance Taylor2009-10-2914-274/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | gc_process_relocs, scan_relocs, relocate, do_gc_process_relocs, do_scan_relocs, do_relocate. Change all callers. (class Sized_relobj): Drop options parameters from do_gc_process_relocs, do_scan_relocs, do_relocate, do_relocate_sections, relocate_sections, emit_relocs_scan, emit_relocs_scan_reltype. Change all callers. (struct Relocate_info): Remove options field and all references to it. * reloc.h (class Read_relocs): Remove options constructor parameter and options_ field. Change all callers. (class Gc_process_relocs, class Scan_relocs): Likewise. (class Relocate_task): Likewise. * target-reloc.h (scan_relocs): Remove options parameter. Change all callers. (scan_relocatable_relocs): Likewise. * target.h (class Sized_target): Remove options parameter from gc_process_relocs, scan_relocs, scan_relocatable_relocs. Change all callers. * gc.h (gc_process_relocs): Remove options parameter. Change all callers. * arm.cc: Update functions to remove options parameters. * i386.cc: Likewise. * powerpc.cc: Likewise. * sparc.cc: Likewise. * x86_64.cc: Likewise. * testsuite/testfile.cc: Likewise.
* 2009-10-28 Doug Kwan <dougkwan@google.com>Doug Kwan2009-10-292-0/+355
| | | | | | | * arm.cc (Arm_relobj): New class definition. (Arm_relobj::scan_sections_for_stubs, Arm_relobj::do_count_local_symbols, Arm_relobj::do_relocate_sections): New method definitions.
* * plugin.h (Plugin::Plugin): Initialize cleanup_done_.Cary Coutant2009-10-283-12/+25
| | | | | | | | | (Plugin::cleanup_done_): New member. (Plugin_manager::Plugin_manager): Remove cleanup_done_. (Plugin_manager::cleanup_done_): Remove. (Plugin_manager::add_input_file): Edit error message. * plugin.cc (Plugin::cleanup): Test and set cleanup_done_. (Plugin_manager::cleanup): Remove use of cleanup_done_.
* * fileread.cc: (File_read::View::~View): Use the newIan Lance Taylor2009-10-284-20/+100
| | | | | | | | | | | | | | | | | | | | | | | data_ownership_ filed. (File_read::~File_read): Dispose the new whole_file_view_. (File_read::open): Mmap the whole file if needed. (File_read::open): Use whole_file_view_ instead of contents_. (File_read::find_view): Use whole_file_view_ if applicable. (File_read::do_read): Use whole_file_view_ instead of contents_. (File_read::make_view): Use whole_file_view_ instead of contents_, update File_read::View::View call. (File_read::find_or_make_view): Update File_read::View::View call. * fileread.h: (File_read::File_read): Initialize whole_file_view_, remove contents_ (File_read::View::Data_ownership): New enum. (File_read::View::View): Replace bool mapped_ with Data_ownership argument. (File_read::View::mapped_): Remove (replaced by data_ownership_). (File_read::View::data_ownership_): New field. (File_read::contents_): Remove (replaced by whole_file_view_). (File_read::whole_file_view_): New field. * options.h (class General_options): Add --keep-files-mapped.
* * symtab.cc (add_from_pluginobj): Pass correct value for is_ordinary.Cary Coutant2009-10-284-16/+66
| | | | | * testsuite/Makefile.am (plugin_test_5): New test case. * testsuite/Makefile.in: Regenerate.