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> To: Jan Kratochvil <jan.kratochvil@redhat.com>
Message-ID: <20110810133605.GB7294@redhat.com> Message-ID: <20110810133605.GB7294@redhat.com>
diff --git a/gdb/infrun.c b/gdb/infrun.c Index: gdb-7.4.50.20120103/gdb/infrun.c
index 4296d3a..fd5e9c3 100644 ===================================================================
--- a/gdb/infrun.c --- gdb-7.4.50.20120103.orig/gdb/infrun.c 2012-01-04 00:26:15.000000000 +0100
+++ b/gdb/infrun.c +++ gdb-7.4.50.20120103/gdb/infrun.c 2012-01-04 00:26:21.960833391 +0100
@@ -321,6 +323,13 @@ static struct symbol *step_start_function; @@ -354,6 +354,13 @@ static struct symbol *step_start_functio
/* Nonzero if we want to give control to the user when we're notified /* Nonzero if we want to give control to the user when we're notified
of shared library events by the dynamic linker. */ of shared library events by the dynamic linker. */
int stop_on_solib_events; int stop_on_solib_events;
@ -20,7 +20,7 @@ index 4296d3a..fd5e9c3 100644
static void static void
show_stop_on_solib_events (struct ui_file *file, int from_tty, show_stop_on_solib_events (struct ui_file *file, int from_tty,
struct cmd_list_element *c, const char *value) 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\ 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\ notifies gdb of shared library events. The most common event of interest\n\
to the user would be loading/unloading of a new library."), to the user would be loading/unloading of a new library."),
@ -29,10 +29,10 @@ index 4296d3a..fd5e9c3 100644
show_stop_on_solib_events, show_stop_on_solib_events,
&setlist, &showlist); &setlist, &showlist);
diff --git a/gdb/solib-svr4.c b/gdb/solib-svr4.c Index: gdb-7.4.50.20120103/gdb/solib-svr4.c
index dffc621..73cbe1c 100644 ===================================================================
--- a/gdb/solib-svr4.c --- gdb-7.4.50.20120103.orig/gdb/solib-svr4.c 2012-01-04 00:26:15.000000000 +0100
+++ b/gdb/solib-svr4.c +++ gdb-7.4.50.20120103/gdb/solib-svr4.c 2012-01-04 00:29:56.303014562 +0100
@@ -48,6 +48,8 @@ @@ -48,6 +48,8 @@
#include "auxv.h" #include "auxv.h"
#include "exceptions.h" #include "exceptions.h"
@ -42,7 +42,7 @@ index dffc621..73cbe1c 100644
static struct link_map_offsets *svr4_fetch_link_map_offsets (void); static struct link_map_offsets *svr4_fetch_link_map_offsets (void);
static int svr4_have_link_map_offsets (void); static int svr4_have_link_map_offsets (void);
static void svr4_relocate_main_executable (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 NULL
}; };
@ -75,7 +75,7 @@ index dffc621..73cbe1c 100644
static const char * const bkpt_names[] = static const char * const bkpt_names[] =
{ {
"_start", "_start",
@@ -335,6 +363,12 @@ struct svr4_info @@ -314,6 +342,12 @@ struct svr4_info
CORE_ADDR interp_text_sect_high; CORE_ADDR interp_text_sect_high;
CORE_ADDR interp_plt_sect_low; CORE_ADDR interp_plt_sect_low;
CORE_ADDR interp_plt_sect_high; CORE_ADDR interp_plt_sect_high;
@ -88,7 +88,7 @@ index dffc621..73cbe1c 100644
}; };
/* Per-program-space data key. */ /* 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) svr4_pspace_data_cleanup (struct program_space *pspace, void *arg)
{ {
struct svr4_info *info; struct svr4_info *info;
@ -104,7 +104,7 @@ index dffc621..73cbe1c 100644
xfree (info); 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); targ);
} }
@ -127,7 +127,7 @@ index dffc621..73cbe1c 100644
+ { + {
+ if (!probe_info[i].mandatory) + if (!probe_info[i].mandatory)
+ { + {
+ const struct stap_probe *probe; + struct stap_probe *probe;
+ int ix; + int ix;
+ +
+ for (ix = 0; + for (ix = 0;
@ -211,7 +211,7 @@ index dffc621..73cbe1c 100644
+ +
+ for (i = 0; i < NUM_PROBES; i++) + for (i = 0; i < NUM_PROBES; i++)
+ { + {
+ const struct stap_probe *probe; + struct stap_probe *probe;
+ int ix; + int ix;
+ +
+ for (ix = 0; + for (ix = 0;
@ -228,10 +228,10 @@ index dffc621..73cbe1c 100644
+ create_solib_event_breakpoint (gdbarch, address); + create_solib_event_breakpoint (gdbarch, address);
+} +}
+ +
/* /* Helper function for gdb_bfd_lookup_symbol. */
LOCAL FUNCTION static int
@@ -1372,10 +1533,18 @@ enable_break (struct svr4_info *info, int from_tty) @@ -1493,10 +1654,18 @@ enable_break (struct svr4_info *info, in
asection *interp_sect; asection *interp_sect;
gdb_byte *interp_name; gdb_byte *interp_name;
CORE_ADDR sym_addr; CORE_ADDR sym_addr;
@ -250,7 +250,7 @@ index dffc621..73cbe1c 100644
/* If we already have a shared library list in the target, and /* If we already have a shared library list in the target, and
r_debug contains r_brk, set the breakpoint there - this should r_debug contains r_brk, set the breakpoint there - this should
mean r_brk has already been relocated. Assume the dynamic linker 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 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 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 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 find_pc_section verifies we know about the address and have some
hope of computing the right kind of breakpoint to use (via hope of computing the right kind of breakpoint to use (via
symbol info). It does mean that GDB needs to be pointed at a 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); + bfd_section_size (tmp_bfd, interp_sect);
} }
@ -268,7 +268,7 @@ index dffc621..73cbe1c 100644
return 1; 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) if (sym_addr != 0)
{ {
@ -278,7 +278,7 @@ index dffc621..73cbe1c 100644
xfree (interp_name); xfree (interp_name);
return 1; 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 = gdbarch_convert_from_func_ptr_addr (target_gdbarch,
sym_addr, sym_addr,
&current_target); &current_target);
@ -287,7 +287,7 @@ index dffc621..73cbe1c 100644
return 1; 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 = gdbarch_convert_from_func_ptr_addr (target_gdbarch,
sym_addr, sym_addr,
&current_target); &current_target);
@ -296,17 +296,17 @@ index dffc621..73cbe1c 100644
return 1; 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.lookup_lib_global_symbol = elf_lookup_lib_symbol;
svr4_so_ops.same = svr4_same; svr4_so_ops.same = svr4_same;
svr4_so_ops.keep_data_in_core = svr4_keep_data_in_core; svr4_so_ops.keep_data_in_core = svr4_keep_data_in_core;
+ svr4_so_ops.update_breakpoints = svr4_update_solib_event_breakpoints; + svr4_so_ops.update_breakpoints = svr4_update_solib_event_breakpoints;
} }
diff --git a/gdb/solib.c b/gdb/solib.c Index: gdb-7.4.50.20120103/gdb/solib.c
index 3296ed4..7ba70ce 100644 ===================================================================
--- a/gdb/solib.c --- gdb-7.4.50.20120103.orig/gdb/solib.c 2012-01-04 00:26:15.000000000 +0100
+++ b/gdb/solib.c +++ gdb-7.4.50.20120103/gdb/solib.c 2012-01-04 00:29:07.751200038 +0100
@@ -1313,6 +1313,18 @@ no_shared_libraries (char *ignored, int from_tty) @@ -1214,6 +1214,18 @@ no_shared_libraries (char *ignored, int
objfile_purge_solibs (); objfile_purge_solibs ();
} }
@ -325,24 +325,24 @@ index 3296ed4..7ba70ce 100644
/* Reload shared libraries, but avoid reloading the same symbol file /* Reload shared libraries, but avoid reloading the same symbol file
we already have loaded. */ we already have loaded. */
diff --git a/gdb/solib.h b/gdb/solib.h Index: gdb-7.4.50.20120103/gdb/solib.h
index c473d85..7b3881c 100644 ===================================================================
--- a/gdb/solib.h --- gdb-7.4.50.20120103.orig/gdb/solib.h 2011-08-30 04:48:05.000000000 +0200
+++ b/gdb/solib.h +++ gdb-7.4.50.20120103/gdb/solib.h 2012-01-04 00:27:40.415533686 +0100
@@ -78,4 +78,8 @@ extern void set_solib_ops (struct gdbarch *gdbarch, @@ -91,4 +91,8 @@ extern CORE_ADDR bfd_lookup_symbol_from_
void *),
extern int libpthread_name_p (const char *name); void *data);
+/* Enable or disable optional solib event breakpoints as appropriate. */ +/* Enable or disable optional solib event breakpoints as appropriate. */
+ +
+extern void update_solib_breakpoints (void); +extern void update_solib_breakpoints (void);
+ +
#endif /* SOLIB_H */ #endif /* SOLIB_H */
diff --git a/gdb/solist.h b/gdb/solist.h Index: gdb-7.4.50.20120103/gdb/solist.h
index dad11be..14ede10 100644 ===================================================================
--- a/gdb/solist.h --- gdb-7.4.50.20120103.orig/gdb/solist.h 2011-08-09 14:51:47.000000000 +0200
+++ b/gdb/solist.h +++ gdb-7.4.50.20120103/gdb/solist.h 2012-01-04 00:26:21.962833383 +0100
@@ -137,6 +137,13 @@ struct target_so_ops @@ -149,6 +149,13 @@ struct target_so_ops
core file (in particular, for readonly sections). */ core file (in particular, for readonly sections). */
int (*keep_data_in_core) (CORE_ADDR vaddr, int (*keep_data_in_core) (CORE_ADDR vaddr,
unsigned long size); 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. 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.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 @@ -77,6 +77,10 @@ proc gdb_default_target_compile {source
set ldflags "" set ldflags ""
set dest [target_info name] 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. # 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. # `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 License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and BSD and Public Domain
Group: Development/Debuggers Group: Development/Debuggers
@ -369,12 +369,7 @@ Patch348: gdb-6.8-bz466901-backtrace-full-prelinked.patch
# The merged branch `archer-jankratochvil-fedora15' of: # The merged branch `archer-jankratochvil-fedora15' of:
# http://sourceware.org/gdb/wiki/ProjectArcher # http://sourceware.org/gdb/wiki/ProjectArcher
#=push #=push+work
#archer-jankratochvil-vla
#=push
#archer-jankratochvil-watchpoint3
#=push
#archer-jankratochvil-ifunc
Patch349: gdb-archer.patch Patch349: gdb-archer.patch
# Fix parsing elf64-i386 files for kdump PAE vmcore dumps (BZ 457187). # 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 Patch542: gdb-test-pid0-core.patch
# [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp. # [archer-tromey-delayed-symfile] New test gdb.dwarf2/dw2-aranges.exp.
# =fedoratest #=fedoratest
Patch547: gdb-test-dw2-aranges.patch Patch547: gdb-test-dw2-aranges.patch
# [archer-keiths-expr-cumulative+upstream] Import C++ testcases. # [archer-keiths-expr-cumulative+upstream] Import C++ testcases.
# =fedoratest #=fedoratest
Patch548: gdb-test-expr-cumulative-archer.patch Patch548: gdb-test-expr-cumulative-archer.patch
# Toolchain on sparc is slightly broken and debuginfo files are generated # 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 # 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 :) # 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 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). # 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 Patch619: gdb-dlopen-stap-probe-test.patch
# Work around PR libc/13097 "linux-vdso.so.1" warning message. # Work around PR libc/13097 "linux-vdso.so.1" warning message.
#=push
Patch627: gdb-glibc-vdso-workaround.patch Patch627: gdb-glibc-vdso-workaround.patch
# Hack for proper PIE run of the testsuite. # Hack for proper PIE run of the testsuite.
#=push+work
Patch634: gdb-runtest-pie-override.patch Patch634: gdb-runtest-pie-override.patch
# Fix zero registers core files w/gcc-4.7. # Fix zero registers core files w/gcc-4.7.
#=push
Patch638: gdb-gcc47-gcore-zero.patch Patch638: gdb-gcc47-gcore-zero.patch
BuildRequires: ncurses-devel%{?_isa} texinfo gettext flex bison expat-devel%{?_isa} 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 %patch547 -p1
%patch548 -p1 %patch548 -p1
%patch579 -p1 %patch579 -p1
#FIXME:patch618 -p1 %patch618 -p1
%patch619 -p1 %patch619 -p1
%patch627 -p1 %patch627 -p1
%patch634 -p1 %patch634 -p1
@ -1197,6 +1197,9 @@ fi
%{_infodir}/gdb.info* %{_infodir}/gdb.info*
%changelog %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 * 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). - Fix SystemTap support regression on i686 (Sergio Durigan Junior).