aboutsummaryrefslogtreecommitdiff
path: root/gold/script.cc
AgeCommit message (Collapse)AuthorFilesLines
2008-05-21 * mapfile.cc: New file.Ian Lance Taylor1-2/+2
* mapfile.h: New file. * options.h (class General_options): Add -M/--print-map and -Map. * options.cc (General_options::finalize): Make -M equivalent to -Map -. * main.cc: Include <cstdio> and "mapfile.h". (main): Open mapfile if requested. * gold.cc (class Middle_runner): Add mapfile_ field. Update constructor. Change caller. (queue_initial_tasks): Add mapfile parameter. Change caller. (queue_middle_tasks): Likewise. * gold.h (queue_initial_tasks, queue_middle_tasks): Update declarations. * archive.cc: Include "mapfile.h". (Archive::add_symbols): Add mapfile parameter. Change all callers. Pass mapfile, symbol, and reason to include_member. (Archive::include_all_members): Add mapfile parameter. Change all callers. (Archive::include_member): Add mapfile, sym, and why parameters. Change all callers. Report inclusion to map file. * archive.h: Include "fileread.h". (class Archive): Update declarations. (Archive::file): New const method. (class Add_archive_symbols): Add mapfile_ field. Update constructor. Change all callers. * readsyms.h (class Read_symbols): Likewise. (class Finish_group): Likewise. (class Read_script): Likewise. * common.cc: Include "mapfile.h". (Symbol_table::allocate_commons): Add mapfile parameter. Change all callers. (Symbol_table::do_allocate_commons): Likewise. (Symbol_table::do_allocate_commons_list): Likewise. Report common symbol allocation to mapfile. * common.h (class Allocate_commons_task): Add mapfile_ field. Update constructor. Change all callers. * symtab.h (class Symbol_table): Update declarations. * layout.cc: Include "mapfile.h". (Layout_task_runner::run): Print information to mapfile. (Layout::create_gold_note): Change Output_data_fixed_space to Output_data_zero_fill. (Layout::create_build_id): Likewise. (Layout::print_to_mapfile): New function. * layout.h (class Layout_task_runner): Add mapfile_ field. Update constructor. Change caller. (class Layout): Declare print_to_mapfile. * output.cc (Output_section::Input_section::print_to_mapfile): New function. (Output_section::add_input_section): If producing a map, always add to input_sections_ list. (Output_section::do_print_to_mapfile): New function. (Output_segment::print_sections_to_mapfile): New function. (Output_segment::print_section_list_to_mapfile): New function. * output.h: Include "mapfile.h". (Output_data::print_to_mapfile): New function. (Output_data::do_print_to_mapfile): New virtual function. (Output_segment_headers::do_print_to_mapfile): New function. (Output_file_header::do_print_to_mapfile): New function. (Output_data_const::do_print_to_mapfile): New function. (class Output_data_const_buffer): Add map_name_ field. Update constructor. Change all callers. Add do_print_to_mapfile function. (class Output_data_fixed_space): Likewise. (class Output_data_space): Likewise. (class Output_data_zero_fill): New class. (Output_data_strtab::do_print_to_mapfile): New function. (Output_data_reloc_base::do_print_to_mapfile): New function. (Output_relocatable_relocs::do_print_to_mapfile): New function. (Output_data_group::do_print_to_mapfile): New function. (Output_data_got::do_print_to_mapfile): New function. (Output_data_dynamic::do_print_to_mapfile): New function. (Output_symtab_xindex::do_print_to_mapfile): New function. (class Output_section): Declare do_print_to_mapflie. Declare print_to_mapfile in Input_section. (class Output_segment): Declare new functions. * object.h (Sized_relobj::symbol_count): New function. * script-sections.cc (Output_section_element_dot_assignment::set_section_addresses): Change Output_data_fixed_space to Output_data_zero_fill. (Output_data_expression::do_print_to_mapfile): New function. * script.cc (read_input_script): Add mapfile parameter. Change all callers. * script.h (read_input_script): Update declaration. * ehframe.h (Eh_frame_hdr::do_print_to_mapfile): New function. (Eh_frame::do_print_to_mapfile): New function. * merge.h (Output_merge_data::do_print_to_mapfile): New function. (Output_merge_string::do_print_to_mapfile): New function. * i386.cc (Output_data_plt_i386::do_print_to_mapfile): New function. * sparc.cc (Output_data_plt_sparc::do_print_to_mapfile): New function. * x86_64.cc (Output_data_plt_x86_64::do_print_to_mapfile): New function. * Makefile.am (CCFILES): Add mapfile.cc. (HFILES): Add mapfile.h. * Makefile.in: Rebuild.
2008-03-26 PR gold/5986Ian Lance Taylor1-2/+3
Fix problems building gold with gcc 4.3.0. * gold.h (TEMPLATE_ATTRIBUTE_PRINTF_4): Define. (gold_error_at_location, gold_warning_at_location): Use it. * configure.ac: Check whether we can compile and use a template function with a printf attribute. * x86_64.cc (Target_x86_64::do_code_fill): Swap out a 32-bit value when jumping over bytes. * object.cc: Instantiate Object::read_section_data. * debug.h: Include <cstring> * dwarf_reader.cc: Include <algorithm> * main.cc: Include <cstring>. * options.cc: Include <cstring>. * output.cc: Include <cstring>. * script.cc: Include <cstring>. * script.h: Include <string>. * symtab.cc: Include <cstring> and <algorithm>. * target-select.cc: Include <cstring>. * version.cc: Include <string>. * testsuite/testmain.cc: Include <cstdlib>. * configure, config.in: Rebuild.
2008-03-04From Craig Silverstein: rework option handling to make it easier toIan Lance Taylor1-1/+1
add a new option.
2008-03-04From Craig Silverstein: rename some option functions in preparationIan Lance Taylor1-2/+2
for reworking option handling.
2008-02-28Support -d/--define-common.Ian Lance Taylor1-0/+9
2008-02-28Read input scripts which look like input objects with properIan Lance Taylor1-60/+12
serialization.
2008-02-28Don't check assertions until symbols are finalized. Create an outputIan Lance Taylor1-4/+14
section if the script uses a data statement with no input sections. Don't create a loadable segment for the headers if there is no room.
2008-02-28From Craig Silverstein: Have Parameters point to General_options.Ian Lance Taylor1-5/+5
2008-02-27Fix handling of ENTRY in linker script.Ian Lance Taylor1-1/+1
2008-02-26From Craig Silverstein: rework handling of Script_options.Ian Lance Taylor1-4/+9
2008-02-26From Craig Silverstein: rename option functions for future optionIan Lance Taylor1-4/+4
handling rewrite.
2008-02-13Assignments in linker scripts override definitions from object files.Ian Lance Taylor1-1/+6
2008-02-09Track sections for expressions.Ian Lance Taylor1-22/+22
2008-02-08Don't read linker scripts in binary mode.Ian Lance Taylor1-2/+5
2008-02-07Ignore version scripts for relocatable links.Ian Lance Taylor1-0/+9
2008-02-07Implement --just-symbols, including -R FILE. Fix symbol values whenIan Lance Taylor1-2/+2
doing a relocatable link.
2008-02-04Implement PHDRS.Ian Lance Taylor1-2/+59
2008-02-04Implement SIZEOF_HEADERS, section constraints, other minor linkerIan Lance Taylor1-1/+22
script items.
2008-02-04Fully implement the SECTIONS clause.Ian Lance Taylor1-14/+126
2008-01-26Don't pass around the target in order to define symbols; get it fromIan Lance Taylor1-6/+4
the parameters instead.
2008-01-23Parse a SECTIONS clause in a linker script.Ian Lance Taylor1-190/+551
2008-01-18From Craig Silverstein: Handle quoted strings differently in versionIan Lance Taylor1-13/+36
scripts, and handle extern "C++" in the middle of a block.
2008-01-15From Andrew Chatham and Craig Silverstein: Add support for versionIan Lance Taylor1-55/+420
scripts.
2008-01-09Support assignments and expressions in linker scripts.Ian Lance Taylor1-192/+382
2008-01-07Report linker script errors with line numbers. Ignore OUTPUT_FORMATIan Lance Taylor1-2/+12
with three arguments, and ignore OUTPUT_ARCH.
2008-01-06Add support for -e and for ENTRY in linker scripts.Ian Lance Taylor1-3/+29
2007-12-14Rewrite workqueue. This version eliminates the master thread, andIan Lance Taylor1-18/+21
reduces the amount of locking required to find a new thread to run.
2007-11-22Add threading support.Ian Lance Taylor1-0/+4
2007-10-30From Craig Silverstein: Implement OPTION in linker scripts.Ian Lance Taylor1-5/+33
2007-10-29From Craig Silverstein: Remove extraneous comment.Ian Lance Taylor1-4/+0
2007-10-27From Craig Silverstein and Ian Lance Taylor: Process --script option.Ian Lance Taylor1-0/+45
2007-10-26From Craig Silverstein: preliminary support for OPTION in linker script.Ian Lance Taylor1-0/+10
2007-10-14Remove extraneous newlines.Ian Lance Taylor1-1/+1
2007-10-14Run all error handling through an Errors object. Delete output fileIan Lance Taylor1-3/+1
on error.
2007-10-04Full support for --sysroot.Ian Lance Taylor1-10/+46
2007-10-02From Craig Silverstein: add support for searching for input filesIan Lance Taylor1-14/+8
named in linker scripts.
2007-09-25Rework File_read interface. Get file size. Use pread whenIan Lance Taylor1-6/+10
available.
2007-09-25Break out default pbytes argument to read and get_view routines,Ian Lance Taylor1-1/+1
adding new routines.
2007-09-24From Craig Silverstein: Fix bug when reading large script files.Ian Lance Taylor1-0/+1
2007-09-22Add licensing text to every source file.Ian Lance Taylor1-0/+20
2007-08-21Make relative references in linker scripts absolute and update achatham1-1/+14
comment about relocate() being called.
2006-11-29Hash tables, dynamic section, i386 PLT, gold_assert.Ian Lance Taylor1-7/+12
2006-11-14More dynamic object support, initial scripting support.Ian Lance Taylor1-0/+1188