summaryrefslogtreecommitdiff
path: root/package/mrd6/patches/patch-src_linux_mrd_components_cpp
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2010-11-12 22:58:45 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2010-11-12 22:58:45 +0100
commitd29b7059e0e3dacc3e051c310eabaecabe19a8d2 (patch)
tree078693d3be8a0d6096587f5ac01b2ffc76dc8626 /package/mrd6/patches/patch-src_linux_mrd_components_cpp
parent4129680028eaddf98219126f787b08551bbf7088 (diff)
updates and build fixes for a lot of packages
compiled for ibmx40 with eglibc.
Diffstat (limited to 'package/mrd6/patches/patch-src_linux_mrd_components_cpp')
-rw-r--r--package/mrd6/patches/patch-src_linux_mrd_components_cpp59
1 files changed, 52 insertions, 7 deletions
diff --git a/package/mrd6/patches/patch-src_linux_mrd_components_cpp b/package/mrd6/patches/patch-src_linux_mrd_components_cpp
index e604a63dd..4416c29db 100644
--- a/package/mrd6/patches/patch-src_linux_mrd_components_cpp
+++ b/package/mrd6/patches/patch-src_linux_mrd_components_cpp
@@ -1,14 +1,59 @@
--- mrd6-0.9.6.orig/src/linux/mrd_components.cpp 2007-01-07 03:11:27.000000000 +0100
-+++ mrd6-0.9.6/src/linux/mrd_components.cpp 2009-06-19 21:49:44.000000000 +0200
-@@ -90,10 +90,8 @@ char *mrd::obtain_frame_description(void
++++ mrd6-0.9.6/src/linux/mrd_components.cpp 2010-11-11 11:16:08.114995686 +0100
+@@ -28,10 +28,6 @@
+ #include <mrdpriv/linux/us_mfa.h>
+ #include <mrdpriv/linux/icmp_raw.h>
+
+-#if defined(__GLIBC__) && !defined(__UCLIBC__)
+-#include <execinfo.h>
+-#endif
+-
+ bool mrd::prepare_os_components() {
+ m_mfa = new us_mfa();
+
+@@ -57,45 +53,14 @@ const char *mrd::loopback_interface_name
+ #define MAX_DEEP_BACKTRACE 32
+
+ void mrd::output_backtrace(base_stream &out) const {
+-#if defined(__GLIBC__) && !defined(__UCLIBC__)
+- void *bt[MAX_DEEP_BACKTRACE];
+-
+- int count = backtrace(bt, MAX_DEEP_BACKTRACE);
+-
+- char **btnames = backtrace_symbols(bt, count);
+-
+- for (int i = 0; i < count; i++) {
+- out.xprintf("#%i %s\n", i+1, btnames[i]);
+- }
+-
+- free(btnames);
+-#else
+ out.writeline("Backtraces aren't available in this system.");
+-#endif
+ }
+
+ char *mrd::obtain_frame_description(void *ptr) const {
+-#if defined(__GLIBC__) && !defined(__UCLIBC__)
+- void *p[1] = { ptr };
+-
+- char **names = backtrace_symbols(p, 1);
+- char *ret = strdup(names[0]);
+- free(names);
+-
+- return ret;
+-#else
+ return 0;
+-#endif
+ }
void *mrd::posix_uctx::get_current_frame() const {
- #if defined(__GLIBC__)
+-#if defined(__GLIBC__)
-#if defined(__i386__)
-+#if defined(__i386__)
- return (void *)base->uc_mcontext.gregs[REG_EIP];
+- return (void *)base->uc_mcontext.gregs[REG_EIP];
-#elif defined(__mips__)
- return (void *)base->uc_mcontext.gpregs[CTX_EPC];
- #endif
- #endif
+-#endif
+-#endif
return 0;
+ }
+