diff options
author | Pedro Alves <palves@redhat.com> | 2011-08-09 12:51:47 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2011-08-09 12:51:47 +0000 |
commit | 7f86f0587f4dedecb5dffdbe6484cd25eb9a6966 (patch) | |
tree | f75afdc5affc47982cc16ceefa9e807cf25ef8a1 /gdb/solib-irix.c | |
parent | 5e239b84ac58a9edfc0d942ef751a78aac4c007b (diff) | |
download | gdb-7f86f0587f4dedecb5dffdbe6484cd25eb9a6966.zip gdb-7f86f0587f4dedecb5dffdbe6484cd25eb9a6966.tar.gz gdb-7f86f0587f4dedecb5dffdbe6484cd25eb9a6966.tar.bz2 |
2011-08-09 Pedro Alves <pedro@codesourcery.com>
gdb/
* elfread.c (elf_symtab_read): Ditto.
* maint.c (maintenance_command): Ditto.
* somread.c (som_symtab_read): Ditto.
* solib.c (solib_find, solib_map_sections, update_solib_list)
(solib_add, info_sharedlibrary_command, solib_name_from_address)
(solib_create_inferior_hook, in_solib_dynsym_resolve_code)
(sharedlibrary_command, no_shared_libraries): Rework comments.
* solib-irix.c (locate_base, disable_break, enable_break)
(irix_solib_create_inferior_hook, irix_solib_create_inferior_hook)
(irix_current_sos, irix_open_symbol_file_object)
(irix_special_symbol_handling): Ditto.
* solib-sunos.c (locate_base, first_link_map_member)
(sunos_current_sos, disable_break, enable_break)
(sunos_special_symbol_handling, sunos_solib_create_inferior_hook):
Ditto.
* solib-svr4.c (bfd_lookup_symbol, elf_locate_base, locate_base)
(open_symbol_file_object, svr4_current_sos, enable_break)
(svr4_special_symbol_handling, svr4_solib_create_inferior_hook):
Ditto.
* solib-frv.c (bfd_lookup_symbol, open_symbol_file_object)
(frv_current_sos, enable_break, frv_special_symbol_handling)
(frv_solib_create_inferior_hook): Ditto.
* solist.h (struct target_so_ops): Extend the comments of the
special_symbol_handling, current_sos and open_symbol_file_object
methods.
Diffstat (limited to 'gdb/solib-irix.c')
-rw-r--r-- | gdb/solib-irix.c | 137 |
1 files changed, 16 insertions, 121 deletions
diff --git a/gdb/solib-irix.c b/gdb/solib-irix.c index 7bb528a..7e3c408 100644 --- a/gdb/solib-irix.c +++ b/gdb/solib-irix.c @@ -244,17 +244,7 @@ static void *base_breakpoint; static CORE_ADDR debug_base; /* Base of dynamic linker structures. */ -/* - - LOCAL FUNCTION - - locate_base -- locate the base address of dynamic linker structs - - SYNOPSIS - - CORE_ADDR locate_base (void) - - DESCRIPTION +/* Locate the base address of dynamic linker structs. For both the SunOS and SVR4 shared library implementations, if the inferior executable has been linked dynamically, there is a single @@ -287,9 +277,7 @@ static CORE_ADDR debug_base; /* Base of dynamic linker structures. */ we need to find this address. We may be stopped on the first instruc- tion of the interpreter (C shared library), the first instruction of the executable itself, or somewhere else entirely (if we attached - to the process for example). - - */ + to the process for example). */ static CORE_ADDR locate_base (void) @@ -305,22 +293,10 @@ locate_base (void) return (address); } -/* - - LOCAL FUNCTION - - disable_break -- remove the "mapping changed" breakpoint - - SYNOPSIS - - static int disable_break () - - DESCRIPTION +/* Remove the "mapping changed" breakpoint. Removes the breakpoint that gets hit when the dynamic linker - completes a mapping change. - - */ + completes a mapping change. */ static int disable_break (void) @@ -346,21 +322,10 @@ disable_break (void) return (status); } -/* - - LOCAL FUNCTION - - enable_break -- arrange for dynamic linker to hit breakpoint - - SYNOPSIS - - int enable_break (void) - - DESCRIPTION +/* Arrange for dynamic linker to hit breakpoint. This functions inserts a breakpoint at the entry point of the - main executable, where all shared libraries are mapped in. - */ + main executable, where all shared libraries are mapped in. */ static int enable_break (void) @@ -384,22 +349,7 @@ enable_break (void) return 0; } -/* - - LOCAL FUNCTION - - irix_solib_create_inferior_hook -- shared library startup support - - SYNOPSIS - - void solib_create_inferior_hook (int from_tty) - - DESCRIPTION - - When gdb starts up the inferior, it nurses it along (through the - shell) until it is ready to execute it's first instruction. At this - point, this function gets called via expansion of the macro - SOLIB_CREATE_INFERIOR_HOOK. +/* Implement the "create_inferior_hook" target_solib_ops method. For SunOS executables, this first instruction is typically the one at "_start", or a similar text label, regardless of whether @@ -433,8 +383,7 @@ enable_break (void) handling will probably have to wait until the implementation is changed to use the "breakpoint handler function" method. - Also, what if child has exit()ed? Must exit loop somehow. - */ + Also, what if child has exit()ed? Must exit loop somehow. */ static void irix_solib_create_inferior_hook (int from_tty) @@ -499,24 +448,7 @@ irix_solib_create_inferior_hook (int from_tty) inf->control.stop_soon = NO_STOP_QUIETLY; } -/* LOCAL FUNCTION - - current_sos -- build a list of currently loaded shared objects - - SYNOPSIS - - struct so_list *current_sos () - - DESCRIPTION - - Build a list of `struct so_list' objects describing the shared - objects currently loaded in the inferior. This list does not - include an entry for the main executable file. - - Note that we only gather information directly available from the - inferior --- we don't examine any of the shared library files - themselves. The declaration of `struct so_list' says which fields - we provide values for. */ +/* Implement the "current_sos" target_so_ops method. */ static struct so_list * irix_current_sos (void) @@ -603,27 +535,12 @@ irix_current_sos (void) return head; } -/* - - LOCAL FUNCTION - - irix_open_symbol_file_object - - SYNOPSIS - - void irix_open_symbol_file_object (void *from_tty) +/* Implement the "open_symbol_file_object" target_so_ops method. - DESCRIPTION - - If no open symbol file, attempt to locate and open the main symbol - file. On IRIX, this is the first link map entry. If its name is - here, we can open it. Useful when attaching to a process without - first loading its symbol file. - - If FROM_TTYP dereferences to a non-zero integer, allow messages to - be printed. This parameter is a pointer rather than an int because - open_symbol_file_object() is called via catch_errors() and - catch_errors() requires a pointer argument. */ + If no open symbol file, attempt to locate and open the main symbol + file. On IRIX, this is the first link map entry. If its name is + here, we can open it. Useful when attaching to a process without + first loading its symbol file. */ static int irix_open_symbol_file_object (void *from_ttyp) @@ -676,31 +593,9 @@ irix_open_symbol_file_object (void *from_ttyp) return 1; } +/* Implement the "special_symbol_handling" target_so_ops method. -/* - - LOCAL FUNCTION - - irix_special_symbol_handling -- additional shared library symbol handling - - SYNOPSIS - - void irix_special_symbol_handling () - - DESCRIPTION - - Once the symbols from a shared object have been loaded in the usual - way, we are called to do any system specific symbol handling that - is needed. - - For SunOS4, this consisted of grunging around in the dynamic - linkers structures to find symbol definitions for "common" symbols - and adding them to the minimal symbol table for the runtime common - objfile. - - However, for IRIX, there's nothing to do. - - */ + For IRIX, there's nothing to do. */ static void irix_special_symbol_handling (void) |