diff options
author | Robert Bradford <rob@openedhand.com> | 2007-01-17 15:59:58 +0000 |
---|---|---|
committer | Robert Bradford <rob@openedhand.com> | 2007-01-17 15:59:58 +0000 |
commit | e1140fb8f9c4c4c29917bab48af25095e0205348 (patch) | |
tree | 60f18de6a6d3c1df7d680828edcc675d3bfcdc05 | |
parent | b26da611c8e883819f3d13b30190ae27116c4da4 (diff) | |
download | openembedded-core-e1140fb8f9c4c4c29917bab48af25095e0205348.tar.gz openembedded-core-e1140fb8f9c4c4c29917bab48af25095e0205348.tar.bz2 openembedded-core-e1140fb8f9c4c4c29917bab48af25095e0205348.tar.xz openembedded-core-e1140fb8f9c4c4c29917bab48af25095e0205348.zip |
Add patch that fixes a bug in oparchive that resulted in the the debug data
overwriting the executables themselves. The patch fixes this by always putting
the debug data into a .debug subdirectory. This will then be picked up by
opreport when reading the archive in.
The oprofile_cvs.bb recipe was updated to use this patch.
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1158 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r-- | meta/packages/oprofile/oprofile/oparchive-debug-dir.patch | 24 | ||||
-rw-r--r-- | meta/packages/oprofile/oprofile_cvs.bb | 1 |
2 files changed, 25 insertions, 0 deletions
diff --git a/meta/packages/oprofile/oprofile/oparchive-debug-dir.patch b/meta/packages/oprofile/oprofile/oparchive-debug-dir.patch new file mode 100644 index 000000000..b87cd6422 --- /dev/null +++ b/meta/packages/oprofile/oprofile/oparchive-debug-dir.patch @@ -0,0 +1,24 @@ +Index: oprofile/pp/oparchive.cpp +=================================================================== +--- oprofile.orig/pp/oparchive.cpp 2007-01-17 15:55:12.000000000 +0000 ++++ oprofile/pp/oparchive.cpp 2007-01-17 15:55:39.000000000 +0000 +@@ -97,8 +97,17 @@ + if (find_separate_debug_file(ibfd, dirname, global, + debug_filename)) { + /* found something copy it over */ +- string dest_debug = options::outdirectory + +- dirname + "/" + ++ string dest_debug_dir = options::outdirectory + ++ dirname + "/.debug/"; ++ if (mkdir(dest_debug_dir.c_str(),0755) < 0) { ++ if (errno!=EEXIST) { ++ cerr << "Unable to create directory: " ++ << dest_debug_dir << "." << endl; ++ exit (EXIT_FAILURE); ++ } ++ } ++ ++ string dest_debug = dest_debug_dir + + op_basename(debug_filename); + copy_one_file(image_ok, debug_filename, dest_debug); + } diff --git a/meta/packages/oprofile/oprofile_cvs.bb b/meta/packages/oprofile/oprofile_cvs.bb index d6de526b0..71cf31ae2 100644 --- a/meta/packages/oprofile/oprofile_cvs.bb +++ b/meta/packages/oprofile/oprofile_cvs.bb @@ -8,6 +8,7 @@ DEPENDS = "popt binutils" SRC_URI = "cvs://anonymous@oprofile.cvs.sourceforge.net/cvsroot/oprofile;module=oprofile \ file://oprofile_eabi.patch;patch=1 \ + file://oparchive-debug-dir.patch;patch=1 \ file://acinclude.m4" S = "${WORKDIR}/oprofile" |