[BACK]Return to elf_syms.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / pmdb

Diff for /src/usr.bin/pmdb/Attic/elf_syms.c between version 1.6 and 1.7

version 1.6, 2002/07/22 01:20:50 version 1.7, 2002/07/31 04:42:01
Line 311 
Line 311 
         return BKPT_KEEP_CONT;          return BKPT_KEEP_CONT;
 }  }
   
   /* Is the ABI really so daft that it doesn't include the linking offset? */
   struct xlink_map {
           struct link_map lm;
           Elf_Addr a;
   };
   
 /*  /*
  * Called after execution started so that we can load any dynamic symbols.   * Called after execution started so that we can load any dynamic symbols.
  */   */
Line 318 
Line 324 
 elf_update(struct pstate *ps)  elf_update(struct pstate *ps)
 {  {
 #ifndef __NetBSD__  #ifndef __NetBSD__
         struct elf_object_v1 eobj;          struct xlink_map xlm;
   #define lm xlm.lm
         struct r_debug rdeb;          struct r_debug rdeb;
         reg addr;          reg addr;
         Elf_Dyn dyn;          Elf_Dyn dyn;
Line 369 
Line 376 
                 char fname[MAXPATHLEN];                  char fname[MAXPATHLEN];
                 int i;                  int i;
   
                 if (process_read(ps, addr, &eobj, sizeof(eobj)) < 0) {                  if (process_read(ps, addr, &xlm, sizeof(xlm)) < 0) {
                         warnx("Can't read symbols...");                          warnx("Can't read symbols...");
                         return;                          return;
                 }                  }
   
                 addr = (Elf_Addr)eobj.next;                  addr = (Elf_Addr)lm.l_next;
   
                 if (eobj.load_name == NULL || eobj.load_name == (char *)-1)                  if (lm.l_name == NULL || lm.l_name == (char *)-1)
                         continue;                          continue;
                 if (process_read(ps, (Elf_Addr)eobj.load_name, fname,                  if (process_read(ps, (Elf_Addr)lm.l_name, fname,
                     sizeof(fname)) < 0) {                      sizeof(fname)) < 0) {
                         warnx("Can't read symbols...");                          warnx("Can't read symbols...");
                         return;                          return;
Line 391 
Line 398 
                 if (i == MAXPATHLEN)                  if (i == MAXPATHLEN)
                         continue;                          continue;
   
                 if (st_open(ps, fname, eobj.load_offs) == NULL)                  if (st_open(ps, fname, xlm.a) == NULL)
                         warn("symbol loading failed");                          warn("symbol loading failed");
         }          }
 #endif  #endif

Legend:
Removed from v.1.6  
changed lines
  Added in v.1.7