Reinclude gdb-dlopen-stap-probe.patch (missing in Fedora glibc - BZ 752476).

This commit is contained in:
Jan Kratochvil 2012-01-04 09:46:32 +01:00
parent 191f4d2883
commit e6cdbfd018
3 changed files with 57 additions and 54 deletions

View File

@ -2,11 +2,11 @@ From: Gary Benson <gbenson@redhat.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Message-ID: <20110810133605.GB7294@redhat.com>
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 4296d3a..fd5e9c3 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -321,6 +323,13 @@ static struct symbol *step_start_function;
Index: gdb-7.4.50.20120103/gdb/infrun.c
===================================================================
--- gdb-7.4.50.20120103.orig/gdb/infrun.c 2012-01-04 00:26:15.000000000 +0100
+++ gdb-7.4.50.20120103/gdb/infrun.c 2012-01-04 00:26:21.960833391 +0100
@@ -354,6 +354,13 @@ static struct symbol *step_start_functio
/* Nonzero if we want to give control to the user when we're notified
of shared library events by the dynamic linker. */
int stop_on_solib_events;
@ -20,7 +20,7 @@ index 4296d3a..fd5e9c3 100644
static void
show_stop_on_solib_events (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value)
@@ -7153,7 +7162,7 @@ Show stopping for shared library events."), _("\
@@ -7304,7 +7311,7 @@ Show stopping for shared library events.
If nonzero, gdb will give control to the user when the dynamic linker\n\
notifies gdb of shared library events. The most common event of interest\n\
to the user would be loading/unloading of a new library."),
@ -29,10 +29,10 @@ index 4296d3a..fd5e9c3 100644
show_stop_on_solib_events,
&setlist, &showlist);
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c
index dffc621..73cbe1c 100644
--- a/gdb/solib-svr4.c
+++ b/gdb/solib-svr4.c
Index: gdb-7.4.50.20120103/gdb/solib-svr4.c
===================================================================
--- gdb-7.4.50.20120103.orig/gdb/solib-svr4.c 2012-01-04 00:26:15.000000000 +0100
+++ gdb-7.4.50.20120103/gdb/solib-svr4.c 2012-01-04 00:29:56.303014562 +0100
@@ -48,6 +48,8 @@
#include "auxv.h"
#include "exceptions.h"
@ -42,7 +42,7 @@ index dffc621..73cbe1c 100644
static struct link_map_offsets *svr4_fetch_link_map_offsets (void);
static int svr4_have_link_map_offsets (void);
static void svr4_relocate_main_executable (void);
@@ -92,6 +94,32 @@ static const char * const solib_break_names[] =
@@ -93,6 +95,32 @@ static const char * const solib_break_na
NULL
};
@ -75,7 +75,7 @@ index dffc621..73cbe1c 100644
static const char * const bkpt_names[] =
{
"_start",
@@ -335,6 +363,12 @@ struct svr4_info
@@ -314,6 +342,12 @@ struct svr4_info
CORE_ADDR interp_text_sect_high;
CORE_ADDR interp_plt_sect_low;
CORE_ADDR interp_plt_sect_high;
@ -88,7 +88,7 @@ index dffc621..73cbe1c 100644
};
/* Per-program-space data key. */
@@ -344,8 +378,15 @@ static void
@@ -323,8 +357,15 @@ static void
svr4_pspace_data_cleanup (struct program_space *pspace, void *arg)
{
struct svr4_info *info;
@ -104,7 +104,7 @@ index dffc621..73cbe1c 100644
xfree (info);
}
@@ -1321,6 +1362,126 @@ exec_entry_point (struct bfd *abfd, struct target_ops *targ)
@@ -1445,6 +1486,126 @@ exec_entry_point (struct bfd *abfd, stru
targ);
}
@ -127,7 +127,7 @@ index dffc621..73cbe1c 100644
+ {
+ if (!probe_info[i].mandatory)
+ {
+ const struct stap_probe *probe;
+ struct stap_probe *probe;
+ int ix;
+
+ for (ix = 0;
@ -211,7 +211,7 @@ index dffc621..73cbe1c 100644
+
+ for (i = 0; i < NUM_PROBES; i++)
+ {
+ const struct stap_probe *probe;
+ struct stap_probe *probe;
+ int ix;
+
+ for (ix = 0;
@ -228,10 +228,10 @@ index dffc621..73cbe1c 100644
+ create_solib_event_breakpoint (gdbarch, address);
+}
+
/*
/* Helper function for gdb_bfd_lookup_symbol. */
LOCAL FUNCTION
@@ -1372,10 +1533,18 @@ enable_break (struct svr4_info *info, int from_tty)
static int
@@ -1493,10 +1654,18 @@ enable_break (struct svr4_info *info, in
asection *interp_sect;
gdb_byte *interp_name;
CORE_ADDR sym_addr;
@ -250,7 +250,7 @@ index dffc621..73cbe1c 100644
/* If we already have a shared library list in the target, and
r_debug contains r_brk, set the breakpoint there - this should
mean r_brk has already been relocated. Assume the dynamic linker
@@ -1407,7 +1576,7 @@ enable_break (struct svr4_info *info, int from_tty)
@@ -1528,7 +1697,7 @@ enable_break (struct svr4_info *info, in
That knowledge is encoded in the address, if it's Thumb the low bit
is 1. However, we've stripped that info above and it's not clear
what all the consequences are of passing a non-addr_bits_remove'd
@ -259,7 +259,7 @@ index dffc621..73cbe1c 100644
find_pc_section verifies we know about the address and have some
hope of computing the right kind of breakpoint to use (via
symbol info). It does mean that GDB needs to be pointed at a
@@ -1445,7 +1614,7 @@ enable_break (struct svr4_info *info, int from_tty)
@@ -1566,7 +1735,7 @@ enable_break (struct svr4_info *info, in
+ bfd_section_size (tmp_bfd, interp_sect);
}
@ -268,7 +268,7 @@ index dffc621..73cbe1c 100644
return 1;
}
}
@@ -1599,7 +1768,8 @@ enable_break (struct svr4_info *info, int from_tty)
@@ -1721,7 +1890,8 @@ enable_break (struct svr4_info *info, in
if (sym_addr != 0)
{
@ -278,7 +278,7 @@ index dffc621..73cbe1c 100644
xfree (interp_name);
return 1;
}
@@ -1625,7 +1795,7 @@ enable_break (struct svr4_info *info, int from_tty)
@@ -1747,7 +1917,7 @@ enable_break (struct svr4_info *info, in
sym_addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch,
sym_addr,
&current_target);
@ -287,7 +287,7 @@ index dffc621..73cbe1c 100644
return 1;
}
}
@@ -1641,7 +1811,7 @@ enable_break (struct svr4_info *info, int from_tty)
@@ -1763,7 +1933,7 @@ enable_break (struct svr4_info *info, in
sym_addr = gdbarch_convert_from_func_ptr_addr (target_gdbarch,
sym_addr,
&current_target);
@ -296,17 +296,17 @@ index dffc621..73cbe1c 100644
return 1;
}
}
@@ -2470,4 +2640,5 @@ _initialize_svr4_solib (void)
@@ -2539,4 +2709,5 @@ _initialize_svr4_solib (void)
svr4_so_ops.lookup_lib_global_symbol = elf_lookup_lib_symbol;
svr4_so_ops.same = svr4_same;
svr4_so_ops.keep_data_in_core = svr4_keep_data_in_core;
+ svr4_so_ops.update_breakpoints = svr4_update_solib_event_breakpoints;
}
diff --git a/gdb/solib.c b/gdb/solib.c
index 3296ed4..7ba70ce 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -1313,6 +1313,18 @@ no_shared_libraries (char *ignored, int from_tty)
Index: gdb-7.4.50.20120103/gdb/solib.c
===================================================================
--- gdb-7.4.50.20120103.orig/gdb/solib.c 2012-01-04 00:26:15.000000000 +0100
+++ gdb-7.4.50.20120103/gdb/solib.c 2012-01-04 00:29:07.751200038 +0100
@@ -1214,6 +1214,18 @@ no_shared_libraries (char *ignored, int
objfile_purge_solibs ();
}
@ -325,24 +325,24 @@ index 3296ed4..7ba70ce 100644
/* Reload shared libraries, but avoid reloading the same symbol file
we already have loaded. */
diff --git a/gdb/solib.h b/gdb/solib.h
index c473d85..7b3881c 100644
--- a/gdb/solib.h
+++ b/gdb/solib.h
@@ -78,4 +78,8 @@ extern void set_solib_ops (struct gdbarch *gdbarch,
extern int libpthread_name_p (const char *name);
Index: gdb-7.4.50.20120103/gdb/solib.h
===================================================================
--- gdb-7.4.50.20120103.orig/gdb/solib.h 2011-08-30 04:48:05.000000000 +0200
+++ gdb-7.4.50.20120103/gdb/solib.h 2012-01-04 00:27:40.415533686 +0100
@@ -91,4 +91,8 @@ extern CORE_ADDR bfd_lookup_symbol_from_
void *),
void *data);
+/* Enable or disable optional solib event breakpoints as appropriate. */
+
+extern void update_solib_breakpoints (void);
+
#endif /* SOLIB_H */
diff --git a/gdb/solist.h b/gdb/solist.h
index dad11be..14ede10 100644
--- a/gdb/solist.h
+++ b/gdb/solist.h
@@ -137,6 +137,13 @@ struct target_so_ops
Index: gdb-7.4.50.20120103/gdb/solist.h
===================================================================
--- gdb-7.4.50.20120103.orig/gdb/solist.h 2011-08-09 14:51:47.000000000 +0200
+++ gdb-7.4.50.20120103/gdb/solist.h 2012-01-04 00:26:21.962833383 +0100
@@ -149,6 +149,13 @@ struct target_so_ops
core file (in particular, for readonly sections). */
int (*keep_data_in_core) (CORE_ADDR vaddr,
unsigned long size);

View File

@ -15,7 +15,7 @@ But there is a problem with testsuite.unix non-unique subdir name and also
a problem with make -j parallelization of the testsuite.
--- gdb-7.3.50.20110722/gdb/testsuite/lib/future.exp 2011-10-11 16:44:05.000000000 +0200
+++ gdb-7.3.50.20110722/gdb/testsuite/lib/future.exp2 2011-10-11 16:44:10.000000000 +0200
+++ gdb-7.3.50.20110722/gdb/testsuite/lib/future.exp 2011-10-11 16:44:10.000000000 +0200
@@ -77,6 +77,10 @@ proc gdb_default_target_compile {source
set ldflags ""
set dest [target_info name]

View File

@ -27,7 +27,7 @@ Version: 7.4.50.20120103
# The release always contains a leading reserved number, start it at 1.
# `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing.
Release: 2%{?_with_upstream:.upstream}%{?dist}
Release: 3%{?_with_upstream:.upstream}%{?dist}
License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
Group: Development/Debuggers
@ -369,12 +369,7 @@ Patch348: gdb-6.8-bz466901-backtrace-full-prelinked.patch
# The merged branch `archer-jankratochvil-fedora15' of:
# http://sourceware.org/gdb/wiki/ProjectArcher
#=push
#archer-jankratochvil-vla
#=push
#archer-jankratochvil-watchpoint3
#=push
#archer-jankratochvil-ifunc
#=push+work
Patch349: gdb-archer.patch
# Fix parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457187).
@ -487,11 +482,11 @@ Patch526: gdb-bz634108-solib_address.patch
Patch542: gdb-test-pid0-core.patch
# [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp.
# =fedoratest
#=fedoratest
Patch547: gdb-test-dw2-aranges.patch
# [archer-keiths-expr-cumulative+upstream] Import C++ testcases.
# =fedoratest
#=fedoratest
Patch548: gdb-test-expr-cumulative-archer.patch
# Toolchain on sparc is slightly broken and debuginfo files are generated
@ -505,19 +500,24 @@ Patch548: gdb-test-expr-cumulative-archer.patch
#
# While we figure out what's wrong in the toolchain and do a full archive
# rebuild to fix it, we need to be able to use gdb :)
#=push+work
Patch579: gdb-7.2.50-sparc-add-workaround-to-broken-debug-files.patch
# Fix dlopen of libpthread.so, patched glibc required (Gary Benson, BZ 669432).
#FIXME:Patch618: gdb-dlopen-stap-probe.patch
#=push
Patch618: gdb-dlopen-stap-probe.patch
Patch619: gdb-dlopen-stap-probe-test.patch
# Work around PR libc/13097 "linux-vdso.so.1" warning message.
#=push
Patch627: gdb-glibc-vdso-workaround.patch
# Hack for proper PIE run of the testsuite.
#=push+work
Patch634: gdb-runtest-pie-override.patch
# Fix zero registers core files w/gcc-4.7.
#=push
Patch638: gdb-gcc47-gcore-zero.patch
BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa}
@ -777,7 +777,7 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
%patch547 -p1
%patch548 -p1
%patch579 -p1
#FIXME:patch618 -p1
%patch618 -p1
%patch619 -p1
%patch627 -p1
%patch634 -p1
@ -1197,6 +1197,9 @@ fi
%{_infodir}/gdb.info*
%changelog
* Wed Jan 4 2012 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.4.50.20120103-3.fc17
- Reinclude gdb-dlopen-stap-probe.patch (missing in Fedora glibc - BZ 752476).
* Tue Jan 3 2012 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.4.50.20120103-2.fc17
- Fix SystemTap support regression on i686 (Sergio Durigan Junior).