[Bug gold/13359] gold internal error in relocate_tls, at gold/x86_64.cc:3187

2011-12-19 Thread cvs-commit at gcc dot gnu.org
http://sourceware.org/bugzilla/show_bug.cgi?id=13359

--- Comment #4 from cvs-commit at gcc dot gnu.org cvs-commit at gcc dot 
gnu.org 2011-12-19 21:14:45 UTC ---
CVSROOT:/cvs/src
Module name:src
Branch: binutils-2_22-branch
Changes by:i...@sourceware.org2011-12-19 21:14:40

Modified files:
gold   : ChangeLog Makefile.am Makefile.in configure 
 configure.ac dwarf_reader.cc expression.cc 
 fileread.cc gold.cc i386.cc incremental.cc 
 incremental.h layout.cc options.cc options.h 
 output.cc output.h plugin.cc powerpc.cc 
 readsyms.cc resolve.cc script-sections.cc 
 script.cc script.h sparc.cc symtab.cc symtab.h 
 x86_64.cc 
gold/testsuite : Makefile.in plugin_test_2.sh script_test_2.t 

Log message:
Copy from mainline to binutils 2.22 branch:

2011-12-17  Cary Coutant  ccout...@google.com

* dwarf_reader.cc (Sized_dwarf_line_info::read_lines): Add casts.
* resolve.cc (Symbol_table::resolve): Likewise.
* i386.cc (Target_i386::do_code_fill): Use char constants for nop
arrays.
* x86_64.cc (Target_x86_64::do_code_fill): Likewise.

2011-10-31  Cary Coutant  ccout...@google.com

PR gold/13023
* expression.cc (Expression::eval_with_dot): Add
is_section_dot_assignment parameter.
(Expression::eval_maybe_dot): Likewise.  Adjust value when rhs is
absolute and assigning to dot within a section.
* script-sections.cc
(Output_section_element_assignment::set_section_addresses): Pass
dot_section to set_if_absolute.
(Output_section_element_dot_assignment::finalize_symbols): Pass TRUE
as is_section_dot_assignment flag to eval_with_dot.
(Output_section_element_dot_assignment::set_section_addresses):
Likewise.
* script.cc (Symbol_assignment::set_if_absolute): Add dot_section
parameter.  Also set value if relative to dot_section; set the
symbol's output_section.
* script.h (Expression::eval_with_dot): Add is_section_dot_assignment
parameter.  Adjust all callers.
(Expression::eval_maybe_dot): Likewise.
(Symbol_assignment::set_if_absolute): Add dot_section parameter.
Adjust all callers.
* testsuite/script_test_2.t: Test assignment of an absolute value
to dot within an output section element.

2011-10-31  Cary Coutant  ccout...@google.com

* options.h (class General_options): Add --[no-]gnu-unique options.
* symtab.cc (Symbol_table::sized_write_globals): Convert
STB_GNU_UNIQUE to STB_GLOBAL if --no-gnu-unique.

2011-10-31  Cary Coutant  ccout...@google.com

PR gold/13359
* i386.cc (Target_i386::Relocate::relocate_tls): Remove
unnecessary assertion.
* x86_64.cc (Target_x86_64::Relocate::relocate_tls): Likewise.

2011-10-31 Sriraman Tallam  tmsri...@google.com

* symtab.h (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
* symtab.cc (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
Change to just keep the section associated with symbol.
(Symbol_table::add_from_relobj): Mark symbols as not garbage when
they are externally visible and --export-dynamic is turned on.
(Symbol_table::gc_mark_dyn_syms): Call gc_mark_symbol.

2011-10-19  Ian Lance Taylor  i...@google.com

PR gold/13163
* script-sections.cc
(Output_section_element_dot_assignment::needs_output_section): New
function.

2011-10-19  Ian Lance Taylor  i...@google.com

PR gold/13204
* layout.cc (Layout::segment_precedes): Don't assert failure if a
--section-start option was seen.
* options.h (General_options::any_section_start): New function.

2011-10-18  Cary Coutant  ccout...@google.com

* output.cc (posix_fallocate): Return 0 on success, errno on failure.
(Output_file::map_no_anonymous): Check for non-zero
return code from posix_fallocate.

2011-10-17  Cary Coutant  ccout...@google.com

PR gold/13245
* plugin.cc (is_visible_from_outside): Check for symbols
referenced from dynamic objects.
* resolve.cc (Symbol_table::resolve): Don't count references
from dynamic objects as references from real ELF files.
* testsuite/plugin_test_2.sh: Adjust expected result.

2011-10-17  Cary Coutant  ccout...@google.com

* readsyms.cc (Read_symbols::run): Don't queue an unblocker
task for members of lib groups.

2011-10-17  Cary Coutant  ccout...@google.com

PR gold/13288
* fileread.cc (File_read::find_view): Add assert.
(File_read::make_view): Move bounds check (replace with assert)...
(File_read::find_or_make_view): ... to here.

2011-10-12  Cary Coutant  ccout...@google.com

* output.cc (Output_file::open_base_file): Handle case where
::read returns less than requested size.

2011-10-10  Cary Coutant  ccout...@google.com

* incremental.cc 

[Bug gold/13023] gold misinterprets dot assignments in sections

2011-12-19 Thread cvs-commit at gcc dot gnu.org
http://sourceware.org/bugzilla/show_bug.cgi?id=13023

--- Comment #7 from cvs-commit at gcc dot gnu.org cvs-commit at gcc dot 
gnu.org 2011-12-19 21:14:46 UTC ---
CVSROOT:/cvs/src
Module name:src
Branch: binutils-2_22-branch
Changes by:i...@sourceware.org2011-12-19 21:14:40

Modified files:
gold   : ChangeLog Makefile.am Makefile.in configure 
 configure.ac dwarf_reader.cc expression.cc 
 fileread.cc gold.cc i386.cc incremental.cc 
 incremental.h layout.cc options.cc options.h 
 output.cc output.h plugin.cc powerpc.cc 
 readsyms.cc resolve.cc script-sections.cc 
 script.cc script.h sparc.cc symtab.cc symtab.h 
 x86_64.cc 
gold/testsuite : Makefile.in plugin_test_2.sh script_test_2.t 

Log message:
Copy from mainline to binutils 2.22 branch:

2011-12-17  Cary Coutant  ccout...@google.com

* dwarf_reader.cc (Sized_dwarf_line_info::read_lines): Add casts.
* resolve.cc (Symbol_table::resolve): Likewise.
* i386.cc (Target_i386::do_code_fill): Use char constants for nop
arrays.
* x86_64.cc (Target_x86_64::do_code_fill): Likewise.

2011-10-31  Cary Coutant  ccout...@google.com

PR gold/13023
* expression.cc (Expression::eval_with_dot): Add
is_section_dot_assignment parameter.
(Expression::eval_maybe_dot): Likewise.  Adjust value when rhs is
absolute and assigning to dot within a section.
* script-sections.cc
(Output_section_element_assignment::set_section_addresses): Pass
dot_section to set_if_absolute.
(Output_section_element_dot_assignment::finalize_symbols): Pass TRUE
as is_section_dot_assignment flag to eval_with_dot.
(Output_section_element_dot_assignment::set_section_addresses):
Likewise.
* script.cc (Symbol_assignment::set_if_absolute): Add dot_section
parameter.  Also set value if relative to dot_section; set the
symbol's output_section.
* script.h (Expression::eval_with_dot): Add is_section_dot_assignment
parameter.  Adjust all callers.
(Expression::eval_maybe_dot): Likewise.
(Symbol_assignment::set_if_absolute): Add dot_section parameter.
Adjust all callers.
* testsuite/script_test_2.t: Test assignment of an absolute value
to dot within an output section element.

2011-10-31  Cary Coutant  ccout...@google.com

* options.h (class General_options): Add --[no-]gnu-unique options.
* symtab.cc (Symbol_table::sized_write_globals): Convert
STB_GNU_UNIQUE to STB_GLOBAL if --no-gnu-unique.

2011-10-31  Cary Coutant  ccout...@google.com

PR gold/13359
* i386.cc (Target_i386::Relocate::relocate_tls): Remove
unnecessary assertion.
* x86_64.cc (Target_x86_64::Relocate::relocate_tls): Likewise.

2011-10-31 Sriraman Tallam  tmsri...@google.com

* symtab.h (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
* symtab.cc (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
Change to just keep the section associated with symbol.
(Symbol_table::add_from_relobj): Mark symbols as not garbage when
they are externally visible and --export-dynamic is turned on.
(Symbol_table::gc_mark_dyn_syms): Call gc_mark_symbol.

2011-10-19  Ian Lance Taylor  i...@google.com

PR gold/13163
* script-sections.cc
(Output_section_element_dot_assignment::needs_output_section): New
function.

2011-10-19  Ian Lance Taylor  i...@google.com

PR gold/13204
* layout.cc (Layout::segment_precedes): Don't assert failure if a
--section-start option was seen.
* options.h (General_options::any_section_start): New function.

2011-10-18  Cary Coutant  ccout...@google.com

* output.cc (posix_fallocate): Return 0 on success, errno on failure.
(Output_file::map_no_anonymous): Check for non-zero
return code from posix_fallocate.

2011-10-17  Cary Coutant  ccout...@google.com

PR gold/13245
* plugin.cc (is_visible_from_outside): Check for symbols
referenced from dynamic objects.
* resolve.cc (Symbol_table::resolve): Don't count references
from dynamic objects as references from real ELF files.
* testsuite/plugin_test_2.sh: Adjust expected result.

2011-10-17  Cary Coutant  ccout...@google.com

* readsyms.cc (Read_symbols::run): Don't queue an unblocker
task for members of lib groups.

2011-10-17  Cary Coutant  ccout...@google.com

PR gold/13288
* fileread.cc (File_read::find_view): Add assert.
(File_read::make_view): Move bounds check (replace with assert)...
(File_read::find_or_make_view): ... to here.

2011-10-12  Cary Coutant  ccout...@google.com

* output.cc (Output_file::open_base_file): Handle case where
::read returns less than requested size.

2011-10-10  Cary Coutant  ccout...@google.com

* incremental.cc 

[Bug gold/13245] PREVAILING_DEF reported too often.

2011-12-19 Thread cvs-commit at gcc dot gnu.org
http://sourceware.org/bugzilla/show_bug.cgi?id=13245

--- Comment #16 from cvs-commit at gcc dot gnu.org cvs-commit at gcc dot 
gnu.org 2011-12-19 21:14:52 UTC ---
CVSROOT:/cvs/src
Module name:src
Branch: binutils-2_22-branch
Changes by:i...@sourceware.org2011-12-19 21:14:40

Modified files:
gold   : ChangeLog Makefile.am Makefile.in configure 
 configure.ac dwarf_reader.cc expression.cc 
 fileread.cc gold.cc i386.cc incremental.cc 
 incremental.h layout.cc options.cc options.h 
 output.cc output.h plugin.cc powerpc.cc 
 readsyms.cc resolve.cc script-sections.cc 
 script.cc script.h sparc.cc symtab.cc symtab.h 
 x86_64.cc 
gold/testsuite : Makefile.in plugin_test_2.sh script_test_2.t 

Log message:
Copy from mainline to binutils 2.22 branch:

2011-12-17  Cary Coutant  ccout...@google.com

* dwarf_reader.cc (Sized_dwarf_line_info::read_lines): Add casts.
* resolve.cc (Symbol_table::resolve): Likewise.
* i386.cc (Target_i386::do_code_fill): Use char constants for nop
arrays.
* x86_64.cc (Target_x86_64::do_code_fill): Likewise.

2011-10-31  Cary Coutant  ccout...@google.com

PR gold/13023
* expression.cc (Expression::eval_with_dot): Add
is_section_dot_assignment parameter.
(Expression::eval_maybe_dot): Likewise.  Adjust value when rhs is
absolute and assigning to dot within a section.
* script-sections.cc
(Output_section_element_assignment::set_section_addresses): Pass
dot_section to set_if_absolute.
(Output_section_element_dot_assignment::finalize_symbols): Pass TRUE
as is_section_dot_assignment flag to eval_with_dot.
(Output_section_element_dot_assignment::set_section_addresses):
Likewise.
* script.cc (Symbol_assignment::set_if_absolute): Add dot_section
parameter.  Also set value if relative to dot_section; set the
symbol's output_section.
* script.h (Expression::eval_with_dot): Add is_section_dot_assignment
parameter.  Adjust all callers.
(Expression::eval_maybe_dot): Likewise.
(Symbol_assignment::set_if_absolute): Add dot_section parameter.
Adjust all callers.
* testsuite/script_test_2.t: Test assignment of an absolute value
to dot within an output section element.

2011-10-31  Cary Coutant  ccout...@google.com

* options.h (class General_options): Add --[no-]gnu-unique options.
* symtab.cc (Symbol_table::sized_write_globals): Convert
STB_GNU_UNIQUE to STB_GLOBAL if --no-gnu-unique.

2011-10-31  Cary Coutant  ccout...@google.com

PR gold/13359
* i386.cc (Target_i386::Relocate::relocate_tls): Remove
unnecessary assertion.
* x86_64.cc (Target_x86_64::Relocate::relocate_tls): Likewise.

2011-10-31 Sriraman Tallam  tmsri...@google.com

* symtab.h (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
* symtab.cc (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
Change to just keep the section associated with symbol.
(Symbol_table::add_from_relobj): Mark symbols as not garbage when
they are externally visible and --export-dynamic is turned on.
(Symbol_table::gc_mark_dyn_syms): Call gc_mark_symbol.

2011-10-19  Ian Lance Taylor  i...@google.com

PR gold/13163
* script-sections.cc
(Output_section_element_dot_assignment::needs_output_section): New
function.

2011-10-19  Ian Lance Taylor  i...@google.com

PR gold/13204
* layout.cc (Layout::segment_precedes): Don't assert failure if a
--section-start option was seen.
* options.h (General_options::any_section_start): New function.

2011-10-18  Cary Coutant  ccout...@google.com

* output.cc (posix_fallocate): Return 0 on success, errno on failure.
(Output_file::map_no_anonymous): Check for non-zero
return code from posix_fallocate.

2011-10-17  Cary Coutant  ccout...@google.com

PR gold/13245
* plugin.cc (is_visible_from_outside): Check for symbols
referenced from dynamic objects.
* resolve.cc (Symbol_table::resolve): Don't count references
from dynamic objects as references from real ELF files.
* testsuite/plugin_test_2.sh: Adjust expected result.

2011-10-17  Cary Coutant  ccout...@google.com

* readsyms.cc (Read_symbols::run): Don't queue an unblocker
task for members of lib groups.

2011-10-17  Cary Coutant  ccout...@google.com

PR gold/13288
* fileread.cc (File_read::find_view): Add assert.
(File_read::make_view): Move bounds check (replace with assert)...
(File_read::find_or_make_view): ... to here.

2011-10-12  Cary Coutant  ccout...@google.com

* output.cc (Output_file::open_base_file): Handle case where
::read returns less than requested size.

2011-10-10  Cary Coutant  ccout...@google.com

* incremental.cc 

[Bug gold/13249] gold creates incorrect RELATIVE dynamic relocation for local IFUNC GOT entries

2011-12-19 Thread cvs-commit at gcc dot gnu.org
http://sourceware.org/bugzilla/show_bug.cgi?id=13249

--- Comment #4 from cvs-commit at gcc dot gnu.org cvs-commit at gcc dot 
gnu.org 2011-12-19 21:14:52 UTC ---
CVSROOT:/cvs/src
Module name:src
Branch: binutils-2_22-branch
Changes by:i...@sourceware.org2011-12-19 21:14:40

Modified files:
gold   : ChangeLog Makefile.am Makefile.in configure 
 configure.ac dwarf_reader.cc expression.cc 
 fileread.cc gold.cc i386.cc incremental.cc 
 incremental.h layout.cc options.cc options.h 
 output.cc output.h plugin.cc powerpc.cc 
 readsyms.cc resolve.cc script-sections.cc 
 script.cc script.h sparc.cc symtab.cc symtab.h 
 x86_64.cc 
gold/testsuite : Makefile.in plugin_test_2.sh script_test_2.t 

Log message:
Copy from mainline to binutils 2.22 branch:

2011-12-17  Cary Coutant  ccout...@google.com

* dwarf_reader.cc (Sized_dwarf_line_info::read_lines): Add casts.
* resolve.cc (Symbol_table::resolve): Likewise.
* i386.cc (Target_i386::do_code_fill): Use char constants for nop
arrays.
* x86_64.cc (Target_x86_64::do_code_fill): Likewise.

2011-10-31  Cary Coutant  ccout...@google.com

PR gold/13023
* expression.cc (Expression::eval_with_dot): Add
is_section_dot_assignment parameter.
(Expression::eval_maybe_dot): Likewise.  Adjust value when rhs is
absolute and assigning to dot within a section.
* script-sections.cc
(Output_section_element_assignment::set_section_addresses): Pass
dot_section to set_if_absolute.
(Output_section_element_dot_assignment::finalize_symbols): Pass TRUE
as is_section_dot_assignment flag to eval_with_dot.
(Output_section_element_dot_assignment::set_section_addresses):
Likewise.
* script.cc (Symbol_assignment::set_if_absolute): Add dot_section
parameter.  Also set value if relative to dot_section; set the
symbol's output_section.
* script.h (Expression::eval_with_dot): Add is_section_dot_assignment
parameter.  Adjust all callers.
(Expression::eval_maybe_dot): Likewise.
(Symbol_assignment::set_if_absolute): Add dot_section parameter.
Adjust all callers.
* testsuite/script_test_2.t: Test assignment of an absolute value
to dot within an output section element.

2011-10-31  Cary Coutant  ccout...@google.com

* options.h (class General_options): Add --[no-]gnu-unique options.
* symtab.cc (Symbol_table::sized_write_globals): Convert
STB_GNU_UNIQUE to STB_GLOBAL if --no-gnu-unique.

2011-10-31  Cary Coutant  ccout...@google.com

PR gold/13359
* i386.cc (Target_i386::Relocate::relocate_tls): Remove
unnecessary assertion.
* x86_64.cc (Target_x86_64::Relocate::relocate_tls): Likewise.

2011-10-31 Sriraman Tallam  tmsri...@google.com

* symtab.h (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
* symtab.cc (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
Change to just keep the section associated with symbol.
(Symbol_table::add_from_relobj): Mark symbols as not garbage when
they are externally visible and --export-dynamic is turned on.
(Symbol_table::gc_mark_dyn_syms): Call gc_mark_symbol.

2011-10-19  Ian Lance Taylor  i...@google.com

PR gold/13163
* script-sections.cc
(Output_section_element_dot_assignment::needs_output_section): New
function.

2011-10-19  Ian Lance Taylor  i...@google.com

PR gold/13204
* layout.cc (Layout::segment_precedes): Don't assert failure if a
--section-start option was seen.
* options.h (General_options::any_section_start): New function.

2011-10-18  Cary Coutant  ccout...@google.com

* output.cc (posix_fallocate): Return 0 on success, errno on failure.
(Output_file::map_no_anonymous): Check for non-zero
return code from posix_fallocate.

2011-10-17  Cary Coutant  ccout...@google.com

PR gold/13245
* plugin.cc (is_visible_from_outside): Check for symbols
referenced from dynamic objects.
* resolve.cc (Symbol_table::resolve): Don't count references
from dynamic objects as references from real ELF files.
* testsuite/plugin_test_2.sh: Adjust expected result.

2011-10-17  Cary Coutant  ccout...@google.com

* readsyms.cc (Read_symbols::run): Don't queue an unblocker
task for members of lib groups.

2011-10-17  Cary Coutant  ccout...@google.com

PR gold/13288
* fileread.cc (File_read::find_view): Add assert.
(File_read::make_view): Move bounds check (replace with assert)...
(File_read::find_or_make_view): ... to here.

2011-10-12  Cary Coutant  ccout...@google.com

* output.cc (Output_file::open_base_file): Handle case where
::read returns less than requested size.

2011-10-10  Cary Coutant  ccout...@google.com

* incremental.cc 

[Bug gold/13163] internal error in set_segment_offsets, at ../../../binutils/gold/layout.cc:3050

2011-12-19 Thread cvs-commit at gcc dot gnu.org
http://sourceware.org/bugzilla/show_bug.cgi?id=13163

--- Comment #6 from cvs-commit at gcc dot gnu.org cvs-commit at gcc dot 
gnu.org 2011-12-19 21:14:51 UTC ---
CVSROOT:/cvs/src
Module name:src
Branch: binutils-2_22-branch
Changes by:i...@sourceware.org2011-12-19 21:14:40

Modified files:
gold   : ChangeLog Makefile.am Makefile.in configure 
 configure.ac dwarf_reader.cc expression.cc 
 fileread.cc gold.cc i386.cc incremental.cc 
 incremental.h layout.cc options.cc options.h 
 output.cc output.h plugin.cc powerpc.cc 
 readsyms.cc resolve.cc script-sections.cc 
 script.cc script.h sparc.cc symtab.cc symtab.h 
 x86_64.cc 
gold/testsuite : Makefile.in plugin_test_2.sh script_test_2.t 

Log message:
Copy from mainline to binutils 2.22 branch:

2011-12-17  Cary Coutant  ccout...@google.com

* dwarf_reader.cc (Sized_dwarf_line_info::read_lines): Add casts.
* resolve.cc (Symbol_table::resolve): Likewise.
* i386.cc (Target_i386::do_code_fill): Use char constants for nop
arrays.
* x86_64.cc (Target_x86_64::do_code_fill): Likewise.

2011-10-31  Cary Coutant  ccout...@google.com

PR gold/13023
* expression.cc (Expression::eval_with_dot): Add
is_section_dot_assignment parameter.
(Expression::eval_maybe_dot): Likewise.  Adjust value when rhs is
absolute and assigning to dot within a section.
* script-sections.cc
(Output_section_element_assignment::set_section_addresses): Pass
dot_section to set_if_absolute.
(Output_section_element_dot_assignment::finalize_symbols): Pass TRUE
as is_section_dot_assignment flag to eval_with_dot.
(Output_section_element_dot_assignment::set_section_addresses):
Likewise.
* script.cc (Symbol_assignment::set_if_absolute): Add dot_section
parameter.  Also set value if relative to dot_section; set the
symbol's output_section.
* script.h (Expression::eval_with_dot): Add is_section_dot_assignment
parameter.  Adjust all callers.
(Expression::eval_maybe_dot): Likewise.
(Symbol_assignment::set_if_absolute): Add dot_section parameter.
Adjust all callers.
* testsuite/script_test_2.t: Test assignment of an absolute value
to dot within an output section element.

2011-10-31  Cary Coutant  ccout...@google.com

* options.h (class General_options): Add --[no-]gnu-unique options.
* symtab.cc (Symbol_table::sized_write_globals): Convert
STB_GNU_UNIQUE to STB_GLOBAL if --no-gnu-unique.

2011-10-31  Cary Coutant  ccout...@google.com

PR gold/13359
* i386.cc (Target_i386::Relocate::relocate_tls): Remove
unnecessary assertion.
* x86_64.cc (Target_x86_64::Relocate::relocate_tls): Likewise.

2011-10-31 Sriraman Tallam  tmsri...@google.com

* symtab.h (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
* symtab.cc (Symbol_table::gc_mark_symbol_for_shlib): Rename to
gc_mark_symbol.
Change to just keep the section associated with symbol.
(Symbol_table::add_from_relobj): Mark symbols as not garbage when
they are externally visible and --export-dynamic is turned on.
(Symbol_table::gc_mark_dyn_syms): Call gc_mark_symbol.

2011-10-19  Ian Lance Taylor  i...@google.com

PR gold/13163
* script-sections.cc
(Output_section_element_dot_assignment::needs_output_section): New
function.

2011-10-19  Ian Lance Taylor  i...@google.com

PR gold/13204
* layout.cc (Layout::segment_precedes): Don't assert failure if a
--section-start option was seen.
* options.h (General_options::any_section_start): New function.

2011-10-18  Cary Coutant  ccout...@google.com

* output.cc (posix_fallocate): Return 0 on success, errno on failure.
(Output_file::map_no_anonymous): Check for non-zero
return code from posix_fallocate.

2011-10-17  Cary Coutant  ccout...@google.com

PR gold/13245
* plugin.cc (is_visible_from_outside): Check for symbols
referenced from dynamic objects.
* resolve.cc (Symbol_table::resolve): Don't count references
from dynamic objects as references from real ELF files.
* testsuite/plugin_test_2.sh: Adjust expected result.

2011-10-17  Cary Coutant  ccout...@google.com

* readsyms.cc (Read_symbols::run): Don't queue an unblocker
task for members of lib groups.

2011-10-17  Cary Coutant  ccout...@google.com

PR gold/13288
* fileread.cc (File_read::find_view): Add assert.
(File_read::make_view): Move bounds check (replace with assert)...
(File_read::find_or_make_view): ... to here.

2011-10-12  Cary Coutant  ccout...@google.com

* output.cc (Output_file::open_base_file): Handle case where
::read returns less than requested size.

2011-10-10  Cary Coutant  ccout...@google.com

* incremental.cc 

[Bug gold/13365] Fold functions that only jump to some other one

2011-12-19 Thread ian at airs dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=13365

--- Comment #1 from Ian Lance Taylor ian at airs dot com 2011-12-19 23:30:39 
UTC ---
Of course one can only do this if there are no comparisons of function
pointers.  And that means that it can only be done if the symbols are not
visible outside the executable/shared library, or if linking statically.

It requires analyzing the section contents at each eligible symbol, which is a
relatively slow operation.

Do you have any statistics suggesting that it will be worth it?  I.e., how many
such functions are there in a typical executable?

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/13366] Allow to pack some functions together

2011-12-19 Thread ian at airs dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=13366

--- Comment #1 from Ian Lance Taylor ian at airs dot com 2011-12-19 23:31:56 
UTC ---
I think it will be relatively difficult for the linker to safely and reliably
detect cases where this packing is valid.  The packing may only be done if the
trailing symbol can not be interposed.  The linker will only be able to do it
if the function is at the end of a section, implying the use of
-ffunction-sections.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/13521] New: ld.gold prefers unversioned symbol over default version

2011-12-19 Thread jrnieder at gmail dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=13521

 Bug #: 13521
   Summary: ld.gold prefers unversioned symbol over default
version
   Product: binutils
   Version: 2.23 (HEAD)
Status: NEW
  Severity: normal
  Priority: P2
 Component: gold
AssignedTo: i...@airs.com
ReportedBy: jrnie...@gmail.com
CC: ccout...@google.com
Classification: Unclassified


Created attachment 6119
  -- http://sourceware.org/bugzilla/attachment.cgi?id=6119
simple object with reference to lzma_code before linking

The ld manual (section VERSION) explains how to allow multiple versions of the
same function to appear in a given shared library[1].

Debian liblzma5 5.1.1alpha+20110809-3 does that.  It provides two versions of
the lzma_code function --- an unversioned compatibility symbol and a versioned
symbol:

| $ eu-readelf -s /usr/lib/x86_64-linux-gnu/liblzma.so.5.0.0 | grep lzma_code
|32: 30f0142 FUNCGLOBAL DEFAULT   13 lzma_code
|33: 3020202 FUNCGLOBAL DEFAULT   13
lzma_code@@XZ_5.0

When I link to the library using ld.bfd, the versioned symbol is preferred, as
I'd expect[2]:

| $ ld.bfd -o test.bfd test.o -llzma
| ld.bfd: warning: cannot find entry symbol _start; defaulting to
00400270
| $ eu-readelf -s test.bfd | grep lzma_code
| 1:   0 FUNCGLOBAL DEFAULTUNDEF
lzma_code@XZ_5.0 (2)
|17:   0 FUNCGLOBAL DEFAULTUNDEF
lzma_code@@XZ_5.0

By contrast, ld.gold seems to prefer the unversioned symbol.

| $ ld.gold -o test.gold test.o -llzma
| $ eu-readelf -s test.gold | grep lzma_code
| 1:   0 FUNCGLOBAL DEFAULTUNDEF lzma_code
| 5:   0 FUNCGLOBAL DEFAULTUNDEF lzma_code

Reproducible with binutils 2.22 and with a current snapshot of HEAD (3d38152c,
2011-12-19).  Known problem?  Any hints for tracking it down?

[1] “The second GNU extension is to allow multiple versions of the same
function to appear in a given shared library. In this way you can make an
incompatible change to an interface without increasing the major version number
of the shared library, while still allowing applications linked against the old
interface to continue to function.

“To do this, you must use multiple `.symver' directives in the source file.
Here is an example:

 __asm__(.symver original_foo,foo@);
 __asm__(.symver old_foo,foo@VERS_1.1);
 __asm__(.symver old_foo1,foo@VERS_1.2);
 __asm__(.symver new_foo,foo@@VERS_2.0);
“In this example, `foo@' represents the symbol `foo' bound to the unspecified
base version of the symbol. The source file that contains this example would
define 4 C functions: `original_foo', `old_foo', `old_foo1', and `new_foo'.”

[2] “When you have multiple definitions of a given symbol, there needs to be
some way to specify a default version to which external references to this
symbol will be bound. You can do this with the `foo@@VERS_2.0' type of
`.symver' directive. You can only declare one version of a symbol as the
default in this manner; otherwise you would effectively have multiple
definitions of the same symbol.”

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/13521] ld.gold prefers unversioned symbol over default version

2011-12-19 Thread jrnieder at gmail dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=13521

--- Comment #1 from Jonathan Nieder jrnieder at gmail dot com 2011-12-20 
07:14:36 UTC ---
Created attachment 6120
  -- http://sourceware.org/bugzilla/attachment.cgi?id=6120
DSO with versioned and unversioned lzma_code symbol (Debian liblzma5
5.1.1alpha+20110809-3)

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils


[Bug gold/13521] ld.gold prefers unversioned symbol over default version

2011-12-19 Thread jrnieder at gmail dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=13521

--- Comment #2 from Jonathan Nieder jrnieder at gmail dot com 2011-12-20 
07:17:03 UTC ---
Created attachment 6121
  -- http://sourceware.org/bugzilla/attachment.cgi?id=6121
output from ld.gold -o output.gold test.o liblzma.so.5.0.0, which should
refer to the versioned symbol but refers to the unversioned symbol instead

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
--- You are receiving this mail because: ---
You are on the CC list for the bug.

___
bug-binutils mailing list
bug-binutils@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-binutils