Rebase to FSF GDB 7.4.50.20120120.
Drop the g77 .spec provisioning as it has been fixed in FSF GDB.
This commit is contained in:
parent
cc92f09aa1
commit
c5c713f196
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
/libstdc++-v3-python-r155978.tar.bz2
|
||||
/gdb-7.4.50.20120103.tar.bz2
|
||||
/gdb-7.4.50.20120120.tar.bz2
|
||||
|
@ -1,18 +1,18 @@
|
||||
Index: gdb-7.4.50.20120103/gdb/corelow.c
|
||||
Index: gdb-7.4.50.20120120/gdb/corelow.c
|
||||
===================================================================
|
||||
--- gdb-7.4.50.20120103.orig/gdb/corelow.c 2011-04-17 21:12:20.000000000 +0200
|
||||
+++ gdb-7.4.50.20120103/gdb/corelow.c 2012-01-03 15:20:54.905851456 +0100
|
||||
@@ -48,6 +48,9 @@
|
||||
--- gdb-7.4.50.20120120.orig/gdb/corelow.c 2012-01-10 17:30:44.000000000 +0100
|
||||
+++ gdb-7.4.50.20120120/gdb/corelow.c 2012-01-21 00:02:58.720401792 +0100
|
||||
@@ -46,6 +46,9 @@
|
||||
#include "filenames.h"
|
||||
#include "progspace.h"
|
||||
#include "objfiles.h"
|
||||
#include "wrapper.h"
|
||||
+#include "auxv.h"
|
||||
+#include "elf/common.h"
|
||||
+#include "gdbcmd.h"
|
||||
|
||||
|
||||
#ifndef O_LARGEFILE
|
||||
@@ -279,6 +282,52 @@ add_to_thread_list (bfd *abfd, asection
|
||||
#define O_LARGEFILE 0
|
||||
@@ -273,6 +276,52 @@ add_to_thread_list (bfd *abfd, asection
|
||||
inferior_ptid = ptid; /* Yes, make it current. */
|
||||
}
|
||||
|
||||
@ -65,7 +65,7 @@ Index: gdb-7.4.50.20120103/gdb/corelow.c
|
||||
/* This routine opens and sets up the core file bfd. */
|
||||
|
||||
static void
|
||||
@@ -380,6 +429,12 @@ core_open (char *filename, int from_tty)
|
||||
@@ -375,6 +424,12 @@ core_open (char *filename, int from_tty)
|
||||
push_target (&core_ops);
|
||||
discard_cleanups (old_chain);
|
||||
|
||||
@ -78,7 +78,7 @@ Index: gdb-7.4.50.20120103/gdb/corelow.c
|
||||
/* Do this before acknowledging the inferior, so if
|
||||
post_create_inferior throws (can happen easilly if you're loading
|
||||
a core file with the wrong exec), we aren't left with threads
|
||||
@@ -933,4 +988,11 @@ _initialize_corelow (void)
|
||||
@@ -934,4 +989,11 @@ _initialize_corelow (void)
|
||||
init_core_ops ();
|
||||
|
||||
add_target (&core_ops);
|
||||
@ -90,11 +90,11 @@ Index: gdb-7.4.50.20120103/gdb/corelow.c
|
||||
+ NULL, NULL, NULL,
|
||||
+ &setlist, &showlist);
|
||||
}
|
||||
Index: gdb-7.4.50.20120103/gdb/doc/gdb.texinfo
|
||||
Index: gdb-7.4.50.20120120/gdb/doc/gdb.texinfo
|
||||
===================================================================
|
||||
--- gdb-7.4.50.20120103.orig/gdb/doc/gdb.texinfo 2012-01-03 05:53:41.000000000 +0100
|
||||
+++ gdb-7.4.50.20120103/gdb/doc/gdb.texinfo 2012-01-03 15:20:54.910851436 +0100
|
||||
@@ -15971,6 +15971,27 @@ information files.
|
||||
--- gdb-7.4.50.20120120.orig/gdb/doc/gdb.texinfo 2012-01-21 00:02:36.000000000 +0100
|
||||
+++ gdb-7.4.50.20120120/gdb/doc/gdb.texinfo 2012-01-21 00:02:41.619463607 +0100
|
||||
@@ -16015,6 +16015,27 @@ information files.
|
||||
|
||||
@end table
|
||||
|
||||
@ -122,11 +122,11 @@ Index: gdb-7.4.50.20120103/gdb/doc/gdb.texinfo
|
||||
@cindex @code{.gnu_debuglink} sections
|
||||
@cindex debug link sections
|
||||
A debug link is a special section of the executable file named
|
||||
Index: gdb-7.4.50.20120103/gdb/solib-svr4.c
|
||||
Index: gdb-7.4.50.20120120/gdb/solib-svr4.c
|
||||
===================================================================
|
||||
--- gdb-7.4.50.20120103.orig/gdb/solib-svr4.c 2011-12-03 19:32:29.000000000 +0100
|
||||
+++ gdb-7.4.50.20120103/gdb/solib-svr4.c 2012-01-03 15:20:54.911851432 +0100
|
||||
@@ -1228,9 +1228,52 @@ svr4_read_so_list (CORE_ADDR lm, struct
|
||||
--- gdb-7.4.50.20120120.orig/gdb/solib-svr4.c 2012-01-04 09:17:11.000000000 +0100
|
||||
+++ gdb-7.4.50.20120120/gdb/solib-svr4.c 2012-01-21 00:02:41.620463603 +0100
|
||||
@@ -1227,9 +1227,52 @@ svr4_read_so_list (CORE_ADDR lm, struct
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -182,11 +182,11 @@ Index: gdb-7.4.50.20120103/gdb/solib-svr4.c
|
||||
xfree (buffer);
|
||||
|
||||
/* If this entry has no name, or its name matches the name
|
||||
Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
Index: gdb-7.4.50.20120120/gdb/elfread.c
|
||||
===================================================================
|
||||
--- gdb-7.4.50.20120103.orig/gdb/elfread.c 2012-01-03 05:52:15.000000000 +0100
|
||||
+++ gdb-7.4.50.20120103/gdb/elfread.c 2012-01-03 15:21:09.933796168 +0100
|
||||
@@ -46,6 +46,11 @@
|
||||
--- gdb-7.4.50.20120120.orig/gdb/elfread.c 2012-01-21 00:02:33.000000000 +0100
|
||||
+++ gdb-7.4.50.20120120/gdb/elfread.c 2012-01-21 00:02:41.621463599 +0100
|
||||
@@ -44,6 +44,11 @@
|
||||
#include "gdbthread.h"
|
||||
#include "regcache.h"
|
||||
#include "bcache.h"
|
||||
@ -198,7 +198,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
|
||||
extern void _initialize_elfread (void);
|
||||
|
||||
@@ -1078,16 +1083,65 @@ elf_gnu_ifunc_resolver_return_stop (stru
|
||||
@@ -1076,16 +1081,65 @@ elf_gnu_ifunc_resolver_return_stop (stru
|
||||
update_breakpoint_locations (b, sals, sals_end);
|
||||
}
|
||||
|
||||
@ -266,7 +266,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
{
|
||||
struct build_id *retval;
|
||||
|
||||
@@ -1103,6 +1157,348 @@ build_id_bfd_get (bfd *abfd)
|
||||
@@ -1101,6 +1155,348 @@ build_id_bfd_get (bfd *abfd)
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -615,7 +615,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
/* Return if FILENAME has NT_GNU_BUILD_ID matching the CHECK value. */
|
||||
|
||||
static int
|
||||
@@ -1117,7 +1513,7 @@ build_id_verify (const char *filename, s
|
||||
@@ -1115,7 +1511,7 @@ build_id_verify (const char *filename, s
|
||||
if (abfd == NULL)
|
||||
return 0;
|
||||
|
||||
@ -624,7 +624,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
|
||||
if (found == NULL)
|
||||
warning (_("File \"%s\" has no build-id, file skipped"), filename);
|
||||
@@ -1135,14 +1531,15 @@ build_id_verify (const char *filename, s
|
||||
@@ -1133,14 +1529,15 @@ build_id_verify (const char *filename, s
|
||||
return retval;
|
||||
}
|
||||
|
||||
@ -644,7 +644,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
|
||||
/* Keep backward compatibility so that DEBUG_FILE_DIRECTORY being "" will
|
||||
cause "/.build-id/..." lookups. */
|
||||
@@ -1153,6 +1550,8 @@ build_id_to_debug_filename (struct build
|
||||
@@ -1151,6 +1548,8 @@ build_id_to_debug_filename (struct build
|
||||
char *s, *debugdir_end;
|
||||
gdb_byte *data = build_id->data;
|
||||
size_t size = build_id->size;
|
||||
@ -653,7 +653,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
|
||||
while (*debugdir == DIRNAME_SEPARATOR)
|
||||
debugdir++;
|
||||
@@ -1173,39 +1572,242 @@ build_id_to_debug_filename (struct build
|
||||
@@ -1171,39 +1570,242 @@ build_id_to_debug_filename (struct build
|
||||
*s++ = '/';
|
||||
while (size-- > 0)
|
||||
s += sprintf (s, "%02x", (unsigned) *data++);
|
||||
@ -908,7 +908,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
xfree (build_id);
|
||||
/* Prevent looping on a stripped .debug file. */
|
||||
if (build_id_name != NULL
|
||||
@@ -1216,7 +1818,7 @@ find_separate_debug_file_by_buildid (str
|
||||
@@ -1214,7 +1816,7 @@ find_separate_debug_file_by_buildid (str
|
||||
xfree (build_id_name);
|
||||
}
|
||||
else if (build_id_name != NULL)
|
||||
@ -917,7 +917,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
@@ -1436,9 +2038,10 @@ elf_symfile_read (struct objfile *objfil
|
||||
@@ -1434,9 +2036,10 @@ elf_symfile_read (struct objfile *objfil
|
||||
`.note.gnu.build-id'. */
|
||||
else if (!objfile_has_partial_symbols (objfile))
|
||||
{
|
||||
@ -930,7 +930,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
|
||||
if (debugfile == NULL)
|
||||
debugfile = find_separate_debug_file_by_debuglink (objfile);
|
||||
@@ -1450,6 +2053,12 @@ elf_symfile_read (struct objfile *objfil
|
||||
@@ -1448,6 +2051,12 @@ elf_symfile_read (struct objfile *objfil
|
||||
symbol_file_add_separate (abfd, symfile_flags, objfile);
|
||||
xfree (debugfile);
|
||||
}
|
||||
@ -943,7 +943,7 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1933,4 +2542,16 @@ _initialize_elfread (void)
|
||||
@@ -1931,4 +2540,16 @@ _initialize_elfread (void)
|
||||
|
||||
elf_objfile_gnu_ifunc_cache_data = register_objfile_data ();
|
||||
gnu_ifunc_fns_p = &elf_gnu_ifunc_fns;
|
||||
@ -960,11 +960,11 @@ Index: gdb-7.4.50.20120103/gdb/elfread.c
|
||||
+
|
||||
+ observer_attach_executable_changed (debug_print_executable_changed);
|
||||
}
|
||||
Index: gdb-7.4.50.20120103/gdb/symfile.h
|
||||
Index: gdb-7.4.50.20120120/gdb/symfile.h
|
||||
===================================================================
|
||||
--- gdb-7.4.50.20120103.orig/gdb/symfile.h 2012-01-03 05:52:15.000000000 +0100
|
||||
+++ gdb-7.4.50.20120103/gdb/symfile.h 2012-01-03 15:20:54.914851422 +0100
|
||||
@@ -616,6 +616,13 @@ void free_symfile_segment_data (struct s
|
||||
--- gdb-7.4.50.20120120.orig/gdb/symfile.h 2012-01-21 00:02:33.000000000 +0100
|
||||
+++ gdb-7.4.50.20120120/gdb/symfile.h 2012-01-21 00:02:41.621463599 +0100
|
||||
@@ -614,6 +614,13 @@ void free_symfile_segment_data (struct s
|
||||
|
||||
extern struct cleanup *increment_reading_symtab (void);
|
||||
|
||||
@ -978,11 +978,11 @@ Index: gdb-7.4.50.20120103/gdb/symfile.h
|
||||
/* From dwarf2read.c */
|
||||
|
||||
/* Names for a dwarf2 debugging section. The field NORMAL is the normal
|
||||
Index: gdb-7.4.50.20120103/gdb/testsuite/lib/gdb.exp
|
||||
Index: gdb-7.4.50.20120120/gdb/testsuite/lib/gdb.exp
|
||||
===================================================================
|
||||
--- gdb-7.4.50.20120103.orig/gdb/testsuite/lib/gdb.exp 2012-01-03 05:52:15.000000000 +0100
|
||||
+++ gdb-7.4.50.20120103/gdb/testsuite/lib/gdb.exp 2012-01-03 15:20:54.914851422 +0100
|
||||
@@ -1387,6 +1387,16 @@ proc default_gdb_start { } {
|
||||
--- gdb-7.4.50.20120120.orig/gdb/testsuite/lib/gdb.exp 2012-01-21 00:02:36.000000000 +0100
|
||||
+++ gdb-7.4.50.20120120/gdb/testsuite/lib/gdb.exp 2012-01-21 00:02:41.622463596 +0100
|
||||
@@ -1385,6 +1385,16 @@ proc default_gdb_start { } {
|
||||
warning "Couldn't set the width to 0."
|
||||
}
|
||||
}
|
||||
@ -999,10 +999,10 @@ Index: gdb-7.4.50.20120103/gdb/testsuite/lib/gdb.exp
|
||||
return 0;
|
||||
}
|
||||
|
||||
Index: gdb-7.4.50.20120103/gdb/testsuite/lib/mi-support.exp
|
||||
Index: gdb-7.4.50.20120120/gdb/testsuite/lib/mi-support.exp
|
||||
===================================================================
|
||||
--- gdb-7.4.50.20120103.orig/gdb/testsuite/lib/mi-support.exp 2011-12-03 21:20:29.000000000 +0100
|
||||
+++ gdb-7.4.50.20120103/gdb/testsuite/lib/mi-support.exp 2012-01-03 15:20:54.915851419 +0100
|
||||
--- gdb-7.4.50.20120120.orig/gdb/testsuite/lib/mi-support.exp 2012-01-12 23:28:34.000000000 +0100
|
||||
+++ gdb-7.4.50.20120120/gdb/testsuite/lib/mi-support.exp 2012-01-21 00:02:41.622463596 +0100
|
||||
@@ -212,6 +212,16 @@ proc default_mi_gdb_start { args } {
|
||||
warning "Couldn't set the width to 0."
|
||||
}
|
||||
@ -1020,11 +1020,11 @@ Index: gdb-7.4.50.20120103/gdb/testsuite/lib/mi-support.exp
|
||||
# If allowing the inferior to have its own PTY then assign the inferior
|
||||
# its own terminal device here.
|
||||
if { $separate_inferior_pty } {
|
||||
Index: gdb-7.4.50.20120103/gdb/objfiles.h
|
||||
Index: gdb-7.4.50.20120120/gdb/objfiles.h
|
||||
===================================================================
|
||||
--- gdb-7.4.50.20120103.orig/gdb/objfiles.h 2011-12-08 19:08:12.000000000 +0100
|
||||
+++ gdb-7.4.50.20120103/gdb/objfiles.h 2012-01-03 15:20:54.915851419 +0100
|
||||
@@ -435,6 +435,10 @@ struct objfile
|
||||
--- gdb-7.4.50.20120120.orig/gdb/objfiles.h 2012-01-04 09:17:09.000000000 +0100
|
||||
+++ gdb-7.4.50.20120120/gdb/objfiles.h 2012-01-21 00:02:41.623463593 +0100
|
||||
@@ -433,6 +433,10 @@ struct objfile
|
||||
|
||||
#define OBJF_MAINLINE (1 << 5)
|
||||
|
||||
|
910
gdb-archer.patch
910
gdb-archer.patch
File diff suppressed because it is too large
Load Diff
@ -1,123 +0,0 @@
|
||||
http://sourceware.org/ml/gdb-patches/2012-01/msg00168.html
|
||||
Subject: [patch 1/2] Fix linking on non-x86* after libgdb.a removal
|
||||
|
||||
Hi,
|
||||
|
||||
I am sorry but I found after the patch
|
||||
[patch 2/2] Do not build libgdb.a by default
|
||||
http://sourceware.org/ml/gdb-patches/2011-12/msg00716.html
|
||||
|
||||
For example s390x-linux-gnu no longer builds native GDB:
|
||||
corelow.o:(.bss+0x0): multiple definition of `core_gdbarch'
|
||||
corelow.o:(.bss+0x0): first defined here
|
||||
corelow.o: In function `deprecated_add_core_fns':
|
||||
corelow.c:(.text+0x0): multiple definition of `deprecated_add_core_fns'
|
||||
corelow.o:corelow.c:(.text+0x0): first defined here
|
||||
|
||||
I have found more such duplicates:
|
||||
|
||||
solib.o is clear, that one is now in COMMON_OBS. BTW it seems this change
|
||||
broke functionality of xcoffsolib.c due to:
|
||||
powerpc-*-aix* | rs6000-*-*)
|
||||
gdb_host=aix ;;
|
||||
as xcoffsolib.c probably cannot work with solib.c together but that is offtopic
|
||||
here, I do not have access+interest in AIX.
|
||||
|
||||
xcoffread.o is also clear, powerpc/aix.mh NATDEPFILES get used only together
|
||||
with configure.tgt entry for the same target which is:
|
||||
powerpc-*-aix* | rs6000-*-*)
|
||||
# Target: PowerPC running AIX
|
||||
gdb_target_obs="rs6000-tdep.o rs6000-aix-tdep.o xcoffread.o \
|
||||
ppc-sysv-tdep.o solib-svr4.o"
|
||||
|
||||
There remains that more complicated corelow.o for the next patch.
|
||||
|
||||
gdbtui was bigger performance hit than libgdb.a but after libgdb.a got removed
|
||||
I do not want to revert that patch as this duplicity fix does not look hard.
|
||||
|
||||
|
||||
Sorry,
|
||||
Jan
|
||||
|
||||
|
||||
2012-01-04 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Partially fix duplicate .o files after omitting libbfd.a.
|
||||
* config/alpha/alpha-osf3.mh (NATDEPFILES): Remove solib.o.
|
||||
* config/i386/nbsdaout.mh (NATDEPFILES): Remove solib.o.
|
||||
* config/i386/obsdaout.mh (NATDEPFILES): Remove solib.o.
|
||||
* config/m68k/nbsdaout.mh (NATDEPFILES): Remove solib.o.
|
||||
* config/m68k/obsd.mh (NATDEPFILES): Remove solib.o.
|
||||
* config/powerpc/aix.mh (NATDEPFILES): Remove xcoffread.o.
|
||||
* config/vax/nbsdaout.mh (NATDEPFILES): Remove solib.o.
|
||||
|
||||
--- a/gdb/config/alpha/alpha-osf3.mh
|
||||
+++ b/gdb/config/alpha/alpha-osf3.mh
|
||||
@@ -1,6 +1,6 @@
|
||||
# Host: Little-endian Alpha running OSF/1-3.x and higher using procfs
|
||||
NAT_FILE= nm-osf3.h
|
||||
NATDEPFILES= corelow.o alpha-nat.o fork-child.o \
|
||||
- solib-osf.o solib.o procfs.o proc-api.o proc-events.o proc-flags.o \
|
||||
+ solib-osf.o procfs.o proc-api.o proc-events.o proc-flags.o \
|
||||
proc-why.o dec-thread.o
|
||||
NAT_CLIBS= -lpthreaddebug
|
||||
--- a/gdb/config/i386/nbsdaout.mh
|
||||
+++ b/gdb/config/i386/nbsdaout.mh
|
||||
@@ -1,6 +1,6 @@
|
||||
# Host: NetBSD/i386 a.out
|
||||
NATDEPFILES= fork-child.o inf-ptrace.o \
|
||||
nbsd-nat.o i386bsd-nat.o i386nbsd-nat.o bsd-kvm.o \
|
||||
- solib.o solib-sunos.o
|
||||
+ solib-sunos.o
|
||||
|
||||
LOADLIBES= -lkvm
|
||||
--- a/gdb/config/i386/obsdaout.mh
|
||||
+++ b/gdb/config/i386/obsdaout.mh
|
||||
@@ -1,6 +1,6 @@
|
||||
# Host: OpenBSD/i386 a.out
|
||||
NATDEPFILES= fork-child.o inf-ptrace.o \
|
||||
i386bsd-nat.o i386nbsd-nat.o i386obsd-nat.o bsd-kvm.o \
|
||||
- solib.o solib-sunos.o
|
||||
+ solib-sunos.o
|
||||
|
||||
LOADLIBES= -lkvm
|
||||
--- a/gdb/config/m68k/nbsdaout.mh
|
||||
+++ b/gdb/config/m68k/nbsdaout.mh
|
||||
@@ -1,5 +1,5 @@
|
||||
# Host: NetBSD/m68k a.out
|
||||
NATDEPFILES= m68kbsd-nat.o fork-child.o inf-ptrace.o \
|
||||
- solib.o solib-sunos.o
|
||||
+ solib-sunos.o
|
||||
|
||||
LOADLIBES= -lkvm
|
||||
--- a/gdb/config/m68k/obsd.mh
|
||||
+++ b/gdb/config/m68k/obsd.mh
|
||||
@@ -1,5 +1,5 @@
|
||||
# Host: OpenBSD/m68k
|
||||
NATDEPFILES= m68kbsd-nat.o bsd-kvm.o fork-child.o inf-ptrace.o \
|
||||
- solib.o solib-sunos.o
|
||||
+ solib-sunos.o
|
||||
|
||||
LOADLIBES= -lkvm
|
||||
--- a/gdb/config/powerpc/aix.mh
|
||||
+++ b/gdb/config/powerpc/aix.mh
|
||||
@@ -4,7 +4,7 @@ NAT_FILE= config/rs6000/nm-rs6000.h
|
||||
|
||||
# aix-thread.o is not listed in NATDEPFILES as it is pulled in by configure.
|
||||
NATDEPFILES= fork-child.o inf-ptrace.o corelow.o rs6000-nat.o \
|
||||
- xcoffread.o xcoffsolib.o
|
||||
+ xcoffsolib.o
|
||||
|
||||
# When compiled with cc, for debugging, this argument should be passed.
|
||||
# We have no idea who our current compiler is though, so we skip it.
|
||||
--- a/gdb/config/vax/nbsdaout.mh
|
||||
+++ b/gdb/config/vax/nbsdaout.mh
|
||||
@@ -1,6 +1,6 @@
|
||||
# Host: NetBSD/vax a.out
|
||||
NATDEPFILES= fork-child.o inf-ptrace.o \
|
||||
vaxbsd-nat.o bsd-kvm.o \
|
||||
- solib.o solib-sunos.o
|
||||
+ solib-sunos.o
|
||||
|
||||
LOADLIBES= -lkvm
|
||||
|
@ -1,370 +0,0 @@
|
||||
http://sourceware.org/ml/gdb-patches/2012-01/msg00170.html
|
||||
Subject: [patch 2/2] Fix linking on non-x86* after libgdb.a removal
|
||||
|
||||
Hi,
|
||||
|
||||
this is the second part for solving corelow after the s390x regression:
|
||||
[patch 2/2] Do not build libgdb.a by default
|
||||
http://sourceware.org/ml/gdb-patches/2011-12/msg00716.html
|
||||
->
|
||||
corelow.o:(.bss+0x0): multiple definition of `core_gdbarch'
|
||||
corelow.o:(.bss+0x0): first defined here
|
||||
corelow.o: In function `deprecated_add_core_fns':
|
||||
corelow.c:(.text+0x0): multiple definition of `deprecated_add_core_fns'
|
||||
corelow.o:corelow.c:(.text+0x0): first defined here
|
||||
|
||||
|
||||
For targets using new set_gdbarch_regset_from_core_section it would not be
|
||||
a problem, just put corelow.o into the right entry of gdb/configure.tgt.
|
||||
|
||||
But for legacy targets still using deprecated_add_core_fns (like
|
||||
sparc-solaris2.6 etc.) the addition to gdb/configure.tgt would enable
|
||||
corelow.o even for cross-targeted GDBs where there is unfortunately still no
|
||||
core files support.
|
||||
|
||||
Created the original configuration, just avoiding a duplicate corelow.o entry.
|
||||
A better idea is welcome.
|
||||
|
||||
(s390x not available now for a test but it should work I hope.)
|
||||
|
||||
|
||||
Sorry,
|
||||
Jan
|
||||
|
||||
|
||||
2012-01-04 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Fix duplicate .o files after omitting libbfd.a.
|
||||
* Makefile.in (CORELOW_O): New definition.
|
||||
(ALL_TARGET_OBS): Remove corelow.o.
|
||||
(DEPFILES): Add $(CORELOW_O).
|
||||
* config/alpha/alpha-linux.mh (NATDEPFILES): Remove corelow.o.
|
||||
(CORELOW_O): New definition.
|
||||
* config/alpha/alpha-osf3.mh: Likewise.
|
||||
* config/alpha/fbsd.mh: Likewise.
|
||||
* config/arm/nbsdaout.mh: Likewise.
|
||||
* config/arm/nbsdelf.mh: Likewise.
|
||||
* config/i386/i386gnu.mh: Likewise.
|
||||
* config/ia64/hpux.mh: Likewise.
|
||||
* config/ia64/linux.mh: Likewise.
|
||||
* config/m32r/linux.mh: Likewise.
|
||||
* config/m68k/linux.mh: Likewise.
|
||||
* config/mips/irix5.mh: Likewise.
|
||||
* config/mips/irix6.mh: Likewise.
|
||||
* config/pa/hpux.mh: Likewise.
|
||||
* config/pa/linux.mh: Likewise.
|
||||
* config/powerpc/aix.mh: Likewise.
|
||||
* config/s390/s390.mh: Likewise.
|
||||
* config/sparc/linux.mh: Likewise.
|
||||
* config/sparc/linux64.mh: Likewise.
|
||||
* config/sparc/sol2.mh: Likewise.
|
||||
* config/vax/vax.mh: Likewise.
|
||||
* configure: Regenerate.
|
||||
* configure.ac (CORELOW_O): New variable.
|
||||
(gdb_target_obs): Exclude corelow.o and set CORELOW_O instead.
|
||||
(all_targets): Set CORELOW_O.
|
||||
(CORELOW_O): AC_SUBST it.
|
||||
|
||||
--- a/gdb/Makefile.in
|
||||
+++ b/gdb/Makefile.in
|
||||
@@ -512,6 +512,12 @@ SIM_OBS = @SIM_OBS@
|
||||
# Target-dependent object files.
|
||||
TARGET_OBS = @TARGET_OBS@
|
||||
|
||||
+# corelow.o may be requested by either config/*/*.mh file or for ALL_TARGET_OBS
|
||||
+# or for specific target(s) from configure.tgt. Avoid duplicating it.
|
||||
+# CORELOW_O may get overriden (set to corelow.o) by 'host_makefile_frag' below.
|
||||
+# CORELOW_O is assumed to be corelow.o for ALL_TARGET_OBS.
|
||||
+CORELOW_O := @CORELOW_O@
|
||||
+
|
||||
# All target-dependent objects files that require 64-bit CORE_ADDR
|
||||
# (used with --enable-targets=all --enable-64-bit-bfd).
|
||||
ALL_64_TARGET_OBS = \
|
||||
@@ -581,7 +587,6 @@ ALL_TARGET_OBS = \
|
||||
remote-m32r-sdi.o remote-mips.o \
|
||||
xcoffread.o \
|
||||
symfile-mem.o \
|
||||
- corelow.o \
|
||||
windows-tdep.o \
|
||||
linux-record.o
|
||||
|
||||
@@ -843,7 +848,7 @@ REMOTE_EXAMPLES = m68k-stub.c i386-stub.c sparc-stub.c rem-multi.shar
|
||||
# variables analogous to SER_HARDWIRE which get defaulted in this
|
||||
# Makefile.in
|
||||
|
||||
-DEPFILES = $(TARGET_OBS) $(SER_HARDWIRE) $(NATDEPFILES) \
|
||||
+DEPFILES = $(TARGET_OBS) $(SER_HARDWIRE) $(NATDEPFILES) $(CORELOW_O) \
|
||||
$(REMOTE_OBS) $(SIM_OBS)
|
||||
|
||||
SOURCES = $(SFILES) $(ALLDEPFILES) $(YYFILES) $(CONFIG_SRCS)
|
||||
--- a/gdb/config/alpha/alpha-linux.mh
|
||||
+++ b/gdb/config/alpha/alpha-linux.mh
|
||||
@@ -1,8 +1,9 @@
|
||||
# Host: Little-endian Alpha running Linux
|
||||
NAT_FILE= config/nm-linux.h
|
||||
-NATDEPFILES= inf-ptrace.o corelow.o alpha-linux-nat.o \
|
||||
+NATDEPFILES= inf-ptrace.o alpha-linux-nat.o \
|
||||
fork-child.o proc-service.o linux-thread-db.o \
|
||||
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o
|
||||
+CORELOW_O := corelow.o
|
||||
NAT_CDEPS = $(srcdir)/proc-service.list
|
||||
|
||||
# The dynamically loaded libthread_db needs access to symbols in the
|
||||
--- a/gdb/config/alpha/alpha-osf3.mh
|
||||
+++ b/gdb/config/alpha/alpha-osf3.mh
|
||||
@@ -1,6 +1,7 @@
|
||||
# Host: Little-endian Alpha running OSF/1-3.x and higher using procfs
|
||||
NAT_FILE= nm-osf3.h
|
||||
-NATDEPFILES= corelow.o alpha-nat.o fork-child.o \
|
||||
+NATDEPFILES= alpha-nat.o fork-child.o \
|
||||
solib-osf.o procfs.o proc-api.o proc-events.o proc-flags.o \
|
||||
proc-why.o dec-thread.o
|
||||
+CORELOW_O := corelow.o
|
||||
NAT_CLIBS= -lpthreaddebug
|
||||
--- a/gdb/config/alpha/fbsd.mh
|
||||
+++ b/gdb/config/alpha/fbsd.mh
|
||||
@@ -1,6 +1,7 @@
|
||||
# Host: FreeBSD/alpha
|
||||
NATDEPFILES= fork-child.o inf-ptrace.o \
|
||||
fbsd-nat.o alphabsd-nat.o bsd-kvm.o \
|
||||
- corelow.o core-regset.o
|
||||
+ core-regset.o
|
||||
+CORELOW_O := corelow.o
|
||||
|
||||
LOADLIBES= -lkvm
|
||||
--- a/gdb/config/arm/nbsdaout.mh
|
||||
+++ b/gdb/config/arm/nbsdaout.mh
|
||||
@@ -1,3 +1,4 @@
|
||||
# Host: NetBSD/arm
|
||||
-NATDEPFILES= fork-child.o inf-ptrace.o corelow.o armnbsd-nat.o \
|
||||
+NATDEPFILES= fork-child.o inf-ptrace.o armnbsd-nat.o \
|
||||
solib-sunos.o
|
||||
+CORELOW_O := corelow.o
|
||||
--- a/gdb/config/arm/nbsdelf.mh
|
||||
+++ b/gdb/config/arm/nbsdelf.mh
|
||||
@@ -1,2 +1,3 @@
|
||||
# Host: NetBSD/arm
|
||||
-NATDEPFILES= fork-child.o inf-ptrace.o corelow.o armnbsd-nat.o
|
||||
+NATDEPFILES= fork-child.o inf-ptrace.o armnbsd-nat.o
|
||||
+CORELOW_O := corelow.o
|
||||
--- a/gdb/config/i386/i386gnu.mh
|
||||
+++ b/gdb/config/i386/i386gnu.mh
|
||||
@@ -1,7 +1,8 @@
|
||||
# Host: Intel 386 running the GNU Hurd
|
||||
-NATDEPFILES= i386gnu-nat.o gnu-nat.o corelow.o core-regset.o fork-child.o \
|
||||
+NATDEPFILES= i386gnu-nat.o gnu-nat.o core-regset.o fork-child.o \
|
||||
notify_S.o process_reply_S.o msg_reply_S.o \
|
||||
msg_U.o exc_request_U.o exc_request_S.o
|
||||
+CORELOW_O := corelow.o
|
||||
|
||||
NAT_FILE= nm-i386gnu.h
|
||||
MH_CFLAGS = -D_GNU_SOURCE
|
||||
--- a/gdb/config/ia64/hpux.mh
|
||||
+++ b/gdb/config/ia64/hpux.mh
|
||||
@@ -1,3 +1,4 @@
|
||||
# Host: ia64 running HP-UX
|
||||
-NATDEPFILES= fork-child.o inf-ttrace.o corelow.o ia64-hpux-nat.o \
|
||||
+NATDEPFILES= fork-child.o inf-ttrace.o ia64-hpux-nat.o \
|
||||
solib-ia64-hpux.o
|
||||
+CORELOW_O := corelow.o
|
||||
--- a/gdb/config/ia64/linux.mh
|
||||
+++ b/gdb/config/ia64/linux.mh
|
||||
@@ -1,11 +1,12 @@
|
||||
# Host: Intel IA-64 running GNU/Linux
|
||||
|
||||
NAT_FILE= config/nm-linux.h
|
||||
-NATDEPFILES= inf-ptrace.o fork-child.o corelow.o \
|
||||
+NATDEPFILES= inf-ptrace.o fork-child.o \
|
||||
core-regset.o ia64-linux-nat.o \
|
||||
proc-service.o linux-thread-db.o \
|
||||
linux-nat.o linux-osdata.o linux-fork.o \
|
||||
linux-procfs.o
|
||||
+CORELOW_O := corelow.o
|
||||
NAT_CDEPS = $(srcdir)/proc-service.list
|
||||
|
||||
LOADLIBES = -ldl $(RDYNAMIC)
|
||||
--- a/gdb/config/m32r/linux.mh
|
||||
+++ b/gdb/config/m32r/linux.mh
|
||||
@@ -1,9 +1,10 @@
|
||||
# Host: M32R based machine running GNU/Linux
|
||||
|
||||
NAT_FILE= config/nm-linux.h
|
||||
-NATDEPFILES= inf-ptrace.o fork-child.o corelow.o \
|
||||
+NATDEPFILES= inf-ptrace.o fork-child.o \
|
||||
m32r-linux-nat.o proc-service.o linux-thread-db.o \
|
||||
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o
|
||||
+CORELOW_O := corelow.o
|
||||
NAT_CDEPS = $(srcdir)/proc-service.list
|
||||
|
||||
LOADLIBES= -ldl $(RDYNAMIC)
|
||||
--- a/gdb/config/m68k/linux.mh
|
||||
+++ b/gdb/config/m68k/linux.mh
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
NAT_FILE= config/nm-linux.h
|
||||
NATDEPFILES= inf-ptrace.o fork-child.o \
|
||||
- corelow.o m68klinux-nat.o \
|
||||
+ m68klinux-nat.o \
|
||||
proc-service.o linux-thread-db.o \
|
||||
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o
|
||||
+CORELOW_O := corelow.o
|
||||
NAT_CDEPS = $(srcdir)/proc-service.list
|
||||
|
||||
# The dynamically loaded libthread_db needs access to symbols in the
|
||||
--- a/gdb/config/mips/irix5.mh
|
||||
+++ b/gdb/config/mips/irix5.mh
|
||||
@@ -1,3 +1,4 @@
|
||||
# Host: SGI Iris running irix 5.x
|
||||
-NATDEPFILES= fork-child.o irix5-nat.o corelow.o procfs.o \
|
||||
+NATDEPFILES= fork-child.o irix5-nat.o procfs.o \
|
||||
proc-api.o proc-events.o proc-flags.o proc-why.o
|
||||
+CORELOW_O := corelow.o
|
||||
--- a/gdb/config/mips/irix6.mh
|
||||
+++ b/gdb/config/mips/irix6.mh
|
||||
@@ -1,3 +1,4 @@
|
||||
# Host: SGI Iris running irix 6.x
|
||||
-NATDEPFILES= fork-child.o irix5-nat.o corelow.o procfs.o \
|
||||
+NATDEPFILES= fork-child.o irix5-nat.o procfs.o \
|
||||
proc-api.o proc-events.o proc-flags.o proc-why.o
|
||||
+CORELOW_O := corelow.o
|
||||
--- a/gdb/config/pa/hpux.mh
|
||||
+++ b/gdb/config/pa/hpux.mh
|
||||
@@ -1,3 +1,4 @@
|
||||
# Host: PA-RISC HP-UX
|
||||
NATDEPFILES= fork-child.o inf-ptrace.o inf-ttrace.o \
|
||||
- hppa-hpux-nat.o corelow.o somread.o
|
||||
+ hppa-hpux-nat.o somread.o
|
||||
+CORELOW_O := corelow.o
|
||||
--- a/gdb/config/pa/linux.mh
|
||||
+++ b/gdb/config/pa/linux.mh
|
||||
@@ -1,9 +1,10 @@
|
||||
# Host: Hewlett-Packard PA-RISC machine, running Linux
|
||||
NAT_FILE= config/nm-linux.h
|
||||
-NATDEPFILES= inf-ptrace.o fork-child.o corelow.o \
|
||||
+NATDEPFILES= inf-ptrace.o fork-child.o \
|
||||
hppa-linux-nat.o proc-service.o linux-thread-db.o \
|
||||
linux-nat.o linux-osdata.o linux-fork.o \
|
||||
linux-procfs.o
|
||||
+CORELOW_O := corelow.o
|
||||
NAT_CDEPS = $(srcdir)/proc-service.list
|
||||
|
||||
LOADLIBES = -ldl $(RDYNAMIC)
|
||||
--- a/gdb/config/powerpc/aix.mh
|
||||
+++ b/gdb/config/powerpc/aix.mh
|
||||
@@ -3,8 +3,9 @@
|
||||
NAT_FILE= config/rs6000/nm-rs6000.h
|
||||
|
||||
# aix-thread.o is not listed in NATDEPFILES as it is pulled in by configure.
|
||||
-NATDEPFILES= fork-child.o inf-ptrace.o corelow.o rs6000-nat.o \
|
||||
+NATDEPFILES= fork-child.o inf-ptrace.o rs6000-nat.o \
|
||||
xcoffsolib.o
|
||||
+CORELOW_O := corelow.o
|
||||
|
||||
# When compiled with cc, for debugging, this argument should be passed.
|
||||
# We have no idea who our current compiler is though, so we skip it.
|
||||
--- a/gdb/config/s390/s390.mh
|
||||
+++ b/gdb/config/s390/s390.mh
|
||||
@@ -1,7 +1,8 @@
|
||||
# Host: S390, running Linux
|
||||
NAT_FILE= config/nm-linux.h
|
||||
-NATDEPFILES= inf-ptrace.o fork-child.o corelow.o s390-nat.o \
|
||||
+NATDEPFILES= inf-ptrace.o fork-child.o s390-nat.o \
|
||||
linux-thread-db.o proc-service.o \
|
||||
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o
|
||||
+CORELOW_O := corelow.o
|
||||
NAT_CDEPS = $(srcdir)/proc-service.list
|
||||
LOADLIBES = -ldl $(RDYNAMIC)
|
||||
--- a/gdb/config/sparc/linux.mh
|
||||
+++ b/gdb/config/sparc/linux.mh
|
||||
@@ -1,10 +1,11 @@
|
||||
# Host: GNU/Linux SPARC
|
||||
NAT_FILE= config/nm-linux.h
|
||||
NATDEPFILES= sparc-nat.o sparc-linux-nat.o \
|
||||
- corelow.o core-regset.o fork-child.o inf-ptrace.o \
|
||||
+ core-regset.o fork-child.o inf-ptrace.o \
|
||||
proc-service.o linux-thread-db.o \
|
||||
linux-nat.o linux-osdata.o linux-fork.o \
|
||||
linux-procfs.o
|
||||
+CORELOW_O := corelow.o
|
||||
NAT_CDEPS = $(srcdir)/proc-service.list
|
||||
|
||||
# The dynamically loaded libthread_db needs access to symbols in the
|
||||
--- a/gdb/config/sparc/linux64.mh
|
||||
+++ b/gdb/config/sparc/linux64.mh
|
||||
@@ -1,11 +1,12 @@
|
||||
# Host: GNU/Linux UltraSPARC
|
||||
NAT_FILE= config/nm-linux.h
|
||||
NATDEPFILES= sparc-nat.o sparc64-nat.o sparc64-linux-nat.o \
|
||||
- corelow.o core-regset.o \
|
||||
+ core-regset.o \
|
||||
fork-child.o inf-ptrace.o \
|
||||
proc-service.o linux-thread-db.o \
|
||||
linux-nat.o linux-osdata.o linux-fork.o \
|
||||
linux-procfs.o
|
||||
+CORELOW_O := corelow.o
|
||||
NAT_CDEPS = $(srcdir)/proc-service.list
|
||||
|
||||
# The dynamically loaded libthread_db needs access to symbols in the
|
||||
--- a/gdb/config/sparc/sol2.mh
|
||||
+++ b/gdb/config/sparc/sol2.mh
|
||||
@@ -1,5 +1,6 @@
|
||||
# Host: Solaris SPARC & UltraSPARC
|
||||
NAT_FILE= nm-sol2.h
|
||||
NATDEPFILES= sparc-sol2-nat.o \
|
||||
- corelow.o core-regset.o fork-child.o \
|
||||
+ core-regset.o fork-child.o \
|
||||
procfs.o proc-api.o proc-events.o proc-flags.o proc-why.o
|
||||
+CORELOW_O := corelow.o
|
||||
--- a/gdb/config/vax/vax.mh
|
||||
+++ b/gdb/config/vax/vax.mh
|
||||
@@ -1,2 +1,3 @@
|
||||
# Host: VAX running 4.2BSD or Ultrix
|
||||
-NATDEPFILES= vax-nat.o fork-child.o inf-ptrace.o corelow.o
|
||||
+NATDEPFILES= vax-nat.o fork-child.o inf-ptrace.o
|
||||
+CORELOW_O := corelow.o
|
||||
--- a/gdb/configure.ac
|
||||
+++ b/gdb/configure.ac
|
||||
@@ -174,6 +174,7 @@ fi
|
||||
# Accumulate some settings from configure.tgt over all enabled targets
|
||||
|
||||
TARGET_OBS=
|
||||
+CORELOW_O=
|
||||
all_targets=
|
||||
|
||||
for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
|
||||
@@ -196,12 +197,16 @@ do
|
||||
|
||||
# Target-specific object files
|
||||
for i in ${gdb_target_obs}; do
|
||||
- case " $TARGET_OBS " in
|
||||
- *" ${i} "*) ;;
|
||||
- *)
|
||||
- TARGET_OBS="$TARGET_OBS ${i}"
|
||||
- ;;
|
||||
- esac
|
||||
+ if test "$i" = corelow.o; then
|
||||
+ CORELOW_O=corelow.o
|
||||
+ else
|
||||
+ case " $TARGET_OBS " in
|
||||
+ *" ${i} "*) ;;
|
||||
+ *)
|
||||
+ TARGET_OBS="$TARGET_OBS ${i}"
|
||||
+ ;;
|
||||
+ esac
|
||||
+ fi
|
||||
done
|
||||
|
||||
# Check whether this target needs 64-bit CORE_ADDR
|
||||
@@ -233,9 +238,11 @@ if test x${all_targets} = xtrue; then
|
||||
else
|
||||
TARGET_OBS='$(ALL_TARGET_OBS)'
|
||||
fi
|
||||
+ CORELOW_O=corelow.o
|
||||
fi
|
||||
|
||||
AC_SUBST(TARGET_OBS)
|
||||
+AC_SUBST(CORELOW_O)
|
||||
|
||||
# For other settings, only the main target counts.
|
||||
gdb_sim=
|
||||
|
@ -1,63 +0,0 @@
|
||||
--- gdb-7.4.50.20120103/gdb/configure.orig 2012-01-05 10:23:09.251299043 +0100
|
||||
+++ gdb-7.4.50.20120103/gdb/configure 2012-01-05 10:23:29.921225968 +0100
|
||||
@@ -682,6 +682,7 @@ LN_S
|
||||
REPORT_BUGS_TEXI
|
||||
REPORT_BUGS_TO
|
||||
PKGVERSION
|
||||
+CORELOW_O
|
||||
TARGET_OBS
|
||||
subdirs
|
||||
RPM_LIBS
|
||||
@@ -8504,6 +8505,7 @@ fi
|
||||
# Accumulate some settings from configure.tgt over all enabled targets
|
||||
|
||||
TARGET_OBS=
|
||||
+CORELOW_O=
|
||||
all_targets=
|
||||
|
||||
for targ_alias in `echo $target_alias $enable_targets | sed 's/,/ /g'`
|
||||
@@ -8527,12 +8529,16 @@ fi
|
||||
|
||||
# Target-specific object files
|
||||
for i in ${gdb_target_obs}; do
|
||||
- case " $TARGET_OBS " in
|
||||
- *" ${i} "*) ;;
|
||||
- *)
|
||||
- TARGET_OBS="$TARGET_OBS ${i}"
|
||||
- ;;
|
||||
- esac
|
||||
+ if test "$i" = corelow.o; then
|
||||
+ CORELOW_O=corelow.o
|
||||
+ else
|
||||
+ case " $TARGET_OBS " in
|
||||
+ *" ${i} "*) ;;
|
||||
+ *)
|
||||
+ TARGET_OBS="$TARGET_OBS ${i}"
|
||||
+ ;;
|
||||
+ esac
|
||||
+ fi
|
||||
done
|
||||
|
||||
# Check whether this target needs 64-bit CORE_ADDR
|
||||
@@ -8597,10 +8603,12 @@ _ACEOF
|
||||
else
|
||||
TARGET_OBS='$(ALL_TARGET_OBS)'
|
||||
fi
|
||||
+ CORELOW_O=corelow.o
|
||||
fi
|
||||
|
||||
|
||||
|
||||
+
|
||||
# For other settings, only the main target counts.
|
||||
gdb_sim=
|
||||
gdb_osabi=
|
||||
@@ -12153,7 +12161,7 @@ for ac_header in nlist.h machine/reg.h p
|
||||
sys/reg.h sys/debugreg.h sys/select.h sys/syscall.h \
|
||||
sys/types.h sys/wait.h wait.h termios.h termio.h \
|
||||
sgtty.h unistd.h elf_hp.h ctype.h time.h locale.h \
|
||||
- dlfcn.h
|
||||
+ dlfcn.h
|
||||
do :
|
||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
|
@ -1,118 +0,0 @@
|
||||
http://sourceware.org/ml/binutils/2011-12/msg00298.html
|
||||
Subject: [patch] Fix zero registers core files w/gcc-4.7
|
||||
|
||||
Hello H.J.,
|
||||
|
||||
there is a regression by:
|
||||
commit 2c9c556617a7de8657c25b512d272c26b070ae22
|
||||
Author: H.J. Lu <hjl.tools@gmail.com>
|
||||
Date: Thu Jun 16 22:08:10 2011 +0000
|
||||
Suport x32 gcore.
|
||||
|
||||
when built with -O2 by
|
||||
gcc (GCC) 4.7.0 20111223 (experimental)
|
||||
(not by 4.6.x)
|
||||
|
||||
as the code violates ISO C99 6.2.4 item 5 by using local variable outside of
|
||||
its block, GCC optimizes out the second memcpy, keeping there only that
|
||||
memset.
|
||||
|
||||
./gdb -nx ./gdb -ex start -ex 'gcore 1' -ex 'set confirm no' -ex q;gdb -nx ./gdb ./1 -ex q
|
||||
will print:
|
||||
Core was generated by `.../gdb/gdb'.
|
||||
#0 0x0000000000000000 in ?? ()
|
||||
|
||||
No regressions on x86_64-fedora16-linux-gnu.
|
||||
|
||||
Probably obvious, OK to check it in?
|
||||
|
||||
|
||||
Thanks,
|
||||
Jan
|
||||
|
||||
|
||||
bfd/
|
||||
2011-12-23 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Fix zero registers core files when built by gcc-4.7.
|
||||
* elf64-x86-64.c (elf_x86_64_write_core_note): Remove variables p and
|
||||
size. Call elfcore_write_note for the local variables. Remove the
|
||||
final elfcore_write_note call. Add NOTREACHED comments.
|
||||
|
||||
--- a/bfd/elf64-x86-64.c
|
||||
+++ b/bfd/elf64-x86-64.c
|
||||
@@ -420,8 +420,6 @@ elf_x86_64_write_core_note (bfd *abfd, char *buf, int *bufsiz,
|
||||
int note_type, ...)
|
||||
{
|
||||
const struct elf_backend_data *bed = get_elf_backend_data (abfd);
|
||||
- const void *p;
|
||||
- int size;
|
||||
va_list ap;
|
||||
const char *fname, *psargs;
|
||||
long pid;
|
||||
@@ -445,8 +443,8 @@ elf_x86_64_write_core_note (bfd *abfd, char *buf, int *bufsiz,
|
||||
memset (&data, 0, sizeof (data));
|
||||
strncpy (data.pr_fname, fname, sizeof (data.pr_fname));
|
||||
strncpy (data.pr_psargs, psargs, sizeof (data.pr_psargs));
|
||||
- p = (const void *) &data;
|
||||
- size = sizeof (data);
|
||||
+ return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type,
|
||||
+ &data, sizeof (data));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -454,10 +452,10 @@ elf_x86_64_write_core_note (bfd *abfd, char *buf, int *bufsiz,
|
||||
memset (&data, 0, sizeof (data));
|
||||
strncpy (data.pr_fname, fname, sizeof (data.pr_fname));
|
||||
strncpy (data.pr_psargs, psargs, sizeof (data.pr_psargs));
|
||||
- p = (const void *) &data;
|
||||
- size = sizeof (data);
|
||||
+ return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type,
|
||||
+ &data, sizeof (data));
|
||||
}
|
||||
- break;
|
||||
+ /* NOTREACHED */
|
||||
|
||||
case NT_PRSTATUS:
|
||||
va_start (ap, note_type);
|
||||
@@ -475,8 +473,8 @@ elf_x86_64_write_core_note (bfd *abfd, char *buf, int *bufsiz,
|
||||
prstat.pr_pid = pid;
|
||||
prstat.pr_cursig = cursig;
|
||||
memcpy (&prstat.pr_reg, gregs, sizeof (prstat.pr_reg));
|
||||
- p = (const void *) &prstat;
|
||||
- size = sizeof (prstat);
|
||||
+ return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type,
|
||||
+ &prstat, sizeof (prstat));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -485,8 +483,8 @@ elf_x86_64_write_core_note (bfd *abfd, char *buf, int *bufsiz,
|
||||
prstat.pr_pid = pid;
|
||||
prstat.pr_cursig = cursig;
|
||||
memcpy (&prstat.pr_reg, gregs, sizeof (prstat.pr_reg));
|
||||
- p = (const void *) &prstat;
|
||||
- size = sizeof (prstat);
|
||||
+ return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type,
|
||||
+ &prstat, sizeof (prstat));
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -496,14 +494,11 @@ elf_x86_64_write_core_note (bfd *abfd, char *buf, int *bufsiz,
|
||||
prstat.pr_pid = pid;
|
||||
prstat.pr_cursig = cursig;
|
||||
memcpy (&prstat.pr_reg, gregs, sizeof (prstat.pr_reg));
|
||||
- p = (const void *) &prstat;
|
||||
- size = sizeof (prstat);
|
||||
+ return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type,
|
||||
+ &prstat, sizeof (prstat));
|
||||
}
|
||||
- break;
|
||||
}
|
||||
-
|
||||
- return elfcore_write_note (abfd, buf, bufsiz, "CORE", note_type, p,
|
||||
- size);
|
||||
+ /* NOTREACHED */
|
||||
}
|
||||
#endif
|
||||
|
||||
|
26
gdb.spec
26
gdb.spec
@ -23,12 +23,12 @@ Name: gdb%{?_with_debug:-debug}
|
||||
# Set version to contents of gdb/version.in.
|
||||
# NOTE: the FSF gdb versions are numbered N.M for official releases, like 6.3
|
||||
# and, since January 2005, X.Y.Z.date for daily snapshots, like 6.3.50.20050112 # (daily snapshot from mailine), or 6.3.0.20040112 (head of the release branch).
|
||||
%global snap 20120103
|
||||
%global snap 20120120
|
||||
Version: 7.4.50.%{snap}
|
||||
|
||||
# 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: 9%{?_with_upstream:.upstream}%{?dist}
|
||||
Release: 10%{?_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
|
||||
@ -524,16 +524,6 @@ Patch627: gdb-glibc-vdso-workaround.patch
|
||||
#=push+work
|
||||
Patch634: gdb-runtest-pie-override.patch
|
||||
|
||||
# Fix zero registers core files w/gcc-4.7.
|
||||
#=push
|
||||
Patch638: gdb-gcc47-gcore-zero.patch
|
||||
|
||||
# Fix linking on non-x86* (such as s390*) after libgdb.a removal.
|
||||
#=push
|
||||
Patch639: gdb-build-libgdb-1of3.patch
|
||||
Patch640: gdb-build-libgdb-2of3.patch
|
||||
Patch641: gdb-build-libgdb-3of3.patch
|
||||
|
||||
# Work around readline-6.2 incompatibility not asking for --more-- (BZ 701131).
|
||||
#=fedora
|
||||
Patch642: gdb-readline62-ask-more-rh.patch
|
||||
@ -806,10 +796,6 @@ rm -f gdb/jv-exp.c gdb/m2-exp.c gdb/objc-exp.c gdb/p-exp.c
|
||||
%patch619 -p1
|
||||
%patch627 -p1
|
||||
%patch634 -p1
|
||||
%patch638 -p1
|
||||
%patch639 -p1
|
||||
%patch640 -p1
|
||||
%patch641 -p1
|
||||
%patch643 -p1
|
||||
|
||||
%patch393 -p1
|
||||
@ -868,10 +854,6 @@ do
|
||||
mkdir %{gdb_build}$fprofile
|
||||
cd %{gdb_build}$fprofile
|
||||
|
||||
# g77 executable is no longer present in Fedora gcc-4.x+.
|
||||
g77="`which gfortran 2>/dev/null || true`"
|
||||
test -z "$g77" || ln -s "$g77" ./g77
|
||||
|
||||
export CFLAGS="$RPM_OPT_FLAGS"
|
||||
|
||||
%if 0%{?_with_debug:1}
|
||||
@ -1250,6 +1232,10 @@ fi
|
||||
%{_infodir}/gdb.info*
|
||||
|
||||
%changelog
|
||||
* Sat Jan 21 2012 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.4.50.20120120-10.fc17
|
||||
- Rebase to FSF GDB 7.4.50.20120120.
|
||||
- Drop the g77 .spec provisioning as it has been fixed in FSF GDB.
|
||||
|
||||
* Thu Jan 19 2012 Jan Kratochvil <jan.kratochvil@redhat.com> - 7.4.50.20120103-9.fc17
|
||||
- Enable smaller %{_bindir}/gdb in future by no longer using -rdynamic.
|
||||
- Make --enablerepo to use '*-debug*' for RHEL compatibility (BZ 781571).
|
||||
|
Loading…
Reference in New Issue
Block a user