]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
PR29788, gprofng cannot display Java's generated assembly code
authorVladimir Mezentsev <vladimir.mezentsev@oracle.com>
Wed, 16 Nov 2022 05:31:15 +0000 (21:31 -0800)
committerVladimir Mezentsev <vladimir.mezentsev@oracle.com>
Wed, 16 Nov 2022 16:54:19 +0000 (08:54 -0800)
gprofng/ChangeLog
2022-11-15  Vladimir Mezentsev  <vladimir.mezentsev@oracle.com>

PR gprofng/29788
* src/Experiment.h: Declare dyntext_name.
* src/Experiment.cc: Use dyntext_name to initialize img_fname.

gprofng/src/Experiment.cc
gprofng/src/Experiment.h

index 98aae9714ac3b1e00d556e38bd0f3ce3a2a2bcc8..44de387f3d2ba032fdc1ff4da5dc0142c97dc05e 100644 (file)
@@ -1370,6 +1370,7 @@ Experiment::Experiment ()
   expt_name = NULL;
   arch_name = NULL;
   fndr_arch_name = NULL;
+  dyntext_name = NULL;
   logFile = NULL;
 
   dataDscrs = new Vector<DataDescriptor*>;
@@ -1432,6 +1433,7 @@ Experiment::~Experiment ()
   free (expt_name);
   free (arch_name);
   free (fndr_arch_name);
+  free (dyntext_name);
   delete jthreads_idx;
   delete cstack;
   delete cstackShowHide;
@@ -6052,11 +6054,10 @@ Experiment::fetch_pprocq ()
 int
 Experiment::read_dyntext_file ()
 {
-  char *data_file_name = dbe_sprintf ("%s/%s", expt_name, SP_DYNTEXT_FILE);
-  Data_window *dwin = new Data_window (data_file_name);
+  dyntext_name = dbe_sprintf ("%s/%s", expt_name, SP_DYNTEXT_FILE);
+  Data_window *dwin = new Data_window (dyntext_name);
   if (dwin->not_opened ())
     {
-      free (data_file_name);
       delete dwin;
       return 1;
     }
@@ -6089,7 +6090,7 @@ Experiment::read_dyntext_file ()
        case DT_CODE:
          if (fp)
            {
-             fp->img_fname = data_file_name;
+             fp->img_fname = dyntext_name;
              fp->img_offset = offset + sizeof (DT_common);
              if ((platform != Intel) && (platform != Amd64))
                { //ARCH(SPARC)
@@ -6178,7 +6179,6 @@ Experiment::read_dyntext_file ()
       offset += cpcktsize;
     }
   free (progress_msg);
-  free (data_file_name);
   delete dwin;
   return 0;
 }
index 17c91bda23ef936a82aa310ce1a3aab2fcb552f3..46abbc73d3db30c8ada88606906b06d19a16f920 100644 (file)
@@ -434,7 +434,8 @@ protected:
   char *expt_name;      // name of experiment
   char *arch_name;      // <experiment>/archive
   char *fndr_arch_name; // <founder_experiment>/archive
-  //TBR? hrtime_t sample_time;  // total of sample durations
+  char *dyntext_name;   // <experiment>/dyntext
+
   int yyparse ();       // Allow yyparse actions to access
   Vaddr stack_base;     // Stack base