aboutsummaryrefslogtreecommitdiff
path: root/gprofng
diff options
context:
space:
mode:
authorVladimir Mezentsev <vladimir.mezentsev@oracle.com>2022-11-15 21:31:15 -0800
committerVladimir Mezentsev <vladimir.mezentsev@oracle.com>2022-11-16 08:54:19 -0800
commitab11c8905fecb3f2321f0a0ea2e719648560f2ad (patch)
treea2018683568bf752d203ab819f23faa13964e829 /gprofng
parentcf76db71dd68d33593fdd5b6825ddc0e62735e50 (diff)
downloadbinutils-ab11c8905fecb3f2321f0a0ea2e719648560f2ad.zip
binutils-ab11c8905fecb3f2321f0a0ea2e719648560f2ad.tar.gz
binutils-ab11c8905fecb3f2321f0a0ea2e719648560f2ad.tar.bz2
PR29788, gprofng cannot display Java's generated assembly code
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.
Diffstat (limited to 'gprofng')
-rw-r--r--gprofng/src/Experiment.cc10
-rw-r--r--gprofng/src/Experiment.h3
2 files changed, 7 insertions, 6 deletions
diff --git a/gprofng/src/Experiment.cc b/gprofng/src/Experiment.cc
index 98aae97..44de387 100644
--- a/gprofng/src/Experiment.cc
+++ b/gprofng/src/Experiment.cc
@@ -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;
}
diff --git a/gprofng/src/Experiment.h b/gprofng/src/Experiment.h
index 17c91bd..46abbc7 100644
--- a/gprofng/src/Experiment.h
+++ b/gprofng/src/Experiment.h
@@ -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