* dwarf2read.c (queue_and_load_all_dwo_tus): New function.
	(queue_and_load_dwo_tu): New function.
	(lookup_dwo_signatured_type): Set per_cu.tu_read.
	(maybe_queue_comp_unit): Rename this_cu argument to dependent_cu.
	Make dependent_cu optional.
	(dw2_do_instantiate_symtab): If we just loaded a CU from a DWO,
	and an older .gdb_index is in use, queue and load all its TUs too.

	testsuite/
	* gdb.base/enumval.c (ZERO): New enum value.
	(main): Use it
	* gdb.base/enumval.exp: Test ability to print ZERO.
	* dwarf2read.c (queue_and_load_all_dwo_tus): New function.
	(queue_and_load_dwo_tu): New function.
	(lookup_dwo_signatured_type): Set per_cu.tu_read.
	(maybe_queue_comp_unit): Rename this_cu argument to dependent_cu.
	Make dependent_cu optional.
	(dw2_do_instantiate_symtab): If we just loaded a CU from a DWO,
	and an older .gdb_index is in use, queue and load all its TUs too.

	testsuite/
	* gdb.base/enumval.c (ZERO): New enum value.
	(main): Use it
	* gdb.base/enumval.exp: Test ability to print ZERO.
	* gdb.python/py-events.py (exit_handler): Verify we get the expected
	event.
	(continue_handler, new_objfile_handler): Ditto.
	(test_events): Rename command to "test-events".
	(test_newobj_events): Rename command to "test-objfile-events".
	* gdb.python/py-events.exp: Update.
	* gdb.python/py-evsignal.exp: Update.
	* gdb.python/py-evthreads.exp: Update.
	* gdb.python/py-events.py (exit_handler): Verify we get the expected
	event.
	(continue_handler, new_objfile_handler): Ditto.
	(test_events): Rename command to "test-events".
	(test_newobj_events): Rename command to "test-objfile-events".
	* gdb.python/py-events.exp: Update.
	* gdb.python/py-evsignal.exp: Update.
	* gdb.python/py-evthreads.exp: Update.
daily update
2013-09-05  Ricard Wanderlof  <ricardw@axis.com>

	* MAINTAINERS: Add myself to Write After Approval.
[PR tui/15933] TUI shows registers of the wrong frame the first time

I've stumbled on this by inspection.

When the TUI's register window is first displayed, it always shows the
registers of the current frame, instead of of the selected frame,
which is obviously bogus.

E.g.,

 (gdb) step             # into "function"
 (gdb) up
 (gdb) tui reg general  # or C-x 2, C-x 2

shows the registers of "function", rather than the caller's.

A subsequent:

 (gdb) frame

or

 (gdb) down
 (gdb) up

can be used as workaround to "fix" it.

gdb/
2013-09-05  Pedro Alves  <palves@redhat.com>

	PR tui/15933
	* tui/tui-regs.c (tui_show_registers): Show registers of the
	selected frame, not the current frame.
[PR tui/15933] TUI shows registers of the wrong frame the first time

I've stumbled on this by inspection.

When the TUI's register window is first displayed, it always shows the
registers of the current frame, instead of of the selected frame,
which is obviously bogus.

E.g.,

 (gdb) step             # into "function"
 (gdb) up
 (gdb) tui reg general  # or C-x 2, C-x 2

shows the registers of "function", rather than the caller's.

A subsequent:

 (gdb) frame

or

 (gdb) down
 (gdb) up

can be used as workaround to "fix" it.

gdb/
2013-09-05  Pedro Alves  <palves@redhat.com>

	PR tui/15933
	* tui/tui-regs.c (tui_show_registers): Show registers of the
	selected frame, not the current frame.
[TUI] Rewrite register-changed decision bits.

I stumbled on the TUI's register-changed decision code before (used to
decided whether the register should be highlighted in the register
window), for it is trying to compare all the different possible states
and contents or previous/current register contents, and as such may
need updating whenever the value machinery changes to have more state.
It's just much simpler and more future proof to compare the
previous/current printable representation instead.

The bit in tui_register_format that returns early if the register has
no name gets a bit in the way of the new prototype (what to return in
that case? NULL, empty string, etc.?).  Fortunately, that check isn't
really necessary.  All the callers will have already skipped unnamed
registers.

gdb/
2013-09-05  Pedro Alves  <palves@redhat.com>

	* tui/tui-regs.c (tui_register_format): Don't look at the
	register's name here.  Return string representing register
	value instead of storing it in the data element.
	(tui_get_register): Compare register string representations
	instead of register value states and contents.
[TUI] Rewrite register-changed decision bits.

I stumbled on the TUI's register-changed decision code before (used to
decided whether the register should be highlighted in the register
window), for it is trying to compare all the different possible states
and contents or previous/current register contents, and as such may
need updating whenever the value machinery changes to have more state.
It's just much simpler and more future proof to compare the
previous/current printable representation instead.

The bit in tui_register_format that returns early if the register has
no name gets a bit in the way of the new prototype (what to return in
that case? NULL, empty string, etc.?).  Fortunately, that check isn't
really necessary.  All the callers will have already skipped unnamed
registers.

gdb/
2013-09-05  Pedro Alves  <palves@redhat.com>

	* tui/tui-regs.c (tui_register_format): Don't look at the
	register's name here.  Return string representing register
	value instead of storing it in the data element.
	(tui_get_register): Compare register string representations
	instead of register value states and contents.
Remove use of deprecated_command_loop_hook.

  https://sourceware.org/ml/insight/2013-q3/msg00029.html

gdb/gdbtk/ChangeLog

        * generic/gdbtk-interp.c (gdbtk_command_loop): Change signature to
        take interpreter cookie (ignored), mention parameter in comment.
        (gdb_interpreter_resume): Remove use of
        deprecated_command_loop_hook.
        (_initialize_gdbtk_interp): Fill in logging proc and command loop
        proc pointers.
2013-09-05  Muhammad Bilal  <mbilal@codesourcery.com>

	* symfile.c (add_symbol_file_command): Remove trailing
	 whitespaces and blank line after comment.
Move comment about old_regs next to the definition.

gdb/gdbtk/ChangeLog

        * generic/gdbk-register.c (old_regs): Move the comment about this
        variable next to the definition.
Rework value_of_register in terms of value_of_register_lazy.

I noticed that value_of_register (used for getting values _of_
registers ($pc, $rax, etc.), rather than variables _in_ registers),
kind of builds a franken-value, by propagating the lval and address of
the frame register value, but not the entire location, like necessary
for lval_computed (if some unwinder ever returns that, the resulting
value will misbehave).  This gets in the way of printing optimized out
(not saved) lval_registers differently from other optimized out
values, as it doesn't make sure the resulting value is lval_register.

I started out by just doing something like:

-  VALUE_LVAL (reg_val) = lval;
-  set_value_address (reg_val, addr);
+  VALUE_LVAL (reg_val) = lval_register;

... just like value_of_register_lazy below.  That's sufficient to fix
the issue.

Then I noticed this is using frame_register, which we should avoid
nowadays, for it returns elements of a value, but not all that's
sometimes necessary (unavailable-ness is all or nothing with it, for
instance), and considered using get_frame_register_value instead
(which returns a struct value), and value_contents_copy, just like
value_fetch_lazy's handling of lval_register.  But at that point, I
realized we might as well just defer all that work to
value_of_register_lazy/value_fetch_lazy...

Doing it this way adds a frame_find_by_id lookup (from within
value_fetch_lazy), while we already have a frame pointer handy in
value_of_register.  I considered factoring out the lazy register
fetching out of value_fetch_lazy, into a function that takes a frame
pointer and call that instead, avoiding the lookup, but then it looked
like too much complication for an early optimization, and went back to
keeping it simple.

Tested on x86_64 Fedora 17.

gdb/
2013-09-05  Pedro Alves  <palves@redhat.com>

	* findvar.c (value_of_register): Rework in terms of
	value_of_register_lazy.
Rework value_of_register in terms of value_of_register_lazy.

I noticed that value_of_register (used for getting values _of_
registers ($pc, $rax, etc.), rather than variables _in_ registers),
kind of builds a franken-value, by propagating the lval and address of
the frame register value, but not the entire location, like necessary
for lval_computed (if some unwinder ever returns that, the resulting
value will misbehave).  This gets in the way of printing optimized out
(not saved) lval_registers differently from other optimized out
values, as it doesn't make sure the resulting value is lval_register.

I started out by just doing something like:

-  VALUE_LVAL (reg_val) = lval;
-  set_value_address (reg_val, addr);
+  VALUE_LVAL (reg_val) = lval_register;

... just like value_of_register_lazy below.  That's sufficient to fix
the issue.

Then I noticed this is using frame_register, which we should avoid
nowadays, for it returns elements of a value, but not all that's
sometimes necessary (unavailable-ness is all or nothing with it, for
instance), and considered using get_frame_register_value instead
(which returns a struct value), and value_contents_copy, just like
value_fetch_lazy's handling of lval_register.  But at that point, I
realized we might as well just defer all that work to
value_of_register_lazy/value_fetch_lazy...

Doing it this way adds a frame_find_by_id lookup (from within
value_fetch_lazy), while we already have a frame pointer handy in
value_of_register.  I considered factoring out the lazy register
fetching out of value_fetch_lazy, into a function that takes a frame
pointer and call that instead, avoiding the lookup, but then it looked
like too much complication for an early optimization, and went back to
keeping it simple.

Tested on x86_64 Fedora 17.

gdb/
2013-09-05  Pedro Alves  <palves@redhat.com>

	* findvar.c (value_of_register): Rework in terms of
	value_of_register_lazy.
2013-09-05  Tristan Gingold  <gingold@adacore.com>

	* MAINTAINERS: Remove avr maintainership.
dwarf2loc.c: minor cleanup. don't print integer with paddress.

A couple years ago, dwarf_expr_fetch used to return a CORE_ADDR.  It
was made to return a ULONGEST since, and the 'dwarf_regnum' local
adjusted accordingly, but, we kept printing it with paddress.
gdbarch_dwarf2_reg_to_regnum takes the register number as 'int', so
there's really no point in using ULONGEST/pulongest either.

gdb/
2013-09-05  Pedro Alves  <palves@redhat.com>

	* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): 'dwarf_regnum'
	local is now int instead of ULONGEST.  Print it with %d
	instead of paddress.
dwarf2loc.c: minor cleanup. don't print integer with paddress.

A couple years ago, dwarf_expr_fetch used to return a CORE_ADDR.  It
was made to return a ULONGEST since, and the 'dwarf_regnum' local
adjusted accordingly, but, we kept printing it with paddress.
gdbarch_dwarf2_reg_to_regnum takes the register number as 'int', so
there's really no point in using ULONGEST/pulongest either.

gdb/
2013-09-05  Pedro Alves  <palves@redhat.com>

	* dwarf2loc.c (dwarf2_evaluate_loc_desc_full): 'dwarf_regnum'
	local is now int instead of ULONGEST.  Print it with %d
	instead of paddress.
OBVIOUS: Correct the date in a previous ChangeLog entry.

I used the wrong date in a recent ChangeLog entry, fixed with this commit.
Remove deprecated_command_loop_hook.

  https://sourceware.org/ml/gdb-patches/2013-09/msg00174.html

gdb/ChangeLog

        * gdb/defs.h (deprecated_command_loop_hook): Remove, including
        references in comments.
        * gdb/interps.c (current_interp_command_loop): No longer use
        deprecated_command_loop_hook.
        (clear_interpreter_hooks): Remove deprecated_command_loop_hook
        setup.
        * gdb/top.c (deprecated_command_loop_hook): Remove.