<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/binutils-gdb.git, branch users/palves/function_view</title>
<subtitle>sourceware.org: git/binutils-gdb.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/binutils-gdb.git/'/>
<entry>
<title>Fix gdb.base/completion.exp with --target_board=dwarf4-gdb-index</title>
<updated>2017-02-22T14:43:35+00:00</updated>
<author>
<name>Pedro Alves</name>
<email>palves@redhat.com</email>
</author>
<published>2017-02-22T14:43:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/binutils-gdb.git/commit/?id=da6e69db0c1fd03e1abc5c669e411ffb17214a20'/>
<id>da6e69db0c1fd03e1abc5c669e411ffb17214a20</id>
<content type='text'>
This patch fixes:

 -FAIL: gdb.base/completion.exp: tab complete break break.c:ma (timeout)
 -FAIL: gdb.base/completion.exp: complete break break.c:ma
 +PASS: gdb.base/completion.exp: tab complete break break.c:ma
 +PASS: gdb.base/completion.exp: delete breakpoint for tab complete break break.c:ma
 +PASS: gdb.base/completion.exp: complete break break.c:ma

When run with --target_board=dwarf4-gdb-index.

The issue here is that make_file_symbol_completion_list_1, used when
completing a symbol restricted to a given source file, uses
lookup_symtab to look up the symtab with the given name, and search
for matching symbols inside.  This assumes that there's only one
symtab for the given source file.  This is an incorrect assumption
with (for example) -fdebug-types-section, where we'll have an extra
extra symtab containing the types.  lookup_symtab finds that symtab,
and inside that symtab there are no functions...

gdb/ChangeLog:
yyyy-mm-dd  Pedro Alves  &lt;palves@redhat.com&gt;

	* symtab.c (make_file_symbol_completion_list_1): Iterate over
	symtabs matching all symtabs with SRCFILE as file name instead of
	only considering the first hit, with lookup_symtab.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch fixes:

 -FAIL: gdb.base/completion.exp: tab complete break break.c:ma (timeout)
 -FAIL: gdb.base/completion.exp: complete break break.c:ma
 +PASS: gdb.base/completion.exp: tab complete break break.c:ma
 +PASS: gdb.base/completion.exp: delete breakpoint for tab complete break break.c:ma
 +PASS: gdb.base/completion.exp: complete break break.c:ma

When run with --target_board=dwarf4-gdb-index.

The issue here is that make_file_symbol_completion_list_1, used when
completing a symbol restricted to a given source file, uses
lookup_symtab to look up the symtab with the given name, and search
for matching symbols inside.  This assumes that there's only one
symtab for the given source file.  This is an incorrect assumption
with (for example) -fdebug-types-section, where we'll have an extra
extra symtab containing the types.  lookup_symtab finds that symtab,
and inside that symtab there are no functions...

gdb/ChangeLog:
yyyy-mm-dd  Pedro Alves  &lt;palves@redhat.com&gt;

	* symtab.c (make_file_symbol_completion_list_1): Iterate over
	symtabs matching all symtabs with SRCFILE as file name instead of
	only considering the first hit, with lookup_symtab.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use gdb::function_view in iterate_over_symtabs &amp; co</title>
<updated>2017-02-22T14:43:35+00:00</updated>
<author>
<name>Pedro Alves</name>
<email>palves@redhat.com</email>
</author>
<published>2017-02-22T14:43:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/binutils-gdb.git/commit/?id=c6372969c37c3c538727269f9ede9f9be3bc6f95'/>
<id>c6372969c37c3c538727269f9ede9f9be3bc6f95</id>
<content type='text'>
I wanted to pass a lambda to iterate_over_symtabs (see following
patch), so I converted it to function_view, and then the rest is
cascaded from that.

This gets rid of a bunch of single-use callback functions and
corresponding manually managed callback capture types
(add_partial_datum, search_symbols_data, etc.) in favor of letting the
compiler generate them for us by using lambdas with a capture.  In a
couple cases, it was more natural to convert the existing function
callbacks to function objects (i.e., operator(), e.g.,
decode_compound_collector).

gdb/ChangeLog:
yyyy-mm-dd  Pedro Alves  &lt;palves@redhat.com&gt;

	* ada-lang.c: Include "common/function-view.h".
	(ada_iterate_over_symbols): Adjust to use function_view as
	callback type.
	(struct add_partial_datum, ada_complete_symbol_matcher): Delete.
	(ada_make_symbol_completion_list): Use a lambda.
	(ada_exc_search_name_matches): Delete.
	(name_matches_regex): New.
	(ada_add_global_exceptions): Use a lambda and name_matches_regex.
	* compile/compile-c-support.c: Include "common/function-view.h".
	(print_one_macro): Change prototype to accept a ui_file pointer.
	(write_macro_definitions): Use a lambda.
	* dwarf2read.c: Include "common/function-view.h".
	(dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
	(dw2_expand_symtabs_matching): Adjust to use function_view as
	callback type.
	* language.h: Include "common/function-view.h".
	(struct language_defn) &lt;la_iterate_over_symbols&gt;: Adjust to use
	function_view as callback type.
	(LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
	* linespec.c: Include "common/function-view.h".
	(collect_info::add_symbol): New method.
	(struct symbol_and_data_callback, iterate_inline_only, struct
	symbol_matcher_data, iterate_name_matcher): Delete.
	(iterate_over_all_matching_symtabs): Adjust to use function_view
	as callback type and lambdas.
	(iterate_over_file_blocks): Adjust to use function_view as
	callback type.
	(decode_compound_collector): Now a class with private fields.
	(decode_compound_collector::release_symbols): New method.
	(collect_one_symbol): Rename to...
	(decode_compound_collector::operator()): ... this and adjust.
	(lookup_prefix_sym): decode_compound_collector construction bits
	move to decode_compound_collector ctor.  Pass the
	decode_compound_collector object directly as callback.  Remove
	cleanups and use decode_compound_collector::release_symbols
	instead.
	(symtab_collector): Now a class with private fields.
	(symtab_collector::release_symtabs): New method.
	(add_symtabs_to_list): Rename to...
	(symtab_collector::operator()): ... this and adjust.
	(collect_symtabs_from_filename): symtab_collector construction
	bits move to symtab_collector ctor.  Pass the symtab_collector
	object directly as callback.  Remove cleanups and use
	symtab_collector::release_symtabs instead.
	(collect_symbols): Delete.
	(add_matching_symbols_to_info): Use lambdas.
	* macrocmd.c (print_macro_callback): Delete.
	(info_macro_command): Use a lambda.
	(info_macros_command): Pass print_macro_definition as callable
	directly.
	(print_one_macro): Remove 'ignore' parameter.
	(macro_list_command): Adjust.
	* macrotab.c (macro_for_each_data::fn): Now a function_view.
	(macro_for_each_data::user_data): Delete field.
	(foreach_macro): Adjust to call the function_view.
	(macro_for_each): Adjust to use function_view as callback type.
	(foreach_macro_in_scope): Adjust to call the function_view.
	(macro_for_each_in_scope): Adjust to use function_view as callback
	type.
	* macrotab.h: Include "common/function-view.h".
	(macro_callback_fn): Declare a prototype instead of a pointer.
	Remove "user_data" parameter.
	(macro_for_each, macro_for_each_in_scope): Adjust to use
	function_view as callback type.
	* psymtab.c (partial_map_expand_apply)
	(psym_map_symtabs_matching_filename, recursively_search_psymtabs):
	Adjust to use function_view as callback type and to return bool.
	(psym_expand_symtabs_matching): Adjust to use function_view as
	callback types.
	* symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
	to use function_view as callback type and to return bool.
	(debug_qf_expand_symtabs_matching): Adjust to use function_view as
	callback types.
	* symfile.c (expand_symtabs_matching): Adjust to use function_view
	as callback types.
	* symfile.h: Include "common/function-view.h".
	(expand_symtabs_file_matcher_ftype)
	(expand_symtabs_symbol_matcher_ftype)
	(expand_symtabs_exp_notify_ftype): Remove "data" parameter and
	return bool.
	(quick_symbol_functions::map_symtabs_matching_filename)
	(quick_symbol_functions::expand_symtabs_matching): Adjust to use
	function_view as callback type and return bool.
	(expand_symtabs_matching): Adjust to use function_view as callback
	type.
	(maintenance_expand_name_matcher)
	(maintenance_expand_file_matcher): Delete.
	(maintenance_expand_symtabs): Use lambdas.
	* symtab.c (iterate_over_some_symtabs): Adjust to use
	function_view as callback types and return bool.
	(iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
	of a cleanup.
	(lookup_symtab_callback): Delete.
	(lookup_symtab): Use a lambda.
	(iterate_over_symbols): Adjust to use function_view as callback
	type.
	(struct search_symbols_data, search_symbols_file_matches)
	(search_symbols_name_matches): Delete.
	(search_symbols): Use a pair of lambdas.
	(struct add_name_data, add_macro_name, symbol_completion_matcher)
	(symtab_expansion_callback): Delete.
	(default_make_symbol_completion_list_break_on_1): Use lambdas.
	* symtab.h: Include "common/function-view.h".
	(iterate_over_some_symtabs): Adjust to use function_view as
	callback type and return bool.
	(iterate_over_symtabs): Adjust to use function_view as callback
	type.
	(symbol_found_callback_ftype): Remove 'data' parameter and return
	bool.
	(iterate_over_symbols): Adjust to use function_view as callback
	type.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
I wanted to pass a lambda to iterate_over_symtabs (see following
patch), so I converted it to function_view, and then the rest is
cascaded from that.

This gets rid of a bunch of single-use callback functions and
corresponding manually managed callback capture types
(add_partial_datum, search_symbols_data, etc.) in favor of letting the
compiler generate them for us by using lambdas with a capture.  In a
couple cases, it was more natural to convert the existing function
callbacks to function objects (i.e., operator(), e.g.,
decode_compound_collector).

gdb/ChangeLog:
yyyy-mm-dd  Pedro Alves  &lt;palves@redhat.com&gt;

	* ada-lang.c: Include "common/function-view.h".
	(ada_iterate_over_symbols): Adjust to use function_view as
	callback type.
	(struct add_partial_datum, ada_complete_symbol_matcher): Delete.
	(ada_make_symbol_completion_list): Use a lambda.
	(ada_exc_search_name_matches): Delete.
	(name_matches_regex): New.
	(ada_add_global_exceptions): Use a lambda and name_matches_regex.
	* compile/compile-c-support.c: Include "common/function-view.h".
	(print_one_macro): Change prototype to accept a ui_file pointer.
	(write_macro_definitions): Use a lambda.
	* dwarf2read.c: Include "common/function-view.h".
	(dw2_map_expand_apply, dw2_map_symtabs_matching_filename)
	(dw2_expand_symtabs_matching): Adjust to use function_view as
	callback type.
	* language.h: Include "common/function-view.h".
	(struct language_defn) &lt;la_iterate_over_symbols&gt;: Adjust to use
	function_view as callback type.
	(LA_ITERATE_OVER_SYMBOLS): Remove DATA parameter.
	* linespec.c: Include "common/function-view.h".
	(collect_info::add_symbol): New method.
	(struct symbol_and_data_callback, iterate_inline_only, struct
	symbol_matcher_data, iterate_name_matcher): Delete.
	(iterate_over_all_matching_symtabs): Adjust to use function_view
	as callback type and lambdas.
	(iterate_over_file_blocks): Adjust to use function_view as
	callback type.
	(decode_compound_collector): Now a class with private fields.
	(decode_compound_collector::release_symbols): New method.
	(collect_one_symbol): Rename to...
	(decode_compound_collector::operator()): ... this and adjust.
	(lookup_prefix_sym): decode_compound_collector construction bits
	move to decode_compound_collector ctor.  Pass the
	decode_compound_collector object directly as callback.  Remove
	cleanups and use decode_compound_collector::release_symbols
	instead.
	(symtab_collector): Now a class with private fields.
	(symtab_collector::release_symtabs): New method.
	(add_symtabs_to_list): Rename to...
	(symtab_collector::operator()): ... this and adjust.
	(collect_symtabs_from_filename): symtab_collector construction
	bits move to symtab_collector ctor.  Pass the symtab_collector
	object directly as callback.  Remove cleanups and use
	symtab_collector::release_symtabs instead.
	(collect_symbols): Delete.
	(add_matching_symbols_to_info): Use lambdas.
	* macrocmd.c (print_macro_callback): Delete.
	(info_macro_command): Use a lambda.
	(info_macros_command): Pass print_macro_definition as callable
	directly.
	(print_one_macro): Remove 'ignore' parameter.
	(macro_list_command): Adjust.
	* macrotab.c (macro_for_each_data::fn): Now a function_view.
	(macro_for_each_data::user_data): Delete field.
	(foreach_macro): Adjust to call the function_view.
	(macro_for_each): Adjust to use function_view as callback type.
	(foreach_macro_in_scope): Adjust to call the function_view.
	(macro_for_each_in_scope): Adjust to use function_view as callback
	type.
	* macrotab.h: Include "common/function-view.h".
	(macro_callback_fn): Declare a prototype instead of a pointer.
	Remove "user_data" parameter.
	(macro_for_each, macro_for_each_in_scope): Adjust to use
	function_view as callback type.
	* psymtab.c (partial_map_expand_apply)
	(psym_map_symtabs_matching_filename, recursively_search_psymtabs):
	Adjust to use function_view as callback type and to return bool.
	(psym_expand_symtabs_matching): Adjust to use function_view as
	callback types.
	* symfile-debug.c (debug_qf_map_symtabs_matching_filename): Adjust
	to use function_view as callback type and to return bool.
	(debug_qf_expand_symtabs_matching): Adjust to use function_view as
	callback types.
	* symfile.c (expand_symtabs_matching): Adjust to use function_view
	as callback types.
	* symfile.h: Include "common/function-view.h".
	(expand_symtabs_file_matcher_ftype)
	(expand_symtabs_symbol_matcher_ftype)
	(expand_symtabs_exp_notify_ftype): Remove "data" parameter and
	return bool.
	(quick_symbol_functions::map_symtabs_matching_filename)
	(quick_symbol_functions::expand_symtabs_matching): Adjust to use
	function_view as callback type and return bool.
	(expand_symtabs_matching): Adjust to use function_view as callback
	type.
	(maintenance_expand_name_matcher)
	(maintenance_expand_file_matcher): Delete.
	(maintenance_expand_symtabs): Use lambdas.
	* symtab.c (iterate_over_some_symtabs): Adjust to use
	function_view as callback types and return bool.
	(iterate_over_symtabs): Likewise.  Use unique_xmalloc_ptr instead
	of a cleanup.
	(lookup_symtab_callback): Delete.
	(lookup_symtab): Use a lambda.
	(iterate_over_symbols): Adjust to use function_view as callback
	type.
	(struct search_symbols_data, search_symbols_file_matches)
	(search_symbols_name_matches): Delete.
	(search_symbols): Use a pair of lambdas.
	(struct add_name_data, add_macro_name, symbol_completion_matcher)
	(symtab_expansion_callback): Delete.
	(default_make_symbol_completion_list_break_on_1): Use lambdas.
	* symtab.h: Include "common/function-view.h".
	(iterate_over_some_symtabs): Adjust to use function_view as
	callback type and return bool.
	(iterate_over_symtabs): Adjust to use function_view as callback
	type.
	(symbol_found_callback_ftype): Remove 'data' parameter and return
	bool.
	(iterate_over_symbols): Adjust to use function_view as callback
	type.
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce gdb::function_view</title>
<updated>2017-02-22T14:43:34+00:00</updated>
<author>
<name>Pedro Alves</name>
<email>palves@redhat.com</email>
</author>
<published>2017-02-22T14:43:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/binutils-gdb.git/commit/?id=09179d2e4e49b85fd200fa2090bee1d126adb132'/>
<id>09179d2e4e49b85fd200fa2090bee1d126adb132</id>
<content type='text'>
This commit adds new function_view type.  This type holds a a
non-owning reference to a callable.  It is meant to be used as
callback type of functions, instead of using C-style pair of function
pointer and 'void *data' arguments.  function_view allows passing
references to stateful function objects / lambdas w/ captures as
callbacks efficiently, while function pointer + 'void *' does not.

See the intro in the new function-view.h header for more.

Unit tests included.  I added a new gdb/unittests/ subdir this time,
instead of putting the tests under gdb/.  If this is agreed to be a
good idea, some of the current selftests that exercise gdb/common/
things but live in gdb/ could move here (e.g., gdb/utils-selftests.c).

gdb/ChangeLog:
yyyy-mm-dd  Pedro Alves  &lt;palves@redhat.com&gt;

	* Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
	(SFILES): Add $(SUBDIR_UNITTEST_SRCS).
	(COMMON_OBS): Add $(SUBDIR_UNITTEST_OBS).
	(%.o) &lt;unittests/%.c&gt;: New pattern.
	(INIT_FILES): Add $(SUBDIR_UNITTESTS_SRCS).
	* common/function-view.h: New file.
	* unittests/function-view-selftests.c: New file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds new function_view type.  This type holds a a
non-owning reference to a callable.  It is meant to be used as
callback type of functions, instead of using C-style pair of function
pointer and 'void *data' arguments.  function_view allows passing
references to stateful function objects / lambdas w/ captures as
callbacks efficiently, while function pointer + 'void *' does not.

See the intro in the new function-view.h header for more.

Unit tests included.  I added a new gdb/unittests/ subdir this time,
instead of putting the tests under gdb/.  If this is agreed to be a
good idea, some of the current selftests that exercise gdb/common/
things but live in gdb/ could move here (e.g., gdb/utils-selftests.c).

gdb/ChangeLog:
yyyy-mm-dd  Pedro Alves  &lt;palves@redhat.com&gt;

	* Makefile.in (SUBDIR_UNITTESTS_SRCS, SUBDIR_UNITTESTS_OBS): New.
	(SFILES): Add $(SUBDIR_UNITTEST_SRCS).
	(COMMON_OBS): Add $(SUBDIR_UNITTEST_OBS).
	(%.o) &lt;unittests/%.c&gt;: New pattern.
	(INIT_FILES): Add $(SUBDIR_UNITTESTS_SRCS).
	* common/function-view.h: New file.
	* unittests/function-view-selftests.c: New file.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix gas/all/err-sizeof.s for cris*-*-*</title>
<updated>2017-02-22T13:17:33+00:00</updated>
<author>
<name>Hans-Peter Nilsson</name>
<email>hp@bitrange.com</email>
</author>
<published>2017-02-22T13:17:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/binutils-gdb.git/commit/?id=25890fc2395cf91526d3d2ba29578ac750e1b006'/>
<id>25890fc2395cf91526d3d2ba29578ac750e1b006</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Skip ARM vcmp-noprefix-imm test on non-ELF targets</title>
<updated>2017-02-22T12:00:01+00:00</updated>
<author>
<name>Nick Clifton</name>
<email>nickc@redhat.com</email>
</author>
<published>2017-02-22T11:57:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/binutils-gdb.git/commit/?id=5ffbd927b9187ef5d719b83b1df3182a5fc10958'/>
<id>5ffbd927b9187ef5d719b83b1df3182a5fc10958</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>gas: require an operand to .startof.()/.sizeof.()</title>
<updated>2017-02-22T09:37:52+00:00</updated>
<author>
<name>Jan Beulich</name>
<email>jbeulich@novell.com</email>
</author>
<published>2017-02-22T09:37:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/binutils-gdb.git/commit/?id=b0c53498a383cd5915786b0c321da48054e122ef'/>
<id>b0c53498a383cd5915786b0c321da48054e122ef</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>aarch64: actually copy first operand in convert_bfc_to_bfm()</title>
<updated>2017-02-22T09:36:05+00:00</updated>
<author>
<name>Jan Beulich</name>
<email>jbeulich@novell.com</email>
</author>
<published>2017-02-22T09:36:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/binutils-gdb.git/commit/?id=11648de5a91658326748dea1e4965559e9bd7a0f'/>
<id>11648de5a91658326748dea1e4965559e9bd7a0f</id>
<content type='text'>
Commit 93562a343c ("[AArch64] PR target/20666, fix wrong encoding of
new introduced BFC pseudo") changed the destination operand to 0,
making the whole function invocation a no-op. We really want to copy
operand 0 (a register) to operand 1 (an immediate before coming here),
even if right now this likely is only a latent bug.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 93562a343c ("[AArch64] PR target/20666, fix wrong encoding of
new introduced BFC pseudo") changed the destination operand to 0,
making the whole function invocation a no-op. We really want to copy
operand 0 (a register) to operand 1 (an immediate before coming here),
even if right now this likely is only a latent bug.
</pre>
</div>
</content>
</entry>
<entry>
<title>Automatic date update in version.in</title>
<updated>2017-02-22T00:00:36+00:00</updated>
<author>
<name>GDB Administrator</name>
<email>gdbadmin@sourceware.org</email>
</author>
<published>2017-02-22T00:00:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/binutils-gdb.git/commit/?id=e025ae68802a7cf217254c13e314f01247f74404'/>
<id>e025ae68802a7cf217254c13e314f01247f74404</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a regression by: Code cleanup: Split dwarf2_ranges_read to a callback</title>
<updated>2017-02-21T23:13:03+00:00</updated>
<author>
<name>Jan Kratochvil</name>
<email>jan.kratochvil@redhat.com</email>
</author>
<published>2017-02-21T23:13:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/binutils-gdb.git/commit/?id=58fdfd2c4a0d2a68c3c3cbe3a83a0386526a2b72'/>
<id>58fdfd2c4a0d2a68c3c3cbe3a83a0386526a2b72</id>
<content type='text'>
On some Fedora 23 systems an internal error has been printed.

gdb/ChangeLog
2017-02-21  Jan Kratochvil  &lt;jan.kratochvil@redhat.com&gt;

	* dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On some Fedora 23 systems an internal error has been printed.

gdb/ChangeLog
2017-02-21  Jan Kratochvil  &lt;jan.kratochvil@redhat.com&gt;

	* dwarf2read.c (dwarf2_record_block_ranges): Add forgotten BASEADDR.
</pre>
</div>
</content>
</entry>
<entry>
<title>PowerPC ld segfault on script discarding dynamic sections</title>
<updated>2017-02-21T22:14:41+00:00</updated>
<author>
<name>Alan Modra</name>
<email>amodra@gmail.com</email>
</author>
<published>2017-02-21T21:40:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/binutils-gdb.git/commit/?id=6528b6eba85f044667876a2ad77d4612a9e5fc65'/>
<id>6528b6eba85f044667876a2ad77d4612a9e5fc65</id>
<content type='text'>
bfd/
	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault
	on .got or .plt output section being discarded by script.
	* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise.  Move
	vxworks splt temp.
gold/
	* powerpc.cc (Target_powerpc::make_iplt_section): Check that
	output_section exists before attempting add_output_section_data.
	(Target_powerpc::make_brlt_section): Likewise.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
bfd/
	* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Don't segfault
	on .got or .plt output section being discarded by script.
	* elf32-ppc.c (ppc_elf_finish_dynamic_sections): Likewise.  Move
	vxworks splt temp.
gold/
	* powerpc.cc (Target_powerpc::make_iplt_section): Check that
	output_section exists before attempting add_output_section_data.
	(Target_powerpc::make_brlt_section): Likewise.
</pre>
</div>
</content>
</entry>
</feed>
