summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* PR 10768Nick Clifton2009-10-162-52/+97
| | | | | | | | | | | | * dlltool.c (bfd_get_errmsg): New macro. (scan_obj_file): Use it. (make_one_lib_file): Use it. (make_head): Use it. (make_delay_head): Use it. (make_tail): Use it. (gen_lib_file): Use it. (identify_dll_for_implib): Use it. (identify_search_archive): Use it.
* * bootstrap.exp: Detect if plugins are enabled. Skip the staticNick Clifton2009-10-162-1/+28
| | | | link test and add -ldl to the remaining tests if they are.
* * readelf.c (usage): Add mention of --debug-dump=frames-interp.Nick Clifton2009-10-164-2/+15
| | | | | | Wrap output to 80 columns. * objdump.c (usage): Likewise. * doc/binutils.texi (readelf): Add note about =frames-interp.
* PR binutils/10785Alan Modra2009-10-164-17/+35
| | | | | | | | * coff-alpha.c (alpha_ecoff_get_elt_at_filepos): Don't bfd_alloc bim and bim->buffer. bfd_malloc instead. * peicode.h (pe_ILF_build_a_bfd): Similarly. (ILF_DATA_SIZE): Don't include bim. * opncls.c (bfd_close): Test bim->buffer non-NULL before freeing.
* * script.cc (Script_options::add_symbol_assignment): Always add aIan Lance Taylor2009-10-163-5/+20
| | | | | | dot assginment to script_sections_. * script-sections.cc (Script_sections::add_dot_assignment): Initialize if necessary.
* * layout.cc (Layout::relaxation_loop_body): Don't crash if we seeIan Lance Taylor2009-10-162-1/+6
| | | | program headers with no load segment if there is a linker script.
* * layout.cc (Layout::set_segment_offsets): Align the file offsetIan Lance Taylor2009-10-164-36/+99
| | | | | | | | | | | | to the segment aligment for -N or -n with no load segment. * output.cc (Output_segment::add_output_section): Don't crash if the first section is a TLS section. (Output_segment::set_section_list_addresses): Print an error message if the address moves backward in a linker script. * script-sections.cc (Output_section_element_input::set_section_addresses): Don't increase *dot_value for a SHF_TLS/SHT_NOBITS section. (Orphan_output_section::set_section_addresses): Likewise.
* daily updateAlan Modra2009-10-151-1/+1
|
* 2009-10-15 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2009-10-152-843/+878
| | | | | | | Ineiev <ineiev@gmail.com> PR binutils/10767 * i386-dis.c: Use enum instead of nested macros.
* 2009-10-15 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2009-10-152-2/+4
| | | | * i386-dis.c (MAX_BYTEMODE): Removed.
* 2009-10-15 Doug Kwan <dougkwan@google.com>Doug Kwan2009-10-152-2/+36
| | | | | | | * layout.cc (Layout::finish_dynamic_section): Generate tags DT_FINI_ARRAY, DT_FINI_ARRAYSZ, DT_INIT_ARRAY, DT_INIT_ARRAYSZ, DT_PREINIT_ARRAY, DT_PREINIT_ARRAYSZ as needed. If -Bsymbolic is used, add DT_SYMBOLIC and set DF_SYMBOLIC in DT_FLAGS.
* merge from gccDJ Delorie2009-10-152-0/+6
|
* PR gas/1491Alan Modra2009-10-158-89/+99
| | | | | | | | | | | | | | | | gas/ * macro.c: Delete unnecessary function declarations. (buffer_and_nest): Support multiple labels per line for LABELS_WITHOUT_COLONS targets if the labels do have colons. (free_macro): Move so that we don't need forward declaration. * read.c (read_a_source_file): Take a copy of macro expansion line before we trim labels. * listing.c (listing_newline): Adjust stdin line save for input_line_pointer still at start of line. gas/testsuite/ * gas/macros/dot.s: Don't start macro invocations is first column. * gas/macros/dot.l: Update. * gas/macros/macros.exp: Run dot test on more targets.
* 2009-10-15 Jim Blandy <jimb@red-bean.com>Tristan Gingold2009-10-152-12/+39
| | | | | | * libgnuintl.h (_INTL_MAY_RETURN_STRING_ARG, gettext, dgettext) (dcgettext, ngettext, dngettext, dcngettext): Backport changes from current gettext to provide GCC format_arg attributes.
* * object.h (class Relocate_info): Add reloc_shdr and data_shdrIan Lance Taylor2009-10-154-38/+25
| | | | | | | | | | fields. * object.cc (Sized_relobj::relocate_sections): Set reloc_shdr and data_shdr fields of relinfo. * i386.cc (class Target_i386::Relocate): Remove ldo_addrs_ field. (Target_i386::Relocate::relocate_tls): Don't call fix_up_ldo. For R_386_TLS_LDO_32, adjust based on section flags. (Target_i386::Relocate::fix_up_ldo): Remove.
* * ld-scripts/phdrs3.d: Allow colon in name of linker binary.Joseph Myers2009-10-142-1/+5
|
* daily updateAlan Modra2009-10-141-1/+1
|
* PR 969Alan Modra2009-10-142-2/+7
| | | | * m68k-opc.c (m68k_opcodes): Correct mask for macl and msacl.
* * ldlex.l (yy_input): Remove second argument and return the valueAndreas Schwab2009-10-142-8/+15
| | | | | instead. (YY_INPUT): Adjust.
* * ld-elf/pr349-1.s, * ld-elf/pr349-2.s, * ld-elf/pr349.d: New.Alan Modra2009-10-144-0/+18
|
* include/Alan Modra2009-10-146-5/+19
| | | | | | | | | | * bfdlink.h (enum bfd_link_common_skip_ar_symbols): Rename from bfd_link_common_skip_ar_aymbols. (struct bfd_link_info): Here too. bfd/ * aoutx.h (aout_link_check_ar_symbols): Typo fix. ld/ * emultempl/netbsd.em (gldnetbsd_before_parse): Typo fix.
* Add support for -pie.Ian Lance Taylor2009-10-1412-28/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * options.h (class General_options): Add -pie and --pic-executable. (General_options::output_is_position_independent): Test -pie. (General_options::output_is_executable): Return true if not shared and not relocatable. (General_options::output_is_pie): Remove. * options.cc (General_options::finalize): Reject incompatible uses of -pie. * gold.cc (queue_middle_tasks): A -pie link is not static. * symtab.h (Symbol::needs_plt_entry): Return false if -pie. * symtab.cc (Symbol::final_value_is_known): Return false if output_is_position_independent. * layout.cc (Layout::set_segment_offsets): Start at address 0 if output_is_position_independent. * output.cc (Output_file_header::do_sized_write): Use ET_DYN if output_is_position_independent. * i386.cc (Output_data_plt_i386::do_write): Use the PIC PLT if output_is_position_independent. * testsuite/Makefile.am (check_PROGRAMS): Add basic_pie_test and two_file_pie_test. (basic_pie_test.o, basic_pie_test): New targets. (two_file_test_1_pie.o, two_file_test_1b_pie.o): New targets. (two_file_test_2_pie.o, two_file_test_main_pie.o): New targets. (two_file_pie_test): New target. * testsuite/Makefile.in: Rebuild. * README: Remove note saying that -pie is not supported.
* * ldlang.c (load_symbols): Set whole_archive from entry whenAlan Modra2009-10-142-1/+9
| | | | parsing a linker script.
* daily updateAlan Modra2009-10-131-1/+1
|
* * options.h (class General_options): Add -init and -fini.Ian Lance Taylor2009-10-133-3/+14
| | | | | * layout.cc (Layout::finish_dynamic_section): Emit given init and fini functions.
* * gc.h (gc_process_relocs): Check if icf is enabled using newSriraman Tallam2009-10-1314-23/+237
| | | | | | | | | | | | | | | | | | | | | | | | | function. * gold.cc (queue_initial_tasks): Likewise. (queue_middle_tasks): Likewise. * object.cc (do_layout): Likewise. * symtab.cc (is_section_folded): Likewise. * main.cc (main): Likewise. * reloc.cc (Read_relocs::run): Likewise. (Sized_relobj::do_scan_relocs): Likewise. * icf.cc (is_function_ctor_or_dtor): New function. (Icf::find_identical_sections): Check if function is ctor or dtor when safe icf is chosen. * options.h (General_options::icf): Change option to be an enum. (Icf_status): New enum. (icf_enabled): New method. (icf_safe_folding): New method. (set_icf_status): New method. (icf_status_): New variable. * (options.cc) (General_options::finalize): Set icf_status_. * testsuite/Makefile.am: Add commands to build icf_safe_test. Modify icf_test and icf_keep_unique_test to use the --icf enum flag. * testsuite/icf_safe_test.sh: New file. * testsuite/icf_safe_test.cc: New file.
* 2009-10-13 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2009-10-132-5/+11
| | | | | * i386-dis.c (print_insn): Always clear need_vex, need_vex_reg and vex_w_done.
* Fix a typo.H.J. Lu2009-10-131-1/+1
|
* 2009-10-13 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2009-10-132-1/+7
| | | | | PR binutils/10766 * config/tc-i386.c (build_modrm_byte): Declare exp earlier.
* 2009-10-13 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2009-10-132-1/+9
| | | | | | PR binutils/10763 * elf32-i386.c (elf_i386_finish_dynamic_symbol): Declare plt earlier.
* gas/H.J. Lu2009-10-138-26/+157
| | | | | | | | | | | | | | | | | | | | | | 2009-10-13 H.J. Lu <hongjiu.lu@intel.com> PR gas/10740 * config/tc-i386-intel.c (i386_intel_operand): Handle call and jump with 2 immediate operands. * config/tc-i386.c (i386_finalize_immediate): Don't generate error message if operand string is NULL. gas/testsuite/ 2009-10-13 H.J. Lu <hongjiu.lu@intel.com> PR gas/10740 * gas/i386/jump.s: Add new tests. * gas/i386/jump16.s: Likewise. * gas/i386/jump.d: Updated. * gas/i386/jump16.d: Likewise.
* gas:Nick Clifton2009-10-138-16/+148
| | | | | | | | | | | | | | | | | | | 2009-10-07 Vincent Riviere <vincent.riviere@freesbee.fr> PR gas/3041 * config/tc-m68k.c (tc_gen_reloc): Fix addend for relocations located in data section an referencing a weak symbol. gas/testsuite: 2009-10-07 Vincent Riviere <vincent.riviere@freesbee.fr> PR gas/3041 * gas/m68k/all.exp: Added "p3041data". * gas/m68k/p3041.d, gas/m68k/p3041.s: Added tests of weak references from text section to all possible sections. * gas/m68k/p3041data.d, gas/m68k/p3041data.s: New test. Check weak references from data section.
* * elflink.c (_bfd_elf_merge_symbol): Revert previous patch.Alan Modra2009-10-132-4/+8
|
* Fix toplevel 'config.status --recheck' for --enable-lto.Ralf Wildenhues2009-10-133-2/+14
| | | | | | | /: * configure.ac: Add 'lto' to enable_languages, not new_enable_languages, and only if not already present. * configure: Regenerate.
* Fix %s that should be %B in several message formats.Roland McGrath2009-10-132-7/+12
|
* * symtab.h: Check for GOLD_SYMTAB_H before header includes. RemoveSriraman Tallam2009-10-139-5/+22
| | | | | | | | | | | includes to gc.h and icf.h. * arm.cc: Include gc.h. * gold.cc: Likewise. * i386.cc: Likewise. * powerpc.cc: Likewise. * sparc.cc: Likewise. * x86_64.cc: Likewise. * gc.h: Include icf.h.
* daily updateAlan Modra2009-10-121-1/+1
|
* * plugin.cc: Include "gold.h" before other header files.Ian Lance Taylor2009-10-122-1/+6
|
* daily updateAlan Modra2009-10-111-1/+1
|
* daily updateAlan Modra2009-10-101-1/+1
|
* 2009-10-10 Chris Demetriou <cgd@google.com>Chris Demetriou2009-10-1012-47/+237
| | | | | | | | | | | | | | | | | | | | | | | | | | * options.h (Input_file_argument::Input_file_type): New enum. (Input_file_argument::is_lib_): Replace with... (Input_file_argument::type_): New member. (Input_file_argument::Input_file_argument): Take Input_file_type 'type' rather than boolean 'is_lib' as second argument. (Input_file_argument::is_lib): Use type_. (Input_file_argument::is_searched_file): New function. (Input_file_argument::may_need_search): Handle is_searched_file. * options.cc (General_options::parse_library): Support -l:filename. (General_options::parse_just_symbols): Update for Input_file_argument changes. (Command_line::process): Likewise. * archive.cc (Archive::get_file_and_offset): Likewise. * plugin.cc (Plugin_manager::release_input_file): Likewise. * script.cc (read_script_file, script_add_file): Likewise. * fileread.cc (Input_file::Input_file): Likewise. (Input_file::will_search_for): Handle is_searched_file. (Input_file::open): Likewise. * readsyms.cc (Read_symbols::get_name): Likewise. * testsuite/Makefile.am (searched_file_test): New test. * testsuite/Makefile.in: Regenerate. * testsuite/searched_file_test.cc: New file. * testsuite/searched_file_test_lib.cc: New file.
* * cofflink.c (_bfd_coff_link_input_bfd): Skip section symbols forAlan Modra2009-10-102-3/+10
| | | | excluded output sections.
* * descriptor.cc: Include <cstdio> and "binary-io.h".Ian Lance Taylor2009-10-103-1/+13
| | | | | (Descriptors::open): Open the files in binary mode always. * script.cc (Lex::get_token): Treat \r as whitespace.
* Revert 2009-09-28 changes.Alan Modra2009-10-1026-929/+996
|
* * testsuite/retain_symbols_file_test.sh: Don't test for __tcf_0.Ian Lance Taylor2009-10-102-1/+4
|
* * configure.ac: Check for readv function also.Ian Lance Taylor2009-10-096-2/+30
| | | | | | | | * fileread.cc (readv): Define if not HAVE_READV. * fileread.h (File_read:: max_readv_entries): Set to 1 if readv does not exist. * config.in: Regenerate. * configure: Regenerate.
* 2009-10-09 Doug Kwan <dougkwan@google.com>Doug Kwan2009-10-0915-121/+839
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * layout.cc (Layout::make_output_section): Call target hook to make ordinary output section. (Layout::finalize): Adjust parameter list of call the Target::may_relax(). * layout.h (class Layout::section_list): New method. * merge.h (Output_merge_base::entsize): Change visibility to public. (Output_merge_base::is_string, Output_merge_base::do_is_string): New methods. (Output_merge_string::do_is_string): New method. * object.cc (Sized_relobj::do_setup): renamed from Sized_relobj::set_up. * object.h (Sized_relobj::adjust_shndx, Sized_relobj::initializ_input_to_output_maps, Sized_relobj::free_input_to_output_maps): Change visibilities to protected. (Sized_relobj::setup): Virtualize. (Sized_relobj::do_setup): New method declaration. (Sized_relobj::invalidate_section_offset, Sized_relobj::do_invalidate_section_offset): New method decfinitions. (Sized_relobj::elf_file, Sized_relobj::local_values): New methods. * options.cc (parse_int): New function. * options.h (parse_int): New declaration. (DEFINE_int): New macro. (stub_group_size): New option. * output.cc (Output_section::Output_section): Initialize memebers merge_section_map_, merge_section_by_properties_map_, relaxed_input_section_map_, is_relaxed_input_section_map_valid_. (Output_section::add_input_section): Handled deferred code-fill generation and remove an old comment. (Output_section::add_relaxed_input_section): New method definition. (Output_section::add_merge_input_section): Use merge section by properties map to speed to search. Update merge section maps as appropriate. (Output_section::build_relaxation_map): New method definition. (Output_section::convert_input_sections_in_list_to_relaxed_sections): Same. (Output_section::relax_input_section): Renamed to Output_section::convert_input_sections_to_relaxed_sections and change interface to take a vector of pointers to relaxed sections. (Output_section::find_merge_section, Output_section::find_relaxed_input_section): New method definitions. (Output_section::is_input_address_mapped, Output_section::output_offset, Output_section::output_address): Use output section data maps to speed up searching. (Output_section::find_starting_output_address): Add comments. (Output_section::do_write, Output_section::write_to_postprocessing_buffer): Do code-fill generation as appropriate. (Output_section::get_input_sections): Invalidate relaxed input section map. (Output_section::restore_states): Adjust type of checkpoint . Invalidate relaxed input section map. * output.h (Output_merge_base): New class declaration. (Input_section_specifier): New class defintion. (class Output_relaxed_input_section) Change base class to Output_section_data_build. (Output_relaxed_input_section::Output_relaxed_input_section): Adjust base class initializer. (Output_section::add_relaxed_input_section): New method declaration. (Output_section::Input_section): Change visibility to protected. (Output_section::Input_section::relobj, Output_section::Input_section::shndx): Handle relaxed input sections. Output_section::input_sections) Change visibility to protected. Also define overload to return a non-const pointer. (Output_section::Merge_section_properties): New class defintion. (Output_section::Merge_section_by_properties_map, Output_section::Output_section_data_by_input_section_map, Output_section::Relaxation_map): New types. (Output_section::relax_input_section): Rename method to Output_section::convert_input_sections_to_relaxed_sections and change interface to take a vector of relaxed section pointers. (Output_section::find_merge_section, Output_section::find_relaxed_input_section, Output_section::build_relaxation_map, Output_section::convert_input_sections_in_list_to_relaxed_sections): New method declarations. (Output_section::merge_section_map_ Output_section::merge_section_by_properties_map_, Output_section::relaxed_input_section_map_, Output_section::is_relaxed_input_section_map_valid_, Output_section::generate_code_fills_at_write_): New data members. * script-sections.cc (Output_section_element_input::set_section_addresses): Call current_data_size and addralign methods of relaxed input sections. (Orphan_output_section::set_section_addresses): Call current_data_size and addralign methods of relaxed input sections. * symtab.cc (Symbol_table::compute_final_value): Extract template from the body of Symbol_table::sized_finalize_symbol. (Symbol_table::sized_finalized_symbol): Call Symbol_table::compute_final_value. * symtab.h (Symbol_table::Compute_final_value_status): New enum type. (Symbol_table::compute_final_value): New templated method declaration. * target.cc (Target::do_make_output_section): New method defintion. * target.h (Target::make_output_section): New method declaration. (Target::relax): Add more parameters for input objects, symbol table and layout. Adjust call to do_relax. (Target::do_make_output_section): New method declaration. (Target::do_relax): Add parameters for input objects, symbol table and layout.
* * pread.c: Include stdio.h.Ian Lance Taylor2009-10-092-1/+6
|
* * plugin.cc: Don't include dlfcn.h when ENABLE_PLUGINS is notIan Lance Taylor2009-10-092-0/+8
| | | | defined.
* * dwarf_reader.cc (Sized_dwarf_line_info::Sized_dwarf_line_info):Ian Lance Taylor2009-10-094-9/+24
| | | | | | | | | | | | | | Change read_shndx type to unsigned int. (Sized_dwarf_line_info::read_lines): Change shndx type to unsigned int. (Sized_dwarf_line_info::read_line_mappings): Likewise. * dwarf_reader.h (Sized_dwarf_line_info::Sized_dwarf_line_info): Change read_shndx type to unsigned int. (Sized_dwarf_line_info::read_lines): Change shndx type to unsigned int. (Sized_dwarf_line_info::read_line_mappings): Likewise. * layout.cc (Layout::create_symtab_sections): Cast the result of local_symcount * symsize to off_t in the gold_assert.