gdb/
* libunwind-frame.c (LIBUNWIND_SO): Change .7 to .8. [!LIBUNWIND_SO] (LIBUNWIND_SO_7): New #define. (libunwind_load): New variable so_error, use it for dlerror. Try to load also LIBUNWIND_SO_7.
This commit is contained in:
parent
e237a7e2c5
commit
75528772a7
|
@ -1,3 +1,10 @@
|
||||||
|
2012-03-05 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
* libunwind-frame.c (LIBUNWIND_SO): Change .7 to .8.
|
||||||
|
[!LIBUNWIND_SO] (LIBUNWIND_SO_7): New #define.
|
||||||
|
(libunwind_load): New variable so_error, use it for dlerror. Try to
|
||||||
|
load also LIBUNWIND_SO_7.
|
||||||
|
|
||||||
2012-03-05 Pedro Alves <palves@redhat.com>
|
2012-03-05 Pedro Alves <palves@redhat.com>
|
||||||
|
|
||||||
* i387-tdep.c (i387_supply_xsave): Assert the xsave section buffer
|
* i387-tdep.c (i387_supply_xsave): Assert the xsave section buffer
|
||||||
|
|
|
@ -95,7 +95,11 @@ struct libunwind_frame_cache
|
||||||
#ifndef LIBUNWIND_SO
|
#ifndef LIBUNWIND_SO
|
||||||
/* Use the stable ABI major version number. `libunwind-ia64.so' is a link time
|
/* Use the stable ABI major version number. `libunwind-ia64.so' is a link time
|
||||||
only library, not a runtime one. */
|
only library, not a runtime one. */
|
||||||
#define LIBUNWIND_SO "libunwind-" STRINGIFY(UNW_TARGET) ".so.7"
|
#define LIBUNWIND_SO "libunwind-" STRINGIFY(UNW_TARGET) ".so.8"
|
||||||
|
|
||||||
|
/* Provide also compatibility with older .so. The two APIs are compatible, .8
|
||||||
|
is only extended a bit, GDB does not use the extended API at all. */
|
||||||
|
#define LIBUNWIND_SO_7 "libunwind-" STRINGIFY(UNW_TARGET) ".so.7"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static char *get_reg_name = STRINGIFY(UNW_OBJ(get_reg));
|
static char *get_reg_name = STRINGIFY(UNW_OBJ(get_reg));
|
||||||
|
@ -491,14 +495,28 @@ static int
|
||||||
libunwind_load (void)
|
libunwind_load (void)
|
||||||
{
|
{
|
||||||
void *handle;
|
void *handle;
|
||||||
|
char *so_error = NULL;
|
||||||
|
|
||||||
handle = dlopen (LIBUNWIND_SO, RTLD_NOW);
|
handle = dlopen (LIBUNWIND_SO, RTLD_NOW);
|
||||||
if (handle == NULL)
|
if (handle == NULL)
|
||||||
{
|
{
|
||||||
fprintf_unfiltered (gdb_stderr, _("[GDB failed to load %s: %s]\n"),
|
so_error = xstrdup (dlerror ());
|
||||||
LIBUNWIND_SO, dlerror ());
|
#ifdef LIBUNWIND_SO_7
|
||||||
return 0;
|
handle = dlopen (LIBUNWIND_SO_7, RTLD_NOW);
|
||||||
|
#endif /* LIBUNWIND_SO_7 */
|
||||||
}
|
}
|
||||||
|
if (handle == NULL)
|
||||||
|
{
|
||||||
|
fprintf_unfiltered (gdb_stderr, _("[GDB failed to load %s: %s]\n"),
|
||||||
|
LIBUNWIND_SO, so_error);
|
||||||
|
#ifdef LIBUNWIND_SO_7
|
||||||
|
fprintf_unfiltered (gdb_stderr, _("[GDB failed to load %s: %s]\n"),
|
||||||
|
LIBUNWIND_SO_7, dlerror ());
|
||||||
|
#endif /* LIBUNWIND_SO_7 */
|
||||||
|
}
|
||||||
|
xfree (so_error);
|
||||||
|
if (handle == NULL)
|
||||||
|
return 0;
|
||||||
|
|
||||||
/* Initialize pointers to the dynamic library functions we will use. */
|
/* Initialize pointers to the dynamic library functions we will use. */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue