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
This commit is contained in:
Robert Bradford 2007-01-17 15:59:58 +00:00
parent b26da611c8
commit e1140fb8f9
2 changed files with 25 additions and 0 deletions

View File

@ -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);
}

View File

@ -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"