public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master:  * inflow.c (kill_command): Moved to infcmd.c.
@ 2009-05-19 14:02 jkratoch
  0 siblings, 0 replies; only message in thread
From: jkratoch @ 2009-05-19 14:02 UTC (permalink / raw)
  To: archer-commits

The branch, master has been updated
       via  d3581cc361cddeba1a2bb4dfcc07ae52846fdcec (commit)
       via  fea60181045510ae2a5f5f82c3d1f9b94021c91e (commit)
       via  fbde8f3b4092cbb5b2b0949f38964f1a78e57e03 (commit)
       via  6a45bb1966ada854fbc2f42001f308ace42e165c (commit)
       via  b33baafdbc0140d537006be1e9e5f3719faaafcd (commit)
       via  dd5b39744afe2ae814488804379699b19ad809b3 (commit)
       via  4ecd8c725ac1da53920e6430c601bd58af223908 (commit)
       via  a7cd23481cffe190d06020fc2908e672af65a448 (commit)
       via  f14f7c3ddf91e1f3c5d1184e7068dd2be9008cec (commit)
       via  93dc8157a36b4d5b79d703654e1e8ed090432e70 (commit)
       via  b9d071b6ed95c824567959c3d00692ca8a4917fd (commit)
       via  49a68e872815777f810fbcc5e043c991f542bf0b (commit)
       via  3c35d8466c33badf768ae27dd3f2dffa280ac3cd (commit)
       via  072b48a4923b53a5a06ab933b856fae18f537cfd (commit)
       via  78ab77cbbf89a3acc2cdefc830c376ef9c0bba93 (commit)
       via  381c31d5ecdd998c2d1c2712f24bca3bf612b6eb (commit)
       via  82aa9a15b4bc6eb8545d538d8250e48b4071f5a9 (commit)
       via  13f7d57aaa63e41a04050e8bbec0589794d5aed1 (commit)
       via  19912ce42274f411351d5b02eaf8054c6546e669 (commit)
       via  5765f192f88b116456631658d3ec6b6dc23eb72b (commit)
       via  b151a8f51ea9245b16ebb34bb85a56ef73e85f42 (commit)
       via  e8ce81041a240f18b18855c3fa89d030724e4f06 (commit)
       via  02ec7939f53d1b8c1636c162943be3247df079f5 (commit)
       via  78379b2685dcfe35589e0da118c7c6a724291fbb (commit)
       via  66fb5ff48d457ea17c9c9a87007f3b926eb49c4b (commit)
       via  703aa092828b9cac2986fd9b803300ef2dc285f0 (commit)
      from  44bb4ddfffe0e0ad534fbf191b19cd48f62bf8e0 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit d3581cc361cddeba1a2bb4dfcc07ae52846fdcec
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Tue May 19 10:08:18 2009 +0000

    	* inflow.c (kill_command): Moved to infcmd.c.
    	(_initialize_inflow): Don't add the "kill" command or clear
    	inferior_ptid here.
    	* infcmd.c (kill_command): Moved here from inflow.c.
    	(_initialize_infcmd): Add the "kill" command here.

commit fea60181045510ae2a5f5f82c3d1f9b94021c91e
Author: DJ Delorie <dj@delorie.com>
Date:   Tue May 19 03:02:30 2009 +0000

    merge from gcc

commit fbde8f3b4092cbb5b2b0949f38964f1a78e57e03
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Tue May 19 02:46:45 2009 +0000

    	* fork-child.c: Don't include frame.h.  Include terminal.h.
    	(fork_inferior): Call new_tty_postfork after forking adn adding
    	the child to the inferior list.
    	* inferior.h (new_tty_prefork, gdb_has_a_terminal): Don't declare
    	here.
    	* inflow.c (struct terminal_info): Remove const qualifier from
    	`run_terminal' field.
    	(inferior_thisrun_terminal): Tweak comment.
    	(inflow_inferior_exit): Release the `run_terminal' field.
    	(copy_terminal_info): New function.
    	(new_tty_postfork): New function.
    	* terminal.h (new_tty_prefork, new_tty, new_tty_postfork,
    	(copy_terminal_info, gdb_has_a_terminal, gdb_setpgid): Declare.
    	* inf-ptrace.c: Include terminal.h.
    	(inf_ptrace_follow_fork): Copy the parent's terminal info to the
    	child.
    	* linux-nat.c: Include terminal.h.
    	(linux_child_follow_fork): Copy the parent's terminal info to the
    	child.
    	* inf-ttrace.c: Include terminal.h.
    	(inf_ttrace_follow_fork): Copy the parent's terminal info to the
    	child.

commit 6a45bb1966ada854fbc2f42001f308ace42e165c
Author: Alexandre Oliva <aoliva@redhat.com>
Date:   Tue May 19 01:11:12 2009 +0000

    PR other/40159
    * Makefile.tpl (all): Don't assume gcc-bootstrap and
    gcc-no-bootstrap are mutually exclusive.
    * Makefile.in: Rebuilt.

commit b33baafdbc0140d537006be1e9e5f3719faaafcd
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Tue May 19 00:26:48 2009 +0000

    Forgot to check in the ChangeLog entry for the previous change.  Here goes...
    
    2009-05-19  Pedro Alves  <pedro@codesourcery.com>
    
    	* breakpoint.c (insert_breakpoints, breakpoint_init_inferior)
    	(update_global_location_list): Use gdbarch_has_global_breakpoints
    	instead of gdbarch_has_global_solist and
    	target_supports_multi_process.
    	* dicos-tdep.c (dicos_init_abi): Set
    	gdbarch_has_global_breakpoints.
    	* gdbarch.sh (has_global_solist): Update comment.
    	(has_global_breakpoints): New.
    	* remote.c (remote_start_remote): Use
    	gdbarch_has_global_breakpoints instead of
    	gdbarch_has_global_solist.
    	* target.c (target_detach): Use gdbarch_has_global_breakpoints
    	instead of gdbarch_has_global_solist.
    	* infcmd.c (attach_command): Use gdbarch_has_global_solist instead
    	of target_supports_multi_process.

commit dd5b39744afe2ae814488804379699b19ad809b3
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Tue May 19 00:23:49 2009 +0000

    	* breakpoint.c (insert_breakpoints, breakpoint_init_inferior)
    	(update_global_location_list): Use gdbarch_has_global_breakpoints
    	instead of gdbarch_has_global_solist and
    	target_supports_multi_process.
    	* dicos-tdep.c (dicos_init_abi): Set
    	gdbarch_has_global_breakpoints.
    	* gdbarch.sh (has_global_solist): Update comment.
    	(has_global_breakpoints): New.
    	* remote.c (remote_start_remote): Use
    	gdbarch_has_global_breakpoints instead of
    	gdbarch_has_global_solist.
    	* target.c (target_detach): Use gdbarch_has_global_breakpoints
    	instead of gdbarch_has_global_solist.
    	* infcmd.c (attach_command): Use gdbarch_has_global_solist instead
    	of target_supports_multi_process.

commit 4ecd8c725ac1da53920e6430c601bd58af223908
Author: Alexandre Oliva <aoliva@redhat.com>
Date:   Tue May 19 00:01:50 2009 +0000

    PR other/40159
    * Makefile.tpl (all): Don't end with unconditional success.
    * Makefile.in: Rebuilt.

commit a7cd23481cffe190d06020fc2908e672af65a448
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Tue May 19 00:00:05 2009 +0000

    daily update

commit f14f7c3ddf91e1f3c5d1184e7068dd2be9008cec
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Tue May 19 00:00:03 2009 +0000

    *** empty log message ***

commit 93dc8157a36b4d5b79d703654e1e8ed090432e70
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Mon May 18 22:57:11 2009 +0000

    2009-05-18  Paul Pluzhnikov  <ppluzhnikov@google.com>
    
    	* objc-lang.c (find_methods): Plug a small memory leak.

commit b9d071b6ed95c824567959c3d00692ca8a4917fd
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Mon May 18 19:08:10 2009 +0000

    	* solib-svr4.c: Include observer.h.
    	(debug_base, debug_loader_offset_p, debug_loader_offset)
    	(debug_loader_name, main_lm_addr): Move these globals...
    	(struct svr4_info): ... into this new structure.
    	(svr4_info_p): New typedef.
    	(svr4_info): New global.
    	(get_svr4_info, remove_svr4_info, solib_svr4_inferior_exit): New
    	functions.
    	(locate_base, solib_svr4_r_map, solib_svr4_r_brk)
    	(solib_svr4_r_ldsomap): Add svr4_info argument.  Adjust to
    	per-inferior svr4.
    	(open_symbol_file_object): Adjust to per-inferior svr4.
    	(svr4_default_sos, svr4_current_sos, svr4_fetch_objfile_link_map):
    	Ditto.
    	(enable_break): Add svr4_info argument.  Adjust to per-inferior
    	svr4.
    	(enable_break, svr4_solib_create_inferior_hook, svr4_clear_solib):
    	Adjust to per-inferior svr4.
    	(_initialize_svr4_solib): Install the solib_svr4_inferior_exit
    	observer.

commit 49a68e872815777f810fbcc5e043c991f542bf0b
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Mon May 18 17:11:24 2009 +0000

    	* linux-nat.h (linux_proc_get_tgid): Declare.
    	* linux-nat.c (linux_proc_get_tgid): New.
    	* linux-thread-db.c (struct thread_db_info): New field
    	`need_stale_parent_threads_check'.
    	(add_thread_db_info): Set it.
    	(find_new_threads_callback): Ignore stale fork parent threads.
    	(thread_db_resume): New.
    	(init_thread_db_ops): Install thread_db_resume.

commit 3c35d8466c33badf768ae27dd3f2dffa280ac3cd
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Mon May 18 14:07:15 2009 +0000

    	* fork-child.c (fork_inferior): Only reset the thread list if this
    	is the first inferior.
    	(startup_inferior): If the target support multi-process, tell it
    	to resume only the new process.
    	* linux-nat.c (num_lwps): Delete global.
    	(purge_lwp_list): New function.
    	(num_lwps): New function.
    	(add_lwp, delete_lwp): Adjust.
    	(ptid_match): New.
    	(iterate_over_lwps): Add filter argument.  Handle it.
    	(linux_nat_attach): Remove FIXME note.
    	(linux_nat_detach): Adjust to iterate over threads of the inferior
    	we're detaching from.  Adjust to num_lwps being a function.  Don't
    	assume the head of the lwp list is the main thread of the process
    	we're detaching from.  Don't destroy the LWP list.
    	(resume_callback): Add debug output.
    	(linux_nat_resume): Handle resuming a single inferior.  Allow a
    	wildcard resume in non-stop mode.
    	(linux_handle_extended_wait): Don't assume inferior_ptid is the
    	correct inferior of the parent LWP.
    	(status_callback): Also check lp->waitstatus.
    	(select_event_lwp): Add new filter parameter.  Handle it.
    	(linux_nat_filter_event): Adjust to num_lwps being a function.
    	(linux_nat_wait_1): When adding the first lwp of the inferior, use
    	an is_lwp check instead of checking for the number of lwps.
    	(linux_nat_wait_1): Handle waiting for a specific tgid.  Handle
    	pending process exit statuses.
    	(linux_nat_mourn_inferior): Don't destroy all the LWP info.
    	Instead delete LWPs of the inferior that we're mourning.  Don't
    	unregister from the event loop here.
    	(linux_nat_pid_to_str): Use `num_lwps'.
    	(linux_nat_make_corefile_notes): Adjust to walk over lwps of a
    	single inferior.
    	(linux_nat_is_async_p): Check if async was masked out.
    	(linux_multi_process): New global.
    	(linux_nat_supports_multi_process): New.
    	(linux_nat_stop_lwp): Remove LWP filtering.  It is done by the
    	caller.
    	(linux_nat_stop): Adjust to make iterate_over_lwps itself do the
    	LWP filtering.
    	(linux_nat_close): New.
    	(linux_nat_add_target): Register linux_nat_close and
    	linux_nat_supports_multi_process.
    	* linux-nat.h (iterate_over_lwps): Add filter argument.
    	* linux-thread-db.c (thread_db_handle): Delete.
    	(proc_handle, thread_agent, td_init_p, td_ta_new_p)
    	(td_ta_map_id2thr_p, td_ta_map_lwp2thr_p, td_ta_thr_iter_p)
    	(td_ta_event_addr_p, td_ta_set_event_p, td_ta_event_getmsg_p)
    	(td_thr_validate_p, td_thr_get_info_p, td_thr_event_enable_p)
    	(td_thr_tls_get_addr_p, td_create_bp_addr, td_death_bp_addr): No
    	longer globals, moved to...
    	(struct thread_db_info): ... this new structure.
    	(thread_db_list): New.
    	(add_thread_db_info, get_thread_db_info, delete_thread_db_info):
    	New.
    	(have_threads_callback): Filter out threads of all inferiors but
    	the one specified by the ARGS argument.
    	(have_threads): Add ptid argument specifying the inferior we're
    	interested in.  Handle it.
    	(struct thread_get_info_inout): New.
    	(thread_get_info_callback, thread_from_lwp): Adjust to use it.
    	(thread_db_attach_lwp): Check that inferior of the passed in
    	thread is using thread-db.  Adjust.
    	(enable_thread_event): Remove thread_agent parameter.  Instead,
    	get it from the per-inferior thread-db info.
    	(dladdr_to_soname): Move higher up.
    	(enable_thread_event_reporting): Adjust to use per-inferior
    	thread-db info.
    	(try_thread_db_load_1): Replace `handle' parameter by a
    	thread_db_info parameter.  Adjust to use per-inferior thread-db
    	info.
    	(try_thread_db_load): Adjust to use per-inferior thread-db info.
    	(thread_db_load, disable_thread_event_reporting): Ditto.
    	(check_for_thread_db): Remove conditional reporting of which
    	libthread_db is in use.
    	(thread_db_new_objfile): Add comment about inferior_ptid.
    	(attach_thread): Adjust to use per-inferior thread-db info.
    	(thread_db_detach): Adjust to use per-inferior thread-db info.
    	Remove thread event breakpoints of the current inferior.  Only
    	unpush the thread-db target if there are no more processes using
    	it.
    	(check_event): Adjust to use per-inferior thread-db info.
    	(thread_db_wait): Adjust to use per-inferior thread-db info.  Only
    	unpush the thread-db target if there are no more processes using
    	it.
    	(thread_db_mourn_inferior): Adjust to use per-inferior thread-db
    	info.  Mark breakpoints of the current inferior out before
    	deleting them.  Only unpush the thread-db target if there are no
    	more processes using it.
    	(find_new_threads_callback): Adjust to use per-inferior thread_db
    	info.
    	(thread_db_find_new_threads_1): Add new ptid argument.  Adjust to
    	use per-inferior thread-db info.
    	(thread_db_find_new_threads): Adjust to use per-inferior thread-db
    	info.
    	(thread_db_get_thread_local_address): Adjust.
    	(thread_db_get_ada_task_ptid): Adjust.
    	* inf-ptrace.c (inf_ptrace_mourn_inferior): Only unpush the target
    	if there no more processes left to debug.
    	* thread.c (set_running, set_executing): Handle resuming all
    	threads of a single inferior.
    	* mi/mi-interp.c (mi_output_running_pid): New.
    	(mi_inferior_count): New.
    	(mi_on_resume): For backwards compatibility, if resuming all
    	threads of an inferior, and there is only one inferior, output
    	"all".

commit 072b48a4923b53a5a06ab933b856fae18f537cfd
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Mon May 18 14:00:07 2009 +0000

    	* ada-lang.c (ada_find_any_type): Move check for primitive types ...
    	(to_fixed_range_type): ... to here.

commit 78ab77cbbf89a3acc2cdefc830c376ef9c0bba93
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Mon May 18 13:55:49 2009 +0000

    	* ada-lang.c (desc_data_type): Remove, replace by ...
    	(desc_data_target_type): ... this.
    	(thin_data_pntr): Use desc_data_target_type instead of desc_data_type.
    	(ada_is_array_descriptor_type): Likewise.
    	(ada_type_of_array): Likewise.
    	(ada_coerce_to_simple_array_type): Likewise.
    	(ada_array_element_type): Likewise.

commit 381c31d5ecdd998c2d1c2712f24bca3bf612b6eb
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Mon May 18 13:51:52 2009 +0000

    	* ada-valprint.c (ada_val_print_1): Use val_print_string to print
    	result of ada_vax_float_print_function inferior call.

commit 82aa9a15b4bc6eb8545d538d8250e48b4071f5a9
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Mon May 18 13:47:44 2009 +0000

    	* ada-lang.c (ada_coerce_to_simple_array_type): Reimplement to
    	avoid creating a dummy value.

commit 13f7d57aaa63e41a04050e8bbec0589794d5aed1
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Mon May 18 13:45:51 2009 +0000

    	* p-valprint.c (pascal_val_print): Use extract_typed_address
    	to extract reference value.

commit 19912ce42274f411351d5b02eaf8054c6546e669
Author: Ulrich Weigand <uweigand@de.ibm.com>
Date:   Mon May 18 13:43:34 2009 +0000

    	* doublest.c (NAN): Remove unused define.
    	(extract_floating_by_length, deprecated_extract_floating): Remove.
    	(store_floating_by_length, deprecated_store_floating): Remove.
    	(extract_typed_floating): Do not call extract_floating_by_length.
    	(store_typed_floating): Do not call store_floating_by_length.
    	(convert_typed_floating): Remove redundant assertions.
    	* doublest.h (deprecated_extract_floating): Remove.
    	(deprecated_store_floating): Remove.
    	* sh64-tdep.c (sh64_register_convert_to_raw): Call
    	extract_typed_floating instead of deprecated_extract_floating.

commit 5765f192f88b116456631658d3ec6b6dc23eb72b
Author: jbeniston <jbeniston>
Date:   Mon May 18 13:27:12 2009 +0000

    Add ChangeLog

commit b151a8f51ea9245b16ebb34bb85a56ef73e85f42
Author: jbeniston <jbeniston>
Date:   Mon May 18 13:25:33 2009 +0000

    gdb/
    2009-05-18  Jon Beniston <jon@beniston.com>
    
            * MAINTAINERS: Add lm32 target.
            * Makefile.in: Add lm32 dependencies.
            * NEWS: Indicate lm32 is a new target.
            * configure.tgt: Add lm32 targets.
            * lm32-tdep.c: New file.
    
    gdb/testsuite
    2009-05-18  Jon Beniston <jon@beniston.com>
    
            * gdb.asm/asm-source.exp: Add lm32 target.
    
    include/gdb/
    2009-05-18  Jon Beniston <jon@beniston.com>
    
            * sim-lm32.h: New file.
    
    sim/
    2009-05-18  Jon Beniston <jon@beniston.com>
    
            * MAINTAINERS: Add Jon Beniston as maintainer of lm32 sim.
            * configure.ac: Add lm32 target.
            * lm32: New directory.
    
    sim/common
    2009-05-18  Jon Beniston <jon@beniston.com>
    
            * gennltvals.sh: Add lm32 target.
            * nltvals.def: Add lm32 syscall definitions.
    
    sim/lm32/
    2009-05-18  Jon Beniston <jon@beniston.com>
    
            * Makefile.in: New file.
            * arch.c: New file.
            * arch.h: New file.
            * config.in: New file.
            * configure: New file.
            * configure.ac: New file.
            * cpu.c: New file.
            * cpu.h: New file.
            * cpuall.h: New file.
            * decode.c: New file.
            * decode.h: New file.
            * dv-lm32cpu.c: New file.
            * dv-lm32timer.c: New file.
            * dv-lm32uart.c: New file.
            * lm32.c: New file.
            * lm32-sim.h: New file.
            * mloop.in: New file.
            * model.c: New file.
            * sem.c: New file.
            * sem-switch.c: New file.
            * sim-if.c: New file.
            * sim-main.c: New file.
            * tconfig.in: New file.
            * traps.c: New file.
            * user.c: New file.

commit e8ce81041a240f18b18855c3fa89d030724e4f06
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Mon May 18 12:12:16 2009 +0000

    	* corelow.c (core_open): Flush the register cache before doing
    	anything with registers.

commit 02ec7939f53d1b8c1636c162943be3247df079f5
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Mon May 18 00:58:37 2009 +0000

    	* inflow.h (our_process_group): Remove declaration.
    	(inferior_process_group): Delete global variable declaration.
    	(inferior_process_group): New function declaration.
    	* inflow.c: Include observer.h.
    	(inferior_ttystate, our_ttystate, tflags_inferior, tflags_ours):
    	Delete.
    	(struct terminal_info): New struct.
    	(our_terminal_info): New global.
    	(inferior_process_group): New function.
    	(inferior_thisrun_terminal): Extend description comment.
    	(gdb_has_a_terminal): Adjust to write to our_terminal_info fields
    	instead of globals.
    	(terminal_init_inferior_with_pgrp): Adjust to per-inferior
    	terminal settings.
    	(terminal_inferior): Ditto.
    	(terminal_ours_1): Ditto.
    	(inflow_new_inferior, inflow_inferior_exit): New functions.
    	(child_terminal_info): Adjust to per-inferior terminal settings.
    	(osig_set): New global.
    	(set_sigint_trap): Adjust to per-inferior terminal settings.  Set
    	or clear `osig_set' accordingly.
    	(clear_sigint_trap): Check `osig_set' to decide wheater to restore
    	SIGINT handler, instead of checking the current inferior (which
    	may be none).
    	(_initialize_inflow): Attach inflow_new_inferior and
    	inflow_inferior_exit to the "new_inferior" and "inferior_exit"
    	notifications, respectively.
    	* inferior.h (struct terminal_info): Forward declare.
    	(struct inferior): Add `terminal_info' field.
    	* inferior.c (delete_inferior_1): Notify the inferior_exit
    	observers before removing the inferior from the lists and deleting
    	it.
    	* inf-ptrace.c (inf_ptrace_stop): `inferior_process_group' is now
    	a function instead of a variable.  Adjust.
    	* procfs.c (procfs_stop): Ditto.

commit 78379b2685dcfe35589e0da118c7c6a724291fbb
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Mon May 18 00:00:33 2009 +0000

    *** empty log message ***

commit 66fb5ff48d457ea17c9c9a87007f3b926eb49c4b
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Mon May 18 00:00:05 2009 +0000

    daily update

commit 703aa092828b9cac2986fd9b803300ef2dc285f0
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Sun May 17 19:30:04 2009 +0000

    Fix typo...

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                            |   13 +
 Makefile.in                          |    8 +-
 Makefile.tpl                         |    8 +-
 bfd/version.h                        |    2 +-
 gdb/ChangeLog                        |  294 ++-
 gdb/MAINTAINERS                      |    2 +
 gdb/Makefile.in                      |    2 +
 gdb/NEWS                             |    1 +
 gdb/ada-lang.c                       |   82 +-
 gdb/ada-valprint.c                   |   20 +-
 gdb/breakpoint.c                     |    8 +-
 gdb/configure.tgt                    |    5 +
 gdb/corelow.c                        |    8 +
 gdb/dicos-tdep.c                     |    7 +-
 gdb/doublest.c                       |   67 +-
 gdb/doublest.h                       |   11 -
 gdb/fork-child.c                     |   24 +-
 gdb/gdbarch.c                        |   23 +
 gdb/gdbarch.h                        |   14 +-
 gdb/gdbarch.sh                       |   12 +-
 gdb/inf-ptrace.c                     |   20 +-
 gdb/inf-ttrace.c                     |    7 +-
 gdb/infcmd.c                         |   39 +-
 gdb/inferior.c                       |   16 +-
 gdb/inferior.h                       |   10 +-
 gdb/inflow.c                         |  252 +-
 gdb/inflow.h                         |    6 +-
 gdb/linux-nat.c                      |  484 ++-
 gdb/linux-nat.h                      |    7 +-
 gdb/linux-thread-db.c                |  626 ++-
 gdb/lm32-tdep.c                      |  585 +++
 gdb/mi/mi-interp.c                   |   41 +-
 gdb/objc-lang.c                      |    3 +-
 gdb/p-valprint.c                     |    7 +-
 gdb/procfs.c                         |    2 +-
 gdb/remote.c                         |    5 +-
 gdb/sh64-tdep.c                      |    2 +-
 gdb/solib-svr4.c                     |  187 +-
 gdb/target.c                         |    2 +-
 gdb/terminal.h                       |   14 +
 gdb/testsuite/ChangeLog              |    4 +
 gdb/testsuite/gdb.asm/asm-source.exp |    3 +
 gdb/thread.c                         |   24 +-
 gdb/version.in                       |    2 +-
 include/gdb/ChangeLog                |    4 +
 include/gdb/sim-lm32.h               |   76 +
 libiberty/ChangeLog                  |    6 +
 libiberty/cp-demangle.c              |    8 +-
 sim/ChangeLog                        |    6 +
 sim/MAINTAINERS                      |    1 +
 sim/common/ChangeLog                 |    5 +
 sim/common/gennltvals.sh             |    3 +
 sim/common/nltvals.def               |   27 +
 sim/configure                        |    8 +
 sim/configure.ac                     |    4 +
 sim/lm32/ChangeLog                   |   27 +
 sim/lm32/Makefile.in                 |   90 +
 sim/lm32/arch.c                      |   35 +
 sim/lm32/arch.h                      |   44 +
 sim/lm32/config.in                   |  116 +
 sim/lm32/configure                   | 7508 ++++++++++++++++++++++++++++++++++
 sim/lm32/configure.ac                |   21 +
 sim/lm32/cpu.c                       |   85 +
 sim/lm32/cpu.h                       |  349 ++
 sim/lm32/cpuall.h                    |   66 +
 sim/lm32/decode.c                    |  955 +++++
 sim/lm32/decode.h                    |   76 +
 sim/lm32/dv-lm32cpu.c                |  247 ++
 sim/lm32/dv-lm32timer.c              |  220 +
 sim/lm32/dv-lm32uart.c               |  317 ++
 sim/lm32/lm32-sim.h                  |   57 +
 sim/lm32/lm32.c                      |  100 +
 sim/lm32/mloop.in                    |  203 +
 sim/lm32/model.c                     | 1176 ++++++
 sim/lm32/sem-switch.c                | 1554 +++++++
 sim/lm32/sem.c                       | 1669 ++++++++
 sim/lm32/sim-if.c                    |  290 ++
 sim/lm32/sim-main.h                  |  102 +
 gdb/inflow.h => sim/lm32/tconfig.in  |   27 +-
 sim/lm32/traps.c                     |  268 ++
 gdb/inflow.h => sim/lm32/user.c      |   30 +-
 81 files changed, 17985 insertions(+), 754 deletions(-)
 create mode 100644 gdb/lm32-tdep.c
 create mode 100644 include/gdb/sim-lm32.h
 create mode 100755 sim/lm32/ChangeLog
 create mode 100644 sim/lm32/Makefile.in
 create mode 100644 sim/lm32/arch.c
 create mode 100644 sim/lm32/arch.h
 create mode 100644 sim/lm32/config.in
 create mode 100755 sim/lm32/configure
 create mode 100644 sim/lm32/configure.ac
 create mode 100644 sim/lm32/cpu.c
 create mode 100644 sim/lm32/cpu.h
 create mode 100644 sim/lm32/cpuall.h
 create mode 100644 sim/lm32/decode.c
 create mode 100644 sim/lm32/decode.h
 create mode 100644 sim/lm32/dv-lm32cpu.c
 create mode 100644 sim/lm32/dv-lm32timer.c
 create mode 100644 sim/lm32/dv-lm32uart.c
 create mode 100644 sim/lm32/lm32-sim.h
 create mode 100644 sim/lm32/lm32.c
 create mode 100644 sim/lm32/mloop.in
 create mode 100644 sim/lm32/model.c
 create mode 100644 sim/lm32/sem-switch.c
 create mode 100644 sim/lm32/sem.c
 create mode 100644 sim/lm32/sim-if.c
 create mode 100644 sim/lm32/sim-main.h
 copy gdb/inflow.h => sim/lm32/tconfig.in (51%)
 create mode 100644 sim/lm32/traps.c
 copy gdb/inflow.h => sim/lm32/user.c (51%)

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 242d4ec..a8bb834 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2009-05-18  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR other/40159
+	* Makefile.tpl (all): Don't assume gcc-bootstrap and
+	gcc-no-bootstrap are mutually exclusive.
+	* Makefile.in: Rebuilt.
+
+2009-05-18  Alexandre Oliva  <aoliva@redhat.com>
+
+	PR other/40159
+	* Makefile.tpl (all): Don't end with unconditional success.
+	* Makefile.in: Rebuilt.
+
 2009-05-12  Alexandre Oliva  <aoliva@redhat.com>
 
 	PR target/37137
diff --git a/Makefile.in b/Makefile.in
index 8f3be10..110f7d6 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -854,16 +854,16 @@ all:
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 @if gcc-bootstrap
-	if [ -f stage_last ]; then : ; \
+	if [ -f stage_last ]; then \
 	  TFLAGS="$(STAGE$(shell sed s,^stage,, stage_last)_TFLAGS)"; \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \
 	else \
 @endif gcc-bootstrap
-	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target; \
+	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target \
 @if gcc-bootstrap
-	fi; \
+	    ; \
+	fi
 @endif gcc-bootstrap
-	:
 
 .PHONY: all-build
 
diff --git a/Makefile.tpl b/Makefile.tpl
index f201ad1..bc7c415 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -620,16 +620,16 @@ all:
 	@r=`${PWD_COMMAND}`; export r; \
 	s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
 @if gcc-bootstrap
-	if [ -f stage_last ]; then : ; \
+	if [ -f stage_last ]; then \
 	  TFLAGS="$(STAGE$(shell sed s,^stage,, stage_last)_TFLAGS)"; \
 	  $(MAKE) $(TARGET_FLAGS_TO_PASS) all-host all-target; \
 	else \
 @endif gcc-bootstrap
-	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target; \
+	  $(MAKE) $(RECURSE_FLAGS_TO_PASS) all-host all-target \
 @if gcc-bootstrap
-	fi; \
+	    ; \
+	fi
 @endif gcc-bootstrap
-	:
 
 .PHONY: all-build
 [+ FOR build_modules +]
diff --git a/bfd/version.h b/bfd/version.h
index 048c519..0356f37 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20090517
+#define BFD_VERSION_DATE 20090519
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index f8a7287..fc55a20 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,9 +1,301 @@
+2009-05-19  Pedro Alves  <pedro@codesourcery.com>
+
+	* inflow.c (kill_command): Moved to infcmd.c.
+	(_initialize_inflow): Don't add the "kill" command or clear
+	inferior_ptid here.
+	* infcmd.c (kill_command): Moved here from inflow.c.
+	(_initialize_infcmd): Add the "kill" command here.
+
+2009-05-19  Pedro Alves  <pedro@codesourcery.com>
+
+	* fork-child.c: Don't include frame.h.  Include terminal.h.
+	(fork_inferior): Call new_tty_postfork after forking adn adding
+	the child to the inferior list.
+	* inferior.h (new_tty_prefork, gdb_has_a_terminal): Don't declare
+	here.
+	* inflow.c (struct terminal_info): Remove const qualifier from
+	`run_terminal' field.
+	(inferior_thisrun_terminal): Tweak comment.
+	(inflow_inferior_exit): Release the `run_terminal' field.
+	(copy_terminal_info): New function.
+	(new_tty_postfork): New function.
+	* terminal.h (new_tty_prefork, new_tty, new_tty_postfork,
+	(copy_terminal_info, gdb_has_a_terminal, gdb_setpgid): Declare.
+	* inf-ptrace.c: Include terminal.h.
+	(inf_ptrace_follow_fork): Copy the parent's terminal info to the
+	child.
+	* linux-nat.c: Include terminal.h.
+	(linux_child_follow_fork): Copy the parent's terminal info to the
+	child.
+	* inf-ttrace.c: Include terminal.h.
+	(inf_ttrace_follow_fork): Copy the parent's terminal info to the
+	child.
+
+2009-05-19  Pedro Alves  <pedro@codesourcery.com>
+
+	* breakpoint.c (insert_breakpoints, breakpoint_init_inferior)
+	(update_global_location_list): Use gdbarch_has_global_breakpoints
+	instead of gdbarch_has_global_solist and
+	target_supports_multi_process.
+	* dicos-tdep.c (dicos_init_abi): Set
+	gdbarch_has_global_breakpoints.
+	* gdbarch.sh (has_global_solist): Update comment.
+	(has_global_breakpoints): New.
+	* remote.c (remote_start_remote): Use
+	gdbarch_has_global_breakpoints instead of
+	gdbarch_has_global_solist.
+	* target.c (target_detach): Use gdbarch_has_global_breakpoints
+	instead of gdbarch_has_global_solist.
+	* infcmd.c (attach_command): Use gdbarch_has_global_solist instead
+	of target_supports_multi_process.
+
+2009-05-18  Paul Pluzhnikov  <ppluzhnikov@google.com>
+
+	* objc-lang.c (find_methods): Plug a small memory leak.
+
+2009-05-18  Pedro Alves  <pedro@codesourcery.com>
+
+	* solib-svr4.c: Include observer.h.
+	(debug_base, debug_loader_offset_p, debug_loader_offset)
+	(debug_loader_name, main_lm_addr): Move these globals...
+	(struct svr4_info): ... into this new structure.
+	(svr4_info_p): New typedef.
+	(svr4_info): New global.
+	(get_svr4_info, remove_svr4_info, solib_svr4_inferior_exit): New
+	functions.
+	(locate_base, solib_svr4_r_map, solib_svr4_r_brk)
+	(solib_svr4_r_ldsomap): Add svr4_info argument.  Adjust to
+	per-inferior svr4.
+	(open_symbol_file_object): Adjust to per-inferior svr4.
+	(svr4_default_sos, svr4_current_sos, svr4_fetch_objfile_link_map):
+	Ditto.
+	(enable_break): Add svr4_info argument.  Adjust to per-inferior
+	svr4.
+	(enable_break, svr4_solib_create_inferior_hook, svr4_clear_solib):
+	Adjust to per-inferior svr4.
+	(_initialize_svr4_solib): Install the solib_svr4_inferior_exit
+	observer.
+
+2009-05-18  Pedro Alves  <pedro@codesourcery.com>
+
+	* linux-nat.h (linux_proc_get_tgid): Declare.
+	* linux-nat.c (linux_proc_get_tgid): New.
+	* linux-thread-db.c (struct thread_db_info): New field
+	`need_stale_parent_threads_check'.
+	(add_thread_db_info): Set it.
+	(find_new_threads_callback): Ignore stale fork parent threads.
+	(thread_db_resume): New.
+	(init_thread_db_ops): Install thread_db_resume.
+
+2009-05-18  Pedro Alves  <pedro@codesourcery.com>
+
+	* fork-child.c (fork_inferior): Only reset the thread list if this
+	is the first inferior.
+	(startup_inferior): If the target support multi-process, tell it
+	to resume only the new process.
+	* linux-nat.c (num_lwps): Delete global.
+	(purge_lwp_list): New function.
+	(num_lwps): New function.
+	(add_lwp, delete_lwp): Adjust.
+	(ptid_match): New.
+	(iterate_over_lwps): Add filter argument.  Handle it.
+	(linux_nat_attach): Remove FIXME note.
+	(linux_nat_detach): Adjust to iterate over threads of the inferior
+	we're detaching from.  Adjust to num_lwps being a function.  Don't
+	assume the head of the lwp list is the main thread of the process
+	we're detaching from.  Don't destroy the LWP list.
+	(resume_callback): Add debug output.
+	(linux_nat_resume): Handle resuming a single inferior.  Allow a
+	wildcard resume in non-stop mode.
+	(linux_handle_extended_wait): Don't assume inferior_ptid is the
+	correct inferior of the parent LWP.
+	(status_callback): Also check lp->waitstatus.
+	(select_event_lwp): Add new filter parameter.  Handle it.
+	(linux_nat_filter_event): Adjust to num_lwps being a function.
+	(linux_nat_wait_1): When adding the first lwp of the inferior, use
+	an is_lwp check instead of checking for the number of lwps.
+	(linux_nat_wait_1): Handle waiting for a specific tgid.  Handle
+	pending process exit statuses.
+	(linux_nat_mourn_inferior): Don't destroy all the LWP info.
+	Instead delete LWPs of the inferior that we're mourning.  Don't
+	unregister from the event loop here.
+	(linux_nat_pid_to_str): Use `num_lwps'.
+	(linux_nat_make_corefile_notes): Adjust to walk over lwps of a
+	single inferior.
+	(linux_nat_is_async_p): Check if async was masked out.
+	(linux_multi_process): New global.
+	(linux_nat_supports_multi_process): New.
+	(linux_nat_stop_lwp): Remove LWP filtering.  It is done by the
+	caller.
+	(linux_nat_stop): Adjust to make iterate_over_lwps itself do the
+	LWP filtering.
+	(linux_nat_close): New.
+	(linux_nat_add_target): Register linux_nat_close and
+	linux_nat_supports_multi_process.
+	* linux-nat.h (iterate_over_lwps): Add filter argument.
+	* linux-thread-db.c (thread_db_handle): Delete.
+	(proc_handle, thread_agent, td_init_p, td_ta_new_p)
+	(td_ta_map_id2thr_p, td_ta_map_lwp2thr_p, td_ta_thr_iter_p)
+	(td_ta_event_addr_p, td_ta_set_event_p, td_ta_event_getmsg_p)
+	(td_thr_validate_p, td_thr_get_info_p, td_thr_event_enable_p)
+	(td_thr_tls_get_addr_p, td_create_bp_addr, td_death_bp_addr): No
+	longer globals, moved to...
+	(struct thread_db_info): ... this new structure.
+	(thread_db_list): New.
+	(add_thread_db_info, get_thread_db_info, delete_thread_db_info):
+	New.
+	(have_threads_callback): Filter out threads of all inferiors but
+	the one specified by the ARGS argument.
+	(have_threads): Add ptid argument specifying the inferior we're
+	interested in.  Handle it.
+	(struct thread_get_info_inout): New.
+	(thread_get_info_callback, thread_from_lwp): Adjust to use it.
+	(thread_db_attach_lwp): Check that inferior of the passed in
+	thread is using thread-db.  Adjust.
+	(enable_thread_event): Remove thread_agent parameter.  Instead,
+	get it from the per-inferior thread-db info.
+	(dladdr_to_soname): Move higher up.
+	(enable_thread_event_reporting): Adjust to use per-inferior
+	thread-db info.
+	(try_thread_db_load_1): Replace `handle' parameter by a
+	thread_db_info parameter.  Adjust to use per-inferior thread-db
+	info.
+	(try_thread_db_load): Adjust to use per-inferior thread-db info.
+	(thread_db_load, disable_thread_event_reporting): Ditto.
+	(check_for_thread_db): Remove conditional reporting of which
+	libthread_db is in use.
+	(thread_db_new_objfile): Add comment about inferior_ptid.
+	(attach_thread): Adjust to use per-inferior thread-db info.
+	(thread_db_detach): Adjust to use per-inferior thread-db info.
+	Remove thread event breakpoints of the current inferior.  Only
+	unpush the thread-db target if there are no more processes using
+	it.
+	(check_event): Adjust to use per-inferior thread-db info.
+	(thread_db_wait): Adjust to use per-inferior thread-db info.  Only
+	unpush the thread-db target if there are no more processes using
+	it.
+	(thread_db_mourn_inferior): Adjust to use per-inferior thread-db
+	info.  Mark breakpoints of the current inferior out before
+	deleting them.  Only unpush the thread-db target if there are no
+	more processes using it.
+	(find_new_threads_callback): Adjust to use per-inferior thread_db
+	info.
+	(thread_db_find_new_threads_1): Add new ptid argument.  Adjust to
+	use per-inferior thread-db info.
+	(thread_db_find_new_threads): Adjust to use per-inferior thread-db
+	info.
+	(thread_db_get_thread_local_address): Adjust.
+	(thread_db_get_ada_task_ptid): Adjust.
+	* inf-ptrace.c (inf_ptrace_mourn_inferior): Only unpush the target
+	if there no more processes left to debug.
+	* thread.c (set_running, set_executing): Handle resuming all
+	threads of a single inferior.
+	* mi/mi-interp.c (mi_output_running_pid): New.
+	(mi_inferior_count): New.
+	(mi_on_resume): For backwards compatibility, if resuming all
+	threads of an inferior, and there is only one inferior, output
+	"all".
+
+2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* ada-lang.c (ada_find_any_type): Move check for primitive types ...
+	(to_fixed_range_type): ... to here.
+
+2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* ada-lang.c (desc_data_type): Remove, replace by ...
+	(desc_data_target_type): ... this.
+	(thin_data_pntr): Use desc_data_target_type instead of desc_data_type.
+	(ada_is_array_descriptor_type): Likewise.
+	(ada_type_of_array): Likewise.
+	(ada_coerce_to_simple_array_type): Likewise.
+	(ada_array_element_type): Likewise.
+
+2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* ada-valprint.c (ada_val_print_1): Use val_print_string to print
+	result of ada_vax_float_print_function inferior call.
+
+2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* ada-lang.c (ada_coerce_to_simple_array_type): Reimplement to
+	avoid creating a dummy value.
+
+2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* p-valprint.c (pascal_val_print): Use extract_typed_address
+	to extract reference value.
+
+2009-05-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* doublest.c (NAN): Remove unused define.
+	(extract_floating_by_length, deprecated_extract_floating): Remove.
+	(store_floating_by_length, deprecated_store_floating): Remove.
+	(extract_typed_floating): Do not call extract_floating_by_length.
+	(store_typed_floating): Do not call store_floating_by_length.
+	(convert_typed_floating): Remove redundant assertions.
+	* doublest.h (deprecated_extract_floating): Remove.
+	(deprecated_store_floating): Remove.
+	* sh64-tdep.c (sh64_register_convert_to_raw): Call
+	extract_typed_floating instead of deprecated_extract_floating.
+
+2009-05-18  Jon Beniston <jon@beniston.com>
+        
+        * MAINTAINERS: Add lm32 target.        
+        * Makefile.in: Add lm32 dependencies.        
+        * NEWS: Indicate lm32 is a new target.
+        * configure.tgt: Add lm32 targets.
+        * lm32-tdep.c: New file.
+
+2009-05-18  Pedro Alves  <pedro@codesourcery.com>
+
+	* corelow.c (core_open): Flush the register cache before doing
+	anything with registers.
+
+2009-05-18  Pedro Alves  <pedro@codesourcery.com>
+
+	* inflow.h (our_process_group): Remove declaration.
+	(inferior_process_group): Delete global variable declaration.
+	(inferior_process_group): New function declaration.
+	* inflow.c: Include observer.h.
+	(inferior_ttystate, our_ttystate, tflags_inferior, tflags_ours):
+	Delete.
+	(struct terminal_info): New struct.
+	(our_terminal_info): New global.
+	(inferior_process_group): New function.
+	(inferior_thisrun_terminal): Extend description comment.
+	(gdb_has_a_terminal): Adjust to write to our_terminal_info fields
+	instead of globals.
+	(terminal_init_inferior_with_pgrp): Adjust to per-inferior
+	terminal settings.
+	(terminal_inferior): Ditto.
+	(terminal_ours_1): Ditto.
+	(inflow_new_inferior, inflow_inferior_exit): New functions.
+	(child_terminal_info): Adjust to per-inferior terminal settings.
+	(osig_set): New global.
+	(set_sigint_trap): Adjust to per-inferior terminal settings.  Set
+	or clear `osig_set' accordingly.
+	(clear_sigint_trap): Check `osig_set' to decide wheater to restore
+	SIGINT handler, instead of checking the current inferior (which
+	may be none).
+	(_initialize_inflow): Attach inflow_new_inferior and
+	inflow_inferior_exit to the "new_inferior" and "inferior_exit"
+	notifications, respectively.
+	* inferior.h (struct terminal_info): Forward declare.
+	(struct inferior): Add `terminal_info' field.
+	* inferior.c (delete_inferior_1): Notify the inferior_exit
+	observers before removing the inferior from the lists and deleting
+	it.
+	* inf-ptrace.c (inf_ptrace_stop): `inferior_process_group' is now
+	a function instead of a variable.  Adjust.
+	* procfs.c (procfs_stop): Ditto.
+
 2009-05-17  Pedro Alves  <pedro@codesourcery.com>
 
 	* infrun.c (handle_inferior_event): When handling a
 	TARGET_WAITKIND_FORKED, detach breakpoints from the fork child
 	immediatelly.
-	* linux-nat.c (linux_child_follow_fork): Only detach breakpoint
+	* linux-nat.c (linux_child_follow_fork): Only detach breakpoints
 	from the child if vforking.
 	* inf-ptrace.c (inf_ptrace_follow_fork): No need to detach
 	breakpoints from the child here.
diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS
index 172dbcf..5171190 100644
--- a/gdb/MAINTAINERS
+++ b/gdb/MAINTAINERS
@@ -270,6 +270,8 @@ the native maintainer when resolving ABI issues.
 	ia64		--target=ia64-linux-gnu ,-Werror
 			(--target=ia64-elf broken)
 
+	lm32		--target=lm32-elf ,-Werror
+
 	m32c		--target=m32c-elf ,-Werror
 
 	m32r		--target=m32r-elf ,-Werror
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index bafd73d..89fb872 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -484,6 +484,7 @@ ALL_TARGET_OBS = \
 	i386-dicos-tdep.o \
 	iq2000-tdep.o \
 	linux-tdep.o \
+	lm32-tdep.o \
 	m32c-tdep.o \
 	m32r-linux-tdep.o m32r-tdep.o \
 	m68hc11-tdep.o \
@@ -1314,6 +1315,7 @@ ALLDEPFILES = \
 	linux-fork.c \
 	linux-tdep.c \
 	linux-record.c \
+	lm32-tdep.c \
 	m68hc11-tdep.c \
 	m32r-tdep.c \
 	m32r-linux-nat.c m32r-linux-tdep.c \
diff --git a/gdb/NEWS b/gdb/NEWS
index 982a5b3..d018885 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -313,6 +313,7 @@ x86_64 MinGW			x86_64-*-mingw*
 
 * New targets
 
+Lattice Mico32                  lm32-*
 x86 DICOS			i[34567]86-*-dicos*
 x86_64 DICOS		        x86_64-*-dicos*
 
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index f8d68c1..4a45a62 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -79,7 +79,7 @@ static int fat_pntr_bounds_bitpos (struct type *);
 
 static int fat_pntr_bounds_bitsize (struct type *);
 
-static struct type *desc_data_type (struct type *);
+static struct type *desc_data_target_type (struct type *);
 
 static struct value *desc_data (struct value *);
 
@@ -1281,11 +1281,13 @@ static struct value *
 thin_data_pntr (struct value *val)
 {
   struct type *type = value_type (val);
+  struct type *data_type = desc_data_target_type (thin_descriptor_type (type));
+  data_type = lookup_pointer_type (data_type);
+
   if (TYPE_CODE (type) == TYPE_CODE_PTR)
-    return value_cast (desc_data_type (thin_descriptor_type (type)),
-                       value_copy (val));
+    return value_cast (data_type, value_copy (val));
   else
-    return value_from_longest (desc_data_type (thin_descriptor_type (type)),
+    return value_from_longest (data_type,
                                VALUE_ADDRESS (val) + value_offset (val));
 }
 
@@ -1389,23 +1391,28 @@ fat_pntr_bounds_bitsize (struct type *type)
 }
 
 /* If TYPE is the type of an array descriptor (fat or thin pointer) or a
-   pointer to one, the type of its array data (a
-   pointer-to-array-with-no-bounds type); otherwise, NULL.  Use
-   ada_type_of_array to get an array type with bounds data.  */
+   pointer to one, the type of its array data (a array-with-no-bounds type);
+   otherwise, NULL.  Use ada_type_of_array to get an array type with bounds
+   data.  */
 
 static struct type *
-desc_data_type (struct type *type)
+desc_data_target_type (struct type *type)
 {
   type = desc_base_type (type);
 
   /* NOTE: The following is bogus; see comment in desc_bounds.  */
   if (is_thin_pntr (type))
-    return lookup_pointer_type
-      (desc_base_type (TYPE_FIELD_TYPE (thin_descriptor_type (type), 1)));
+    return desc_base_type (TYPE_FIELD_TYPE (thin_descriptor_type (type), 1));
   else if (is_thick_pntr (type))
-    return lookup_struct_elt_type (type, "P_ARRAY", 1);
-  else
-    return NULL;
+    {
+      struct type *data_type = lookup_struct_elt_type (type, "P_ARRAY", 1);
+
+      if (data_type
+	  && TYPE_CODE (ada_check_typedef (data_type)) == TYPE_CODE_PTR)
+	return TYPE_TARGET_TYPE (data_type);
+    }
+
+  return NULL;
 }
 


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-05-19 14:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-05-19 14:02 [SCM] master: * inflow.c (kill_command): Moved to infcmd.c jkratoch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).