summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRobert Bradford <rob@openedhand.com>2007-01-17 15:59:58 +0000
committerRobert Bradford <rob@openedhand.com>2007-01-17 15:59:58 +0000
commite1140fb8f9c4c4c29917bab48af25095e0205348 (patch)
tree60f18de6a6d3c1df7d680828edcc675d3bfcdc05 /meta
parentb26da611c8e883819f3d13b30190ae27116c4da4 (diff)
downloadpoky-e1140fb8f9c4c4c29917bab48af25095e0205348.tar.gz
poky-e1140fb8f9c4c4c29917bab48af25095e0205348.tar.bz2
poky-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
Diffstat (limited to 'meta')
-rw-r--r--meta/packages/oprofile/oprofile/oparchive-debug-dir.patch24
-rw-r--r--meta/packages/oprofile/oprofile_cvs.bb1
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 0000000000..b87cd6422e
--- /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 d6de526b07..71cf31ae22 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"