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 | poky-e1140fb8f9c4c4c29917bab48af25095e0205348.tar.gz | |
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 0000000000..b87cd6422e --- /dev/null +++ b/meta/packages/oprofile/oprofile/oparchive-debug-dir.patch | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | Index: oprofile/pp/oparchive.cpp | ||
| 2 | =================================================================== | ||
| 3 | --- oprofile.orig/pp/oparchive.cpp 2007-01-17 15:55:12.000000000 +0000 | ||
| 4 | +++ oprofile/pp/oparchive.cpp 2007-01-17 15:55:39.000000000 +0000 | ||
| 5 | @@ -97,8 +97,17 @@ | ||
| 6 | if (find_separate_debug_file(ibfd, dirname, global, | ||
| 7 | debug_filename)) { | ||
| 8 | /* found something copy it over */ | ||
| 9 | - string dest_debug = options::outdirectory + | ||
| 10 | - dirname + "/" + | ||
| 11 | + string dest_debug_dir = options::outdirectory + | ||
| 12 | + dirname + "/.debug/"; | ||
| 13 | + if (mkdir(dest_debug_dir.c_str(),0755) < 0) { | ||
| 14 | + if (errno!=EEXIST) { | ||
| 15 | + cerr << "Unable to create directory: " | ||
| 16 | + << dest_debug_dir << "." << endl; | ||
| 17 | + exit (EXIT_FAILURE); | ||
| 18 | + } | ||
| 19 | + } | ||
| 20 | + | ||
| 21 | + string dest_debug = dest_debug_dir + | ||
| 22 | op_basename(debug_filename); | ||
| 23 | copy_one_file(image_ok, debug_filename, dest_debug); | ||
| 24 | } | ||
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" | |||
| 8 | 8 | ||
| 9 | SRC_URI = "cvs://anonymous@oprofile.cvs.sourceforge.net/cvsroot/oprofile;module=oprofile \ | 9 | SRC_URI = "cvs://anonymous@oprofile.cvs.sourceforge.net/cvsroot/oprofile;module=oprofile \ |
| 10 | file://oprofile_eabi.patch;patch=1 \ | 10 | file://oprofile_eabi.patch;patch=1 \ |
| 11 | file://oparchive-debug-dir.patch;patch=1 \ | ||
| 11 | file://acinclude.m4" | 12 | file://acinclude.m4" |
| 12 | S = "${WORKDIR}/oprofile" | 13 | S = "${WORKDIR}/oprofile" |
| 13 | 14 | ||
