瀏覽代碼

disable branch trace support for i386/amd64, doesn't compile for musl based systems

Waldemar Brodkorb 10 年之前
父節點
當前提交
4fed3d2f26

+ 73 - 0
package/gdb/patches/patch-gdb_amd64-linux-nat_c

@@ -0,0 +1,73 @@
+--- gdb-7.6.orig/gdb/amd64-linux-nat.c	2013-03-11 09:25:57.000000000 +0100
++++ gdb-7.6/gdb/amd64-linux-nat.c	2013-09-04 13:29:05.000000000 +0200
+@@ -25,8 +25,6 @@
+ #include "regset.h"
+ #include "linux-nat.h"
+ #include "amd64-linux-tdep.h"
+-#include "linux-btrace.h"
+-#include "btrace.h"
+ 
+ #include "gdb_assert.h"
+ #include "gdb_string.h"
+@@ -1121,47 +1119,6 @@ amd64_linux_read_description (struct tar
+     }
+ }
+ 
+-/* Enable branch tracing.  */
+-
+-static struct btrace_target_info *
+-amd64_linux_enable_btrace (ptid_t ptid)
+-{
+-  struct btrace_target_info *tinfo;
+-  struct gdbarch *gdbarch;
+-
+-  errno = 0;
+-  tinfo = linux_enable_btrace (ptid);
+-
+-  if (tinfo == NULL)
+-    error (_("Could not enable branch tracing for %s: %s."),
+-	   target_pid_to_str (ptid), safe_strerror (errno));
+-
+-  /* Fill in the size of a pointer in bits.  */
+-  gdbarch = target_thread_architecture (ptid);
+-  tinfo->ptr_bits = gdbarch_ptr_bit (gdbarch);
+-
+-  return tinfo;
+-}
+-
+-/* Disable branch tracing.  */
+-
+-static void
+-amd64_linux_disable_btrace (struct btrace_target_info *tinfo)
+-{
+-  int errcode = linux_disable_btrace (tinfo);
+-
+-  if (errcode != 0)
+-    error (_("Could not disable branch tracing: %s."), safe_strerror (errcode));
+-}
+-
+-/* Teardown branch tracing.  */
+-
+-static void
+-amd64_linux_teardown_btrace (struct btrace_target_info *tinfo)
+-{
+-  /* Ignore errors.  */
+-  linux_disable_btrace (tinfo);
+-}
+ 
+ /* Provide a prototype to silence -Wmissing-prototypes.  */
+ void _initialize_amd64_linux_nat (void);
+@@ -1201,13 +1158,6 @@ _initialize_amd64_linux_nat (void)
+ 
+   t->to_read_description = amd64_linux_read_description;
+ 
+-  /* Add btrace methods.  */
+-  t->to_supports_btrace = linux_supports_btrace;
+-  t->to_enable_btrace = amd64_linux_enable_btrace;
+-  t->to_disable_btrace = amd64_linux_disable_btrace;
+-  t->to_teardown_btrace = amd64_linux_teardown_btrace;
+-  t->to_read_btrace = linux_read_btrace;
+-
+   /* Register the target.  */
+   linux_nat_add_target (t);
+   linux_nat_set_new_thread (t, amd64_linux_new_thread);

+ 11 - 0
package/gdb/patches/patch-gdb_config_i386_linux64_mh

@@ -0,0 +1,11 @@
+--- gdb-7.6.orig/gdb/config/i386/linux64.mh	2013-03-11 09:25:58.000000000 +0100
++++ gdb-7.6/gdb/config/i386/linux64.mh	2013-09-04 13:19:59.000000000 +0200
+@@ -3,7 +3,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
+ 	i386-nat.o amd64-nat.o amd64-linux-nat.o \
+ 	linux-nat.o linux-osdata.o \
+ 	proc-service.o linux-thread-db.o linux-fork.o \
+-	linux-procfs.o linux-ptrace.o linux-btrace.o
++	linux-procfs.o linux-ptrace.o
+ NAT_FILE= config/nm-linux.h
+ NAT_CDEPS = $(srcdir)/proc-service.list
+ 

+ 12 - 0
package/gdb/patches/patch-gdb_config_i386_linux_mh

@@ -0,0 +1,12 @@
+--- gdb-7.6.orig/gdb/config/i386/linux.mh	2013-03-11 09:25:58.000000000 +0100
++++ gdb-7.6/gdb/config/i386/linux.mh	2013-09-04 13:19:46.000000000 +0200
+@@ -4,8 +4,7 @@ NAT_FILE= config/nm-linux.h
+ NATDEPFILES= inf-ptrace.o fork-child.o \
+ 	i386-nat.o i386-linux-nat.o \
+ 	proc-service.o linux-thread-db.o \
+-	linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
+-	linux-btrace.o
++	linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o
+ NAT_CDEPS = $(srcdir)/proc-service.list
+ 
+ # The dynamically loaded libthread_db needs access to symbols in the

+ 73 - 0
package/gdb/patches/patch-gdb_i386-linux-nat_c

@@ -0,0 +1,73 @@
+--- gdb-7.6.orig/gdb/i386-linux-nat.c	2013-03-11 09:25:57.000000000 +0100
++++ gdb-7.6/gdb/i386-linux-nat.c	2013-09-04 13:28:35.000000000 +0200
+@@ -25,8 +25,6 @@
+ #include "regset.h"
+ #include "target.h"
+ #include "linux-nat.h"
+-#include "linux-btrace.h"
+-#include "btrace.h"
+ 
+ #include "gdb_assert.h"
+ #include "gdb_string.h"
+@@ -1048,47 +1046,6 @@ i386_linux_read_description (struct targ
+     return tdesc_i386_linux;
+ }
+ 
+-/* Enable branch tracing.  */
+-
+-static struct btrace_target_info *
+-i386_linux_enable_btrace (ptid_t ptid)
+-{
+-  struct btrace_target_info *tinfo;
+-  struct gdbarch *gdbarch;
+-
+-  errno = 0;
+-  tinfo = linux_enable_btrace (ptid);
+-
+-  if (tinfo == NULL)
+-    error (_("Could not enable branch tracing for %s: %s."),
+-	   target_pid_to_str (ptid), safe_strerror (errno));
+-
+-  /* Fill in the size of a pointer in bits.  */
+-  gdbarch = target_thread_architecture (ptid);
+-  tinfo->ptr_bits = gdbarch_ptr_bit (gdbarch);
+-
+-  return tinfo;
+-}
+-
+-/* Disable branch tracing.  */
+-
+-static void
+-i386_linux_disable_btrace (struct btrace_target_info *tinfo)
+-{
+-  int errcode = linux_disable_btrace (tinfo);
+-
+-  if (errcode != 0)
+-    error (_("Could not disable branch tracing: %s."), safe_strerror (errcode));
+-}
+-
+-/* Teardown branch tracing.  */
+-
+-static void
+-i386_linux_teardown_btrace (struct btrace_target_info *tinfo)
+-{
+-  /* Ignore errors.  */
+-  linux_disable_btrace (tinfo);
+-}
+ 
+ /* -Wmissing-prototypes */
+ extern initialize_file_ftype _initialize_i386_linux_nat;
+@@ -1123,13 +1080,6 @@ _initialize_i386_linux_nat (void)
+ 
+   t->to_read_description = i386_linux_read_description;
+ 
+-  /* Add btrace methods.  */
+-  t->to_supports_btrace = linux_supports_btrace;
+-  t->to_enable_btrace = i386_linux_enable_btrace;
+-  t->to_disable_btrace = i386_linux_disable_btrace;
+-  t->to_teardown_btrace = i386_linux_teardown_btrace;
+-  t->to_read_btrace = linux_read_btrace;
+-
+   /* Register the target.  */
+   linux_nat_add_target (t);
+   linux_nat_set_new_thread (t, i386_linux_new_thread);