summaryrefslogtreecommitdiff
path: root/gold
Commit message (Collapse)AuthorAgeFilesLines
* 2010-11-18 Doug Kwan <dougkwan@google.com>Doug Kwan2010-11-182-5/+13
| | | | | | * expression.cc (BINARY_EXPRESSION): Initialize left_alignment and right_alignment to be zero. Store result alignment only if it is greater than existing alignment.
* * dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info):Cary Coutant2010-11-172-10/+19
| | | | Check for ".zdebug_line".
* * output.h (Output_segment::set_section_addresses): Pass increase_relroCary Coutant2010-11-164-5/+32
| | | | | | | | | by reference; adjust all callers. * output.cc (Output_segment::set_section_addresses): Adjust references to increase_relro. Add padding to *increase_relro when ORDER_RELRO_LAST list is empty. (Output_segment::set_offset): Assert if PT_GNU_RELRO segment does not end at page boundary.
* PR gold/12220Cary Coutant2010-11-163-41/+54
| | | | | | | | | * layout.cc (Layout::choose_output_section): Transform names of compressed sections even when using a script with a SECTIONS clause. (Layout::output_section_name): Remove code to transform compressed debug section names. * output.cc (Output_section::add_input_section): Use uncompressed section size when tracking input sections.
* gold/Richard Sandiford2010-11-117-229/+539
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * symtab.h (Symbol::NON_PIC_REF): Remove. (Symbol::RELATIVE_REF, Symbol::TLS_REF): New Reference_flags. (Symbol::FUNCTION_CALL): Renumber. Reword comment. (Symbol::needs_dynamic_reloc): Don't check NON_PIC_REF. (Symbol::use_plt_offset): Take a flags argument and pass it directly to needs_dynamic_reloc. Restrict check for undefined weak symbols to function calls. * arm.cc (Target_arm::Scan::get_reference_flags): New function. (Target_arm::Scan::global): Use it. (Target_arm::Scan::scan_reloc_for_stub): Likewise. (Target_arm::Relocate::relocate): Likewise. (Target_arm::Relocate::should_apply_static_reloc): Replace flags parameter with an r_type parameter. Use get_reference_flags to get the flags. (Target_arm::Relocate::relocate): Update accordingly. * i386.cc (Target_i386::Scan::get_reference_flags): New function. (Target_i386::Scan::reloc_needs_plt_for_ifunc): Use it. (Target_i386::Scan::global): Likewise. (Target_i386::Relocate::relocate): Likewise. (Target_i386::Relocate::should_apply_static_reloc): Replace flags parameter with an r_type parameter. Use get_reference_flags to get the flags. (Target_i386::Relocate::relocate): Update accordingly. * powerpc.cc (Target_powerpc::Scan::get_reference_flags): New function. (Target_powerpc::Scan::global): Use it. (Target_powerpc::Scan::scan_reloc_for_stub): Likewise. (Target_powerpc::Relocate::relocate): Likewise. * sparc.cc (Target_sparc::Scan::get_reference_flags): New function. (Target_sparc::Scan::global): Use it. (Target_sparc::Scan::scan_reloc_for_stub): Likewise. (Target_sparc::Relocate::relocate): Likewise. * x86_64.cc (Target_x86_64::Scan::get_reference_flags): New function. (Target_x86_64::Scan::reloc_needs_plt_for_ifunc): Use it. (Target_x86_64::Scan::global): Likewise. (Target_x86_64::Relocate::relocate): Likewise.
* 2010-11-08 Doug Kwan <dougkwan@google.com>Doug Kwan2010-11-094-100/+241
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cary Coutant <ccoutant@google.com> * arm.cc (Arm_exidx_merge_section::build_contents): New method. (Arm_exidx_merge_section::section_contents_): New data member. (Arm_input_section::Arm_input_section): Initialize original_contents_. (Arm_input_section::~Arm_input_section): De-allocate memory. (Arm_input_section::original_contents_): New data member. (Arm_exidx_fixup::process_exidx_section): Pass EXIDX section contents in parameters instead of calling Object::section_contents without locking. (Arm_output_section::group_section): New parameter TASK. Pass it to callees that need locking objects. (Arm_output_section::fix_exidx_coverage): New parameter TASK. Use it to lock EXIDX input sections. Fix a formatting issue. Call Arm_exidx_merged_section::build_contents to create merged section contents. (Arm_output_section::create_stub_group): New parameter TASK. Use it to lock object of stub table owner. (Arm_exidx_input_section::Arm_exidx_input_section): Add new parameter TEXT_SIZE to initialize data member TEXT_SIZE_. (Arm_exidx_input_section::addralign): Fix typo in comment. (Arm_exidx_input_section::text_size): New method. (Target_arm::do_relax): New parameter TASK. Pass it to callees that require locking objects. Lock objects before scanning for stubs and updating local symbols. (Arm_input_section<big_endian>::init): Copy contents of original input section. (Arm_input_section<big_endian>::do_write): Use saved contents of original input section instead of calling Object::section_contents without locking. (Arm_exidx_cantunwind::do_fixed_endian_write): Find out text section size without calling Object::section_size(). (Arm_exidx_merged_section::Arm_exidx_merged_section): Add sanity check for size. Allocate a buffer for merged EXIDX entries. (Arm_exidx_merged_section::build_contents): New method. (Arm_exidx_merged_section::do_write): Move merge section contents building code to Arm_exidx_merged_section::build_contetns. Write out contetns in buffer instead of building it on the fly. (Arm_relobj::make_exidx_input_section): Also pass text section size to Arm_exidx_input_section constructor. (Arm_relobj::do_read_symbols): Fix memory leak. Fix a formatting issue. (Arm_dynobj::do_read_symbols): Fix memory leak. * layout.cc (Layout::finalize): Pass TASK to Target::relax(). * target.h: (class Task): Add forward declaration. (Target::relax): Add new parameter TASK and pass it to Target::do_relax(). (Target::do_relax):: New parameter TASK. Fix a formatting issue.
* PR gold/10708Cary Coutant2010-11-056-3/+64
| | | | | | | | | | | | | | | * copy-relocs.cc (Copy_relocs::emit_copy_reloc): Hold a lock on the object when reading from the file. * gold.cc (queue_middle_tasks): Hold a lock on the object when doing second layout pass. * icf.cc (preprocess_for_unique_sections): Hold a lock on the object when reading section contents. (get_section_contents): Likewise. (icf::find_identical_sections): Likewise. * mapfile.cc (Mapfile::print_discarded_sections): Hold a lock on the object when reading from the file. * plugin.cc (Plugin_manager::layout_deferred_objects): Hold a lock on the object when doing deferred section layout.
* PR ld/12001Nick Clifton2010-11-034-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | * ldlang.c (ldlang_def_chain_list): New variable. Contains a list of symbols defined via the --defsym command line option and currently waiting assignment. (insert_defined): Add a defined symbol to the symbol table. (ldlang_add_def): Add a entry to the ldlang_def_chain_list. (lang_place_defineds): Walk ldlang_def_chain_list defining the symbols. (lang_process): Call lang_place_defineds. (lang_add_assignment): If the assignment has come from a --defsym command line option then call lang_add_def. * ld-script/default-script2.d: Fix expected address for text section. PR gold/12001 * script.h (class Symbol_assignment: name): New member. Returns the name of the symbol. * scrfipt.cc (Script_options::is_pending_assignment): New member. Returns true if the given symbol name is on the list of assignments wating to be processed. * archive.cc (should_incldue_member): If the symbol is undefined, check to see if it is on the list of symbols pending assignment.
* * script-sections.cc (Script_sections::find_memory_region): CheckIan Lance Taylor2010-11-032-0/+6
| | | | for a NULL output section pointer.
* 2010-10-29 Doug Kwan <dougkwan@google.com>Doug Kwan2010-10-294-4/+41
| | | | | | | | | | | * arm.cc (Arm_outout_section::fix_exidx_coverage): Adjust call to Output_section::add_relaxed_input_section. * output.cc (Output_section::add_relaxed_input_section): Add new arguments LAYOUT and NAME. Set section order index. (Output_section::convert_input_sections_in_list_to_relaxed_sections): Copy section order index. * output.h (Output_section::add_relaxed_input_section): Add new arguments LAYOUT and NAME.
* * testsuite/Makefile.am: Move gcctestdir/ld rule toIan Lance Taylor2010-10-293-16/+26
| | | | | NATIVE_OR_CROSS_LINKER. * testsuite/Makefile.in: Regenerate.
* 2010-10-20 Doug Kwan <dougkwan@google.com>Doug Kwan2010-10-203-1/+16
| | | | | | | * arm.cc (Arm_relobj::do_read_symbols): Warn about ARM EXIDX sections without SHF_LINK_ORDER flags. * layout.cc (Layout::choose_output_section): Do not filter SHF_LINK_ORDER flag in a relocatable link.
* * output.h (Output_segment::set_section_addresses): Change functionCary Coutant2010-10-184-24/+45
| | | | | | | | signature. Update all callers. * output.cc (Output_segment::is_first_section_relro): Ignore TLS sections. (Output_segment::set_section_addresses): Align after last TLS section. Add padding before last relro section instead of after.
* 2010-10-17 Doug Kwan <dougkwan@google.com>Doug Kwan2010-10-172-5/+8
| | | | | * gold/arm.cc (Target_arm::got_section): Use correct order and set GOT output section to be writable.
* * layout.cc (Layout::set_segment_offsets): Don't try to realign dataCary Coutant2010-10-167-15/+129
| | | | | | | | | | | | | | segment that has been aligned for relro. * output.cc (Output_segment::set_section_addresses): Change signature; adjust all callers. Account for alignment when totalling size of relro sections. * output.h (Output_segment::set_section_addresses): Change signature. * testsuite/Makefile.am (relro_test.sh, relro_test.stdout): New targets. * testsuite/Makefile.in: Regenerate. * testsuite/relro_test.cc: Add alignment attributes to test proper alignment of relro sections when padding is necessary. * testsuite/relro_test.sh: New script.
* * debug.h (DEBUG_INCREMENTAL): New flag.Cary Coutant2010-10-1414-14/+183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (debug_string_to_enum): Add DEBUG_INCREMENTAL). * gold.cc (queue_initial_tasks): Check parameters for incremental link mode. * incremental.cc (report_command_line): Ignore all forms of --incremental. * layout.cc (Layout::Layout): Check parameters for incremental link mode. * options.cc (General_options::parse_incremental): New function. (General_options::parse_no_incremental): New function. (General_options::parse_incremental_full): New function. (General_options::parse_incremental_update): New function. (General_options::incremental_mode_): New data member. (General_options::finalize): Check incremental_mode_. * options.h (General_options): Update help text for --incremental. Add --no-incremental, --incremental-full, --incremental-update. (General_options::Incremental_mode): New enum type. (General_options::incremental_mode): New function. (General_options::incremental_mode_): New data member. * parameters.cc (Parameters::incremental_mode_): New data member. (Parameters::set_options): Set incremental_mode_. (Parameters::set_incremental_full): New function. (Parameters::incremental): New function. (Parameters::incremental_update): New function. (set_parameters_incremental_full): New function. * parameters.h (Parameters::set_incremental_full): New function. (Parameters::incremental): New function. (Parameters::incremental_update): New function. (Parameters::incremental_mode_): New data member. (set_parameters_incremental_full): New function. * plugin.cc (Plugin_manager::add_input_file): Check parameters for incremental link mode. * reloc.cc (Sized_relobj::do_read_relocs): Likewise. (Sized_relobj::do_relocate_sections): Likewise. * testsuite/Makefile.am (incremental_test): Use --incremental-full option. * testsuite/Makefile.in: Regenerate. * testsuite/incremental_test.sh: Filter all forms of --incremental.
* Correct ChangeLog attribution.Ian Lance Taylor2010-10-121-1/+1
|
* * script-sections.h (class Script_sections): MakeIan Lance Taylor2010-10-1210-352/+574
| | | | | | | | | | | | | | | | | | | | | Sections_elements typedef public. * script-sections.cc (class Sort_output_sections): Add elements_ field. Add constructor which sets it; change all callers. (Sort_output_sections::is_before): New function. (Sort_output_sections::operator()): Call is_before. * configure.ac (NATIVE_OR_CROSS_LINKER): New automake conditional. * testsuite/script_test_10.sh: New test. Test script section order. * testsuite/script_test_10.t: Likewise. * testsuite/script_test_10.s: Likewise. * testsuite/Makefile.am: Wrap the cross linker tests and the common tests into NATIVE_OR_CROSS_LINKER. (check_SCRIPTS): Add script_test_10.sh. (check_DATA): Add script_test_10.stdout. (script_test_10.o, script_test_10): New targets. (script_test_10.stdout): New target. * configure, testsuite/Makefile.in: Regenerate.
* * arm.cc (Target_arm::Scan::local): Report the unsupported relocIan Lance Taylor2010-10-122-9/+23
| | | | | | error for the deprecated relocations. (Target_arm::Scan::global): Likewise. (Target_arm::Relocate::relocate): Likewise.
* gold/Richard Sandiford2010-10-122-0/+7
| | | | | * fileread.cc (Input_file::find_file): Initialize *found_name and *namep when using the fallback search for case 4.
* * options.h (class General_options): Redefine -z lazy as an alias forCary Coutant2010-10-112-3/+8
| | | | the negation of -z now.
* * resolve.cc (symbol_to_bits): Report the value of the unsupportedIan Lance Taylor2010-10-112-1/+6
| | | | binding.
* * script-sections.cc(class Memory_region): RemoveNick Clifton2010-10-066-107/+398
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | current_lma_offset_ field. Rename current_vma_offset_ to current_offset_. Add last_section_ field. (Memory_region::get_current_vma_address): Rename to get_current_address. (Memory_region::get_current_lma_address): Delete. (Memory_region::increment_vma_offset): Rename to increment_offset. (Memory_region::increment_lma_offset): Delete. (Memory_region::attributes_compatible): New method. Returns true if the provided section is compatible with the region. (Memory_region::get_last_section): New method. Returns the last section to use the region. (Memory_region::set_last_section): New method. Stores the last section to use the region. (Script_sections::block_in_region): New method. Returns true if a block of memory is contained within a region. (Script_sections::find_memory_region): New method. Locates a memory region to be used to set a VMA or LMA address. (Output_section_definition::set_section_addresses): Add code to check for addresses set by memory regions. (Output_segment::set_section_addresses): Remove memory region walking code. (Script_sections::create_segment): Add a warning if a header segment is created outside of any region. * script-sections.h (class Script_sections): Add prototypes for find_memory_region and block_in_region methods. * testsuite/memory_test.s: Use .long instead of .word. * testsuite/memory_test.t: Add some more output sections. * testsuite/memory_test.sh: Update expected output. * ld.texinfo: Update description of computation of VMA and LMA addresses for output sections. * ld-scripts/rgn-at5.t: Add some more output sections. * ld-scripts/rgn-at5.d: Update expected output.
* 2010-10-02 Doug Kwan <dougkwan@google.com>Doug Kwan2010-10-023-10/+13
| | | | | | | * symtab.cc (Symbol_table::Symbol_table_hash::operator()): Move defintion to symtab.h * symtab.h (Symbol_table::Symbol_table_hash::operator()): Change declaration to defintion.
* * expression.cc (eval): Replace dummy argument with NULL.Nick Clifton2010-10-013-35/+60
| | | | | | | | | | | | | | | | | | | | | (eval_maybe_dot): Check for a NULL result section pointer. (Symbol_expression::value): Likewise. (Dot_expression::value): Likewise. (BINARY_EXPRESSION): Likewise. (Max_expression::value): Likewise. (Min_expression::value): Likewise. (Absolute_expression::value): Likewise. (Addr_expression::value_from_output_section): Likewise. (Loaddddr_expression::value_from_output_section): Likewise. (Segment_start_expression::value): Likewise. * script-sections.cc (Sections_elememt_dot_assignment::finalize_symbols): Replace dummy argument with NULL. (Sections_elememt_dot_assignment::set_section_addresses): Likewise. (Output_data_expression::do_write_to_buffer): Likewise. (Output_section_definition::finalize_symbols): Likewise. (Output_section_definition::set_section_addresses): Likewise.
* 2010-09-30 Doug Kwan <dougkwan@google.com>Doug Kwan2010-09-302-2/+6
| | | | * gold/testsuite/arm_branch_out_of_range.sh: Fix broken tests.
* 2010-09-28 Sriraman Tallam <tmsriram@google.com>Sriraman Tallam2010-09-285-1/+28
| | | | | | | | | | | * target.h (Target::can_icf_inline_merge_sections): New virtual function. * x86_64.cc (Target__x86_64::can_icf_inline_merge_sections): New virtual function. * i386.cc (Target_i386::can_icf_inline_merge_sections): New virtual function. * icf.cc (get_section_contents): Inline merge sections only when target allows it.
* Fix unportable shell quoting.Ralf Wildenhues2010-09-272-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | /: Sync from GCC: PR bootstrap/44621 * configure.ac: Fix unportable shell quoting. * configure: Regenerate. config/: * po.m4 (AM_PO_SUBDIRS): Fix unportable shell quoting. bfd/: * configure: Regenerate. gas/: * configure: Regenerate. gold/: * configure: Regenerate. intl/: * configure: Regenerate. ld/: * configure: Regenerate. opcodes/: * configure: Regenerate. binutils/: * configure: Regenerate. gprof/: * configure: Regenerate.
* * testsuite/Makefile.am (memory_test.o): New target.Ian Lance Taylor2010-09-183-4/+10
| | | | | | (memory_test): Depend on memory_test.o, gcctestdir/ld, and memory_test.t. * testsuite/Makefile.in: Rebuild.
* * testsuite/memory_test.sh: Adjust for change of 2010-09-10.Ian Lance Taylor2010-09-182-1/+5
|
* 2010-09-17 Doug Kwan <dougkwan@google.com>Doug Kwan2010-09-174-40/+56
| | | | | | | * arm.cc (Target_arm::Relocate::relocate): Ignore symbol type and defintion if relocation uses GOT entries of the symbol. * testsuite/icf_safe_test.sh: Fix test. * testsuite/icf_safe_so_test.sh: Fix test.
* * script_sections.cc (class Memory_region): Remove "NULL" fromCary Coutant2010-09-162-2/+7
| | | | vector initializations.
* * incremental.cc (Output_section_incremental_inputs::write_info_blocks):Cary Coutant2010-09-152-0/+7
| | | | Resolve forwarding symbols.
* 2010-09-15 Doug Kwan <dougkwan@google.com>Doug Kwan2010-09-157-1/+26
| | | | | | | | | | * gold/testsuite/script_test_3.t: Add ARM special sections. * gold/testsuite/script_test_4.t: Same. * gold/testsuite/script_test_5.t: Same. * gold/testsuite/script_test_6.t: Same. * gold/testsuite/script_test_7.t: Same. * gold/testsuite/script_test_7.t: Same. * gold/testsuite/thumb_blx_out_of_range.s: Fix instruction alignment.
* * x86_64.cc (Target_x86_64::saw_tls_block_reloc_): Remove member.Cary Coutant2010-09-142-32/+47
| | | | | (Target_x86_64::Relocate::relocate_tls): Replace check for saw_tls_block_reloc_ with test for executable section.
* * symtab.h (Symbol::needs_dynamic_reloc): Non-PIC calls fromCary Coutant2010-09-124-4/+44
| | | | | | | | | position-independent executables to shared libraries need dynamic relocations. (Symbol::may_need_copy_reloc): Do not generate COPY relocs in position-independent executables. * testsuite/Makefile.am (two_file_mixed_pie_test): New test. * testsuite/Makefile.in: Regenerate.
* PR gold/11997Nick Clifton2010-09-102-8/+7
| | | | | * testsuite/memory_test.t: Discard any sections that are not needed.
* Support building gold with gcc 4.2/4.3.H.J. Lu2010-09-093-2/+10
| | | | | | | | | | 2010-09-09 H.J. Lu <hongjiu.lu@intel.com> PR gold/11996 * object.cc (Sized_relobj::do_finalize_local_symbols): Remove "This::" to work around a bug in gcc 4.2. * testsuite/ifuncmain7.c (foo_ifunc): Add __attribute__ ((used)).
* Add missing ChangeLog entries.H.J. Lu2010-09-091-1/+8
|
* 2010-09-09 Rafael Espindola <espindola@google.com>espindola2010-09-093-6/+28
| | | | | | | | * layout.cc (Layout::attach_allocated_section_to_segment): Don't put sections with different PF_X flags in the same segment. (Layout::find_first_load_seg): Search all segments to find the first one. * options.h (rosegment): New.
* 2010-09-03 Rafael Espindola <espindola@google.com>espindola2010-09-092-15/+11
| | | | * layout.cc (Layout::set_segment_offsets): Always advance to a new page.
* 2010-09-08 Doug Kwan <dougkwan@google.com>Doug Kwan2010-09-0819-166/+1040
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * arm.cc (Arm_exidx_cantunwind::do_print_to_mapfile): New method. (Arm_relobj::do_relocate_sections): Add new parameter for output file to match the parent. (Target_arm::scan_reloc_section_for_stubs): Use would-be final values of local symbols instead of input values. Update code to track changes in gold::relocate_section. * object.cc (Sized_relobj::compute_final_local_value): New methods. (Sized_relobj::compute_final_local_value_internal): New methods. (Sized_relobj::do_finalize_local_symbols): Move code from loop body into private version of Sized_relobj::compute_final_local_value. Call the inline method. * object.h (Symbol_value::Symbol_value): Define destructor. Free merged symbol value if there is one. (Symbol_value::has_output_value): New method defintiion. (Sized_relobj::Compute_final_local_value_status): New enum type. (Sized_relobj::compute_final_local_value): New methods. (Sized_relobj::compute_final_local_value_internal): New methods. * Makefile.am (check_SCRIPTS): Add arm_branch_out_of_range.sh and arm_cortex_a8.sh. (thumb_bl_out_of_range_local, arm_cortex_a8_b_cond, arm_cortex_a8_bl, arm_cortex_a8_blx, arm_cortex_a8_local, arm_corte_a8_local_reloc): New tests. * Makefile.in: Regenerate. * testsuite/arm_bl_out_of_range.s: Update test. * testsuite/thumb_bl_out_of_range.s: Ditto. * testsuite/thumb_blx_out_of_range.s: Ditto. * testsuite/arm_branch_out_of_range.sh: New file. * testsuite/arm_cortex_a8.sh: Ditto. * testsuite/arm_cortex_a8_b.s: Ditto. * testsuite/arm_cortex_a8_b_cond.s: Ditto. * testsuite/arm_cortex_a8_b_local.s: Ditto. * testsuite/arm_cortex_a8_bl.s: Ditto. * testsuite/arm_cortex_a8_blx.s: Ditto. * testsuite/arm_cortex_a8_local.s: Ditto. * testsuite/arm_cortex_a8_local_reloc.s: Ditto. * testsuite/thumb_bl_out_of_range_local.s: Ditto.
* 2010-09-08 Rafael Espindola <espindola@google.com>espindola2010-09-083-6/+6
| | | | | | * Makefile.am (memory_test.stdout): Run readelf with -W * Makefile.in: Regenerate. * testsuite/memory_test.sh: Make the regexps accept both 32 and 64 bit outputs.
* 2010-09-08 Rafael Espindola <espindola@google.com>espindola2010-09-083-3/+11
| | | | | | | * script-sections.cc (Script_sections::add_memory_region): Convert field precision to int. * script.cc (script_set_section_region, script_set_section_region): Convert field precision to int.
* 2010-09-08 Rafael Espindola <espindola@google.com>espindola2010-09-082-26/+48
| | | | | * arm.cc (do_finalize_sections): Create the __exidx_start and __exdix_end symbols even when the section is missing.
* * README: Remove claim that MEMORY is not supported.Nick Clifton2010-09-0814-36/+706
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * expression.cc (script_exp_function_origin) (script_exp_function_length): Move from here to ... * script.cc: ... here. (script_set_section_region, script_add_memory) (script_parse_memory_attr, script_include_directive): New functions. * script-sections.cc (class Memory_region): New class. (class Output_section_definition): Add set_memory_region, set_section_vma, set_section_lma and get_section_name methods. (class Script_Sections): Add add_memory_region, find_memory_region, find_memory_region_origin, find_memory_region_length and set_memory_region methods. Have set_section_addresses method walk the list of set memory regions. Extend the print methos to display memory regions. * script-sections.h: Add prototypes for new methods. Add enum for MEMORY region attributes. * yyscript.y: Add support for parsing MEMORY regions. * script-c.h: Add prototypes for new functions. * testsuite/Makefile.am: Add test of MEMORY region functionality. * testsuite/Makefile.in: Regenerate. * testsuite/memory_test.sh: New script. * testsuite/memory_test.s: New assembler source file. * testsuite/memory_test.t: New linker script.
* 2010-08-27 Doug Kwan <dougkwan@google.com>Doug Kwan2010-08-287-5/+177
| | | | | | | | | | * gold/resolve.cc (Symbol_table::should_override): Let a weak reference override an existing dynamic weak reference. * testsuite/Makefile.am: Add new test dyn_weak_ref. * testsuite/Makefile.in: Regenerate. * testsuite/dyn_weak_ref.sh: New file. * testsuite/dyn_weak_ref_1.c: Ditto. * testsuite/dyn_weak_ref_2.c: Ditto.
* * incremental.h (class Incremental_input_entry): Add virtualIan Lance Taylor2010-08-272-0/+9
| | | | destructor.
* * testsuite/start_lib_test_3.c: Mark t3 as used.Ian Lance Taylor2010-08-272-1/+5
|
* * options.cc (version_script): Fix small typo in previousNick Clifton2010-08-272-1/+6
| | | | whitespace tidyup.