summaryrefslogtreecommitdiff
path: root/gdb/gdbtk/library/process.itb
diff options
context:
space:
mode:
authorElena Zannoni <ezannoni@kwikemart.cygnus.com>2004-03-24 04:10:01 +0000
committerElena Zannoni <ezannoni@kwikemart.cygnus.com>2004-03-24 04:10:01 +0000
commitc4b3a45944f0638c35b7f94c94c0ebf73d16c194 (patch)
treeffc265f78503e66b9decc8bee3f7d8515d0df045 /gdb/gdbtk/library/process.itb
parent51771d455eee6505ad7ab5999cad8c9dc7a97d84 (diff)
downloadgdb-ezannoni_pie-20040323-branch.tar.gz
2004-03-23 Elena Zannoni <ezannoni@redhat.com>ezannoni_pie-20040323-branchcvs/ezannoni_pie-20040323-branch
* solib-svr4.c (svr4_solib_create_inferior_hook): Disable breakpoints at startup. (elf_locate_base): Find out where the entry point for the program is, using the auxv vector, if possible. Compute the address of .dynamic using it. (svr4_current_sos): Don't ignore the first entry if we have PIE, it's our main program. Delete code that was skipping over the solib entry for main executable. * solist.h (struct so_list): Add fields main and main_relocated. (add_to_target_sections): Export. * solib.c (symbol_add_stub): Handle main executable in shared library list. Ignore it if it has been relocated already. Add it as the main symbol file, otherwise. * infrun.c (handle_inferior_event): Re-enable startup breakpoints. * solib-svr4.c (elf_locate_base, first_link_map_member) svr4_current_sos, enable_break): Add debugging output. * solist.h (debug_solib): Export. * solib.c (debug_solib): New variable to enable debugging output. (symbol_add_stub, update_solib_list, update_solib_list) (add_to_target_sections): Add debugging output. (_initialize_solib): Add new comand to enable printing of debugging output. (add_to_target_sections): New function. Factored out from update_solib_list. (update_solib_list): Call add_to_target_sections. * varobj.h (varobj_refresh): New prototype. * varobj.c (varobj_refresh): New function. * symfile.c (reread_symbols): Make sure that we recompute the entry point for the program. (symbol_file_clear): Clear the solibs as well, if we change symbol files. (clear_symtab_users): Refresh the varobjs that depend on the symtabs we are clearing. * objfiles.c (entry_point_address): Rewrite, to fetch entry point from auxv vector, if possible. Add include of elf/common.h. * breakpoint.h (enum bptype): Add bp type bp_startup_disabled. (re_enable_breakpoints_at_startup) (disable_breakpoints_at_startup): Add prototypes * breakpoint.c (re_enable_breakpoints_at_startup) (disable_breakpoints_at_startup): New functions. (describe_other_breakpoints, delete_breakpoint) (breakpoint_re_set_one): Handle new bp type. * auxv.h (target_auxv_parse, target_auxv_search): Update. * auxv.c (target_auxv_parse, target_auxv_search) (fprint_target_auxv): Use ULONGEST instead of CORE_ADDR for variable. Change variable name to at_type.
Diffstat (limited to 'gdb/gdbtk/library/process.itb')
-rw-r--r--gdb/gdbtk/library/process.itb162
1 files changed, 0 insertions, 162 deletions
diff --git a/gdb/gdbtk/library/process.itb b/gdb/gdbtk/library/process.itb
deleted file mode 100644
index b3aad6f9d5c..00000000000
--- a/gdb/gdbtk/library/process.itb
+++ /dev/null
@@ -1,162 +0,0 @@
-# Process window for Insight.
-# Copyright 1998, 1999, 2001, 2002 Red Hat, Inc.
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License (GPL) as published by
-# the Free Software Foundation; either version 2 of the License, or (at
-# your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-
-# ----------------------------------------------------------------------
-# Implements a process window with a list of threads, tasks, and/or
-# processes to debug.
-#
-# ----------------------------------------------------------------------
-
-itcl::body ProcessWin::constructor {args} {
-
- window_name "Processes"
- gdbtk_busy
- build_win
- gdbtk_idle
-
- # Add hooks for this object
- add_hook gdb_no_inferior_hook [code $this idle]
-}
-
-
-# ------------------------------------------------------------------
-# METHOD: build_win - build the main process window
-# ------------------------------------------------------------------
-itcl::body ProcessWin::build_win {} {
- global tcl_platform
-
- itk_component add slbox {
- iwidgets::scrolledlistbox $itk_interior.slbox \
- -background $::Colors(bg) \
- -selectbackground $::Colors(sbg) -selectforeground $::Colors(sfg) \
- -textfont global/fixed \
- -exportselection false \
- -selectioncommand [code $this change_context]
- } {}
- [$itk_component(slbox) component listbox] configure \
- -bg $::Colors(textbg) -fg $::Colors(textfg)
- update dummy
-
- pack $itk_component(slbox) -side left -expand yes -fill both
-}
-
-
-# ------------------------------------------------------------------
-# METHOD: update - update widget when something changes
-# ------------------------------------------------------------------
-itcl::body ProcessWin::update {event} {
- if {!$protect_me} {
-
- $itk_component(slbox) delete 0 end
- if {[catch {gdb_cmd "info thread"} threads]} {
- # failed. leave window blank
- return
- }
-
- set threads [split $threads \n]
- debug "processWin update: \n$threads"
- if {[llength $threads] == 0} {
- # no processes/threads listed.
- return
- }
-
- # insert each line one at a time
- set active -1
- set num_threads 0
- foreach line $threads {
- # Active line starts with "*"
- if {[string index $line 0] == "*"} {
- # strip off leading "*"
- set line " [string trimleft $line "*"]"
- set active $num_threads
- }
- # scan for GDB ID number at start of line
- if {[scan $line "%d" id($num_threads)] == 1} {
- $itk_component(slbox) insert end $line
- incr num_threads
- }
- }
-
- # highlight the active thread
- if {$active >= 0} {
- set active_thread $id($active)
- $itk_component(slbox) selection set $active
- $itk_component(slbox) see $active
- }
- }
-}
-
-# ------------------------------------------------------------------
-# METHOD: change_context - change the current context (active thread)
-# This method is currently ONLY called from the mouse binding
-# ------------------------------------------------------------------
-itcl::body ProcessWin::change_context {} {
- if {!$Running && [$itk_component(slbox) size] != 0} {
- gdbtk_busy
- set sel [$itk_component(slbox) curselection]
- set idnum $id($sel)
- #debug "change_context to line $sel id=$idnum"
- catch {gdb_cmd "thread $idnum"}
- # Run idle hooks and cause all widgets to update
- set protect_me 1
- gdbtk_update
- set protect_me 0
- gdbtk_idle
- }
-}
-
-# ------------------------------------------------------------------
-# DESTRUCTOR - destroy window containing widget
-# ------------------------------------------------------------------
-itcl::body ProcessWin::destructor {} {
- remove_hook gdb_no_inferior_hook [code $this no_inferior]
-}
-
-# ------------------------------------------------------------------
-# METHOD: reconfig - used when preferences change
-# ------------------------------------------------------------------
-itcl::body ProcessWin::reconfig {} {
- destroy $itk_interior.s
- if {[winfo exists $itk_interior.slbox]} { destroy $itk_interior.slbox }
- build_win
-}
-
-# ------------------------------------------------------------------
-# METHOD: busy - BusyEvent handler
-#
-# This method should accomplish blocking
-# - clicks in the window
-# - change mouse pointer
-# ------------------------------------------------------------------
-itcl::body ProcessWin::busy {event} {
- set Running 1
- cursor watch
-}
-
-# ------------------------------------------------------------------
-# METHOD: idle - handle IdleEvent
-# ------------------------------------------------------------------
-itcl::body ProcessWin::idle {event} {
- set Running 0
- cursor {}
-}
-
-# ------------------------------------------------------------------
-# METHOD: cursor - set the window cursor
-# This is a convenience method which simply sets the mouse
-# pointer to the given glyph.
-# ------------------------------------------------------------------
-itcl::body ProcessWin::cursor {glyph} {
- $_top configure -cursor $glyph
-}