Thread View: gnu.gdb.bug
1 messages
1 total messages
Started by Robert Andrew Ryan
Sun, 20 Dec 1992 14:24
rs6000 dynamic loading patch
Author: Robert Andrew Ryan
Date: Sun, 20 Dec 1992 14:24
Date: Sun, 20 Dec 1992 14:24
123 lines
4534 bytes
4534 bytes
The changes below let the user load symbols for objects load(2)ed after
startup. (The current gdb-4.7 only allows symbols to be loaded for
shared libraries present when the exec finished.) For this to be useful
you should apply the patch I posted previously for xcoffexec.c. (It's a
small patch I can send on request if necessary.)
-Rob Ryan
Sun Dec 20 16:01:59 EST 1992 Rob Ryan (robr@cmu.edu)
* inftarg.c: Added CHILD_TO_LOAD macro, indicating a
function to call to dynamically load a file into the child.
* rs6000-tdep.c: Bumped MAX_LOAD_SEGS to 256 from 64.
Added rs6000_child_to_load, a partial implementation for
use with the CHILD_TO_LOAD macro referenced in inftarg.c.
* tm-rs6000.h: Added extern decl for rs6000_child_to_load.
Added #define of CHILD_TO_LOAD.
diff -c ./inftarg.c ../changed/inftarg.c
*** ./inftarg.c Sun Dec 20 16:37:08 1992
--- ../changed/inftarg.c Sun Dec 20 16:38:27 1992
***************
*** 247,252 ****
--- 247,255 ----
return(1);
}
+ #ifndef CHILD_TO_LOAD
+ #define CHILD_TO_LOAD 0
+ #endif
struct target_ops child_ops = {
"child", /* to_shortname */
"Unix child process", /* to_longname */
***************
*** 270,276 ****
terminal_ours, /* to_terminal_ours */
child_terminal_info, /* to_terminal_info */
kill_inferior, /* to_kill */
! 0, /* to_load */
0, /* to_lookup_symbol */
child_create_inferior, /* to_create_inferior */
child_mourn_inferior, /* to_mourn_inferior */
--- 273,279 ----
terminal_ours, /* to_terminal_ours */
child_terminal_info, /* to_terminal_info */
kill_inferior, /* to_kill */
! CHILD_TO_LOAD, /* to_load */
0, /* to_lookup_symbol */
child_create_inferior, /* to_create_inferior */
child_mourn_inferior, /* to_mourn_inferior */
diff -c ./rs6000-tdep.c ../changed/rs6000-tdep.c
*** ./rs6000-tdep.c Sun Dec 20 16:37:09 1992
--- ../changed/rs6000-tdep.c Sun Dec 20 16:38:27 1992
***************
*** 1052,1058 ****
xcoff_relocate_symtab (pid)
unsigned int pid;
{
! #define MAX_LOAD_SEGS 64 /* maximum number of load segments */
struct ld_info *ldi;
int temp;
--- 1052,1058 ----
xcoff_relocate_symtab (pid)
unsigned int pid;
{
! #define MAX_LOAD_SEGS 256 /* maximum number of load segments, bumped
from 64 to 256 Rob Ryan Dec 7, 1992 */
struct ld_info *ldi;
int temp;
***************
*** 1164,1170 ****
++loadinfotextindex;
}
!
/* FIXME: This assumes that the "textorg" and "dataorg" elements
of a member of this array are correlated with the "toc_offset"
element of the same member. But they are sequentially assigned in wildly
--- 1164,1187 ----
++loadinfotextindex;
}
! /* FIXME: this enables loading of symbols
! for objects which have already been read
! in, but does not actually dynamically load
! FILE into the running child as the
! docs say. -Rob Ryan Dec 7,1992*/
! void
! rs6000_child_to_load (arg, from_tty)
! char *arg;
! int from_tty;
! {
! if(inferior_pid > 0) {
! xcoff_relocate_symtab (inferior_pid);
! }
! else {
! error ("Must have an inferior process to use the load command.");
! }
! solib_add (arg, from_tty, (struct target_ops *)0);
! }
/* FIXME: This assumes that the "textorg" and "dataorg" elements
of a member of this array are correlated with the "toc_offset"
element of the same member. But they are sequentially assigned in wildly
diff -c ./tm-rs6000.h ../changed/tm-rs6000.h
*** ./tm-rs6000.h Sun Dec 20 16:37:10 1992
--- ../changed/tm-rs6000.h Sun Dec 20 16:38:28 1992
***************
*** 613,618 ****
--- 613,623 ----
} \
}
+ extern void rs6000_child_to_load PARAMS((char *arg, int from_tty));
+ /* CHILD_TO_LOAD should be defined to the name
+ of a function to be called for the child target
+ to dynamically load a file into the inferior process */
+ #define CHILD_TO_LOAD rs6000_child_to_load
/* Flag for machine-specific stuff in shared files. FIXME */
#define IBM6000_TARGET
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads