Changeset View
Changeset View
Standalone View
Standalone View
gdb/files/extrapatch-kgdb
diff --git gdb/Makefile.in gdb/Makefile.in | diff --git gdb/Makefile.in gdb/Makefile.in | ||||
index 5b6ccea764..f501cf29d1 100644 | index 6e96a88a98..98c5fd2664 100644 | ||||
--- gdb/Makefile.in | --- gdb/Makefile.in | ||||
+++ gdb/Makefile.in | +++ gdb/Makefile.in | ||||
@@ -212,7 +212,8 @@ INCGNU = -I$(srcdir)/gnulib/import -I$(GNULIB_BUILDDIR)/import | @@ -227,7 +227,8 @@ INCGNU = -I$(srcdir)/gnulib/import -I$(GNULIB_BUILDDIR)/import | ||||
# Generated headers in the gnulib directory. These must be listed | # Generated headers in the gnulib directory. These must be listed | ||||
# so that they are generated before other files are compiled. | # so that they are generated before other files are compiled. | ||||
-GNULIB_H = $(GNULIB_BUILDDIR)/import/string.h @GNULIB_STDINT_H@ | -GNULIB_H = $(GNULIB_BUILDDIR)/import/string.h @GNULIB_STDINT_H@ | ||||
+GNULIB_H = $(GNULIB_BUILDDIR)/import/string.h \ | +GNULIB_H = $(GNULIB_BUILDDIR)/import/string.h \ | ||||
+ $(GNULIB_BUILDDIR)/import/alloca.h @GNULIB_STDINT_H@ | + $(GNULIB_BUILDDIR)/import/alloca.h @GNULIB_STDINT_H@ | ||||
# | # | ||||
# CLI sub directory definitons | # CLI sub directory definitons | ||||
@@ -653,7 +654,8 @@ ALL_64_TARGET_OBS = \ | @@ -758,6 +759,7 @@ ALL_64_TARGET_OBS = \ | ||||
ia64-linux-tdep.o ia64-vms-tdep.o ia64-tdep.o \ | amd64-darwin-tdep.o \ | ||||
mips64obsd-tdep.o \ | amd64-dicos-tdep.o \ | ||||
sparc64fbsd-tdep.o sparc64-linux-tdep.o sparc64nbsd-tdep.o \ | amd64-fbsd-tdep.o \ | ||||
- sparc64obsd-tdep.o sparc64-sol2-tdep.o sparc64-tdep.o | + amd64fbsd-kern.o \ | ||||
+ sparc64obsd-tdep.o sparc64-sol2-tdep.o sparc64-tdep.o \ | amd64-linux-tdep.o \ | ||||
+ amd64fbsd-kern.o sparc64fbsd-kern.o | amd64-nbsd-tdep.o \ | ||||
jhb: I would actually like to rename the kgdb files to match what upstream has done, so 'amd64-fbsd… | |||||
amd64-obsd-tdep.o \ | |||||
# All other target-dependent objects files (used with --enable-targets=all). | @@ -769,6 +771,7 @@ ALL_64_TARGET_OBS = \ | ||||
ALL_TARGET_OBS = \ | ia64-vms-tdep.o \ | ||||
@@ -676,6 +678,8 @@ ALL_TARGET_OBS = \ | mips64-obsd-tdep.o \ | ||||
i386-sol2-tdep.o i386-tdep.o i387-tdep.o \ | sparc64-fbsd-tdep.o \ | ||||
i386-dicos-tdep.o i386-darwin-tdep.o \ | + sparc64fbsd-kern.o \ | ||||
iq2000-tdep.o \ | sparc64-linux-tdep.o \ | ||||
+ fbsd-kld.o fbsd-kthr.o fbsd-kvm.o i386fbsd-kern.o ppcfbsd-kern.o \ | sparc64-nbsd-tdep.o \ | ||||
sparc64-obsd-tdep.o \ | |||||
@@ -796,6 +799,9 @@ ALL_TARGET_OBS = \ | |||||
cris-linux-tdep.o \ | |||||
cris-tdep.o \ | |||||
dicos-tdep.o \ | |||||
+ fbsd-kld.o \ | |||||
+ fbsd-kthr.o \ | |||||
+ fbsd-kvm.o \ | |||||
fbsd-tdep.o \ | |||||
frv-linux-tdep.o \ | |||||
frv-tdep.o \ | |||||
@@ -812,6 +818,7 @@ ALL_TARGET_OBS = \ | |||||
i386-darwin-tdep.o \ | |||||
i386-dicos-tdep.o \ | |||||
i386-fbsd-tdep.o \ | |||||
+ i386fbsd-kern.o \ | |||||
i386-gnu-tdep.o \ | |||||
i386-go32-tdep.o \ | |||||
i386-linux-tdep.o \ | |||||
@@ -836,6 +843,7 @@ ALL_TARGET_OBS = \ | |||||
mep-tdep.o \ | |||||
microblaze-linux-tdep.o \ | |||||
microblaze-tdep.o \ | |||||
+ mipsfbsd-kern.o \ | + mipsfbsd-kern.o \ | ||||
linux-tdep.o \ | mips-fbsd-tdep.o \ | ||||
lm32-tdep.o \ | mips-linux-tdep.o \ | ||||
m32c-tdep.o \ | mips-nbsd-tdep.o \ | ||||
@@ -1133,7 +1137,7 @@ generated_files = config.h observer.h observer.inc ada-lex.c jit-reader.h \ | @@ -853,6 +861,7 @@ ALL_TARGET_OBS = \ | ||||
$(COMPILE) $< | nto-tdep.o \ | ||||
$(POSTCOMPILE) | obsd-tdep.o \ | ||||
ppc-fbsd-tdep.o \ | |||||
+ ppcfbsd-kern.o \ | |||||
ppc-linux-tdep.o \ | |||||
ppc-nbsd-tdep.o \ | |||||
ppc-obsd-tdep.o \ | |||||
@@ -1870,7 +1879,7 @@ generated_files = \ | |||||
# Flags needed to compile Python code | |||||
PYTHON_CFLAGS = @PYTHON_CFLAGS@ | |||||
-all: gdb$(EXEEXT) $(CONFIG_ALL) | -all: gdb$(EXEEXT) $(CONFIG_ALL) | ||||
+all: gdb$(EXEEXT) kgdb$(EXEEXT) $(CONFIG_ALL) | +all: gdb$(EXEEXT) kgdb$(EXEEXT) $(CONFIG_ALL) | ||||
@$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do | @$(MAKE) $(FLAGS_TO_PASS) DO=all "DODIRS=`echo $(SUBDIRS) | sed 's/testsuite//'`" subdir_do | ||||
installcheck: | # Rule for compiling .c files in the top-level gdb directory. | ||||
@@ -1412,6 +1416,12 @@ gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) | @@ -2209,6 +2218,12 @@ gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) | ||||
-o gdb$(EXEEXT) gdb.o $(LIBGDB_OBS) \ | -o gdb$(EXEEXT) gdb.o $(LIBGDB_OBS) \ | ||||
$(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) | $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) | ||||
+kgdb$(EXEEXT): kgdb-main.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) | +kgdb$(EXEEXT): kgdb-main.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS) | ||||
+ rm -f kgdb$(EXEEXT) | + rm -f kgdb$(EXEEXT) | ||||
+ $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \ | + $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \ | ||||
+ -o kgdb$(EXEEXT) kgdb-main.o $(LIBGDB_OBS) \ | + -o kgdb$(EXEEXT) kgdb-main.o $(LIBGDB_OBS) \ | ||||
+ $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) | + $(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES) | ||||
+ | + | ||||
# Convenience rule to handle recursion. | # Convenience rule to handle recursion. | ||||
$(LIBGNU) $(GNULIB_H): all-lib | $(LIBGNU) $(GNULIB_H): all-lib | ||||
all-lib: $(GNULIB_BUILDDIR)/Makefile | all-lib: $(GNULIB_BUILDDIR)/Makefile | ||||
@@ -1456,7 +1466,7 @@ clean mostlyclean: $(CONFIG_CLEAN) | @@ -2253,7 +2268,7 @@ clean mostlyclean: $(CONFIG_CLEAN) | ||||
@$(MAKE) $(FLAGS_TO_PASS) DO=clean "DODIRS=$(CLEANDIRS)" subdir_do | @$(MAKE) $(FLAGS_TO_PASS) DO=clean "DODIRS=$(CLEANDIRS)" subdir_do | ||||
rm -f *.o *.a $(ADD_FILES) *~ init.c-tmp init.l-tmp version.c-tmp | rm -f *.o *.a $(ADD_FILES) *~ init.c-tmp init.l-tmp version.c-tmp | ||||
rm -f init.c version.c observer.h observer.inc | rm -f init.c version.c observer.h observer.inc | ||||
- rm -f gdb$(EXEEXT) core make.log | - rm -f gdb$(EXEEXT) core make.log | ||||
+ rm -f gdb$(EXEEXT) core make.log kgdb$(EXEEXT) | + rm -f gdb$(EXEEXT) core make.log kgdb$(EXEEXT) | ||||
rm -f gdb[0-9]$(EXEEXT) | rm -f gdb[0-9]$(EXEEXT) | ||||
rm -f test-cp-name-parser$(EXEEXT) | rm -f test-cp-name-parser$(EXEEXT) | ||||
rm -f xml-builtin.c stamp-xml | rm -f xml-builtin.c stamp-xml | ||||
@@ -1688,6 +1698,9 @@ ALLDEPFILES = \ | @@ -2475,6 +2490,7 @@ ALLDEPFILES = \ | ||||
core-regset.c \ | amd64-bsd-nat.c \ | ||||
dcache.c dicos-tdep.c darwin-nat.c \ | amd64-darwin-tdep.c \ | ||||
amd64-dicos-tdep.c \ | |||||
+ amd64fbsd-kern.c \ | |||||
amd64-fbsd-nat.c \ | |||||
amd64-fbsd-tdep.c \ | |||||
amd64-linux-nat.c \ | |||||
@@ -2510,6 +2526,9 @@ ALLDEPFILES = \ | |||||
dcache.c \ | |||||
dicos-tdep.c \ | |||||
exec.c \ | exec.c \ | ||||
+ fbsd-kld.c fbsd-kthr.c fbsd-kvm.c \ | + fbsd-kld.c \ | ||||
+ amd64fbsd-kern.c i386fbsd-kern.c mipsfbsd-kern.c ppcfbsd-kern.c \ | + fbsd-kthr.c \ | ||||
+ sparc64fbsd-kern.c \ | + fbsd-kvm.c \ | ||||
fbsd-nat.c \ | fbsd-nat.c \ | ||||
fbsd-tdep.c \ | fbsd-tdep.c \ | ||||
fork-child.c \ | fork-child.c \ | ||||
@@ -2761,7 +2774,7 @@ py-varobj.o: $(srcdir)/python/py-varobj.c | @@ -2531,6 +2550,7 @@ ALLDEPFILES = \ | ||||
i386-darwin-nat.c \ | |||||
i386-darwin-tdep.c \ | |||||
i386-dicos-tdep.c \ | |||||
+ i386fbsd-kern.c \ | |||||
i386-fbsd-nat.c \ | |||||
i386-fbsd-tdep.c \ | |||||
i386-gnu-nat.c \ | |||||
@@ -2572,6 +2592,7 @@ ALLDEPFILES = \ | |||||
mingw-hdep.c \ | |||||
mips-fbsd-nat.c \ | |||||
mips-fbsd-tdep.c \ | |||||
+ mipsfbsd-kern.c \ | |||||
mips-linux-nat.c \ | |||||
mips-linux-tdep.c \ | |||||
mips-nbsd-nat.c \ | |||||
@@ -2589,6 +2610,7 @@ ALLDEPFILES = \ | |||||
obsd-nat.c \ | |||||
obsd-tdep.c \ | |||||
posix-hdep.c \ | |||||
+ ppcfbsd-kern.c \ | |||||
ppc-fbsd-nat.c \ | |||||
ppc-fbsd-tdep.c \ | |||||
ppc-linux-nat.c \ | |||||
@@ -2633,6 +2655,7 @@ ALLDEPFILES = \ | |||||
sparc-sol2-nat.c \ | |||||
sparc-sol2-tdep.c \ | |||||
sparc-tdep.c \ | |||||
+ sparc64fbsd-kern.c \ | |||||
sparc64-fbsd-nat.c \ | |||||
sparc64-fbsd-tdep.c \ | |||||
sparc64-linux-nat.c \ | |||||
@@ -2664,6 +2687,12 @@ ALLDEPFILES = \ | |||||
xtensa-linux-tdep.c \ | |||||
xtensa-tdep.c \ | |||||
xtensa-xtregs.c \ | |||||
+ kgdb/kld.c \ | |||||
+ kgdb/kthr.c \ | |||||
+ kgdb/trgt.c \ | |||||
+ kgdb/trgt_amd64.c \ | |||||
+ kgdb/trgt_i386.c \ | |||||
+ kgdb/trgt_sparc64.c \ | |||||
common/mingw-strerror.c \ | |||||
common/posix-strerror.c | |||||
@@ -2925,7 +2954,7 @@ endif | |||||
# A list of all the objects we might care about in this build, for | # A list of all the objects we might care about in this build, for | ||||
# dependency tracking. | # dependency tracking. | ||||
-all_object_files = gdb.o $(LIBGDB_OBS) gdbtk-main.o \ | -all_object_files = gdb.o $(LIBGDB_OBS) gdbtk-main.o \ | ||||
+all_object_files = kgdb-main.o gdb.o $(LIBGDB_OBS) gdbtk-main.o \ | +all_object_files = kgdb-main.o gdb.o $(LIBGDB_OBS) gdbtk-main.o \ | ||||
test-cp-name-parser.o | test-cp-name-parser.o | ||||
# Ensure that generated files are created early. Use order-only | # Ensure that generated files are created early. Use order-only | ||||
diff --git gdb/config.in gdb/config.in | diff --git gdb/config.in gdb/config.in | ||||
index c82a5b4bac..34140b2d59 100644 | index 3f8a72326b..bb1e8c23bf 100644 | ||||
--- gdb/config.in | --- gdb/config.in | ||||
+++ gdb/config.in | +++ gdb/config.in | ||||
@@ -219,6 +219,9 @@ | @@ -222,6 +222,9 @@ | ||||
/* Define to 1 if your system has the kinfo_getvmmap function. */ | /* Define to 1 if your system has the kinfo_getvmmap function. */ | ||||
#undef HAVE_KINFO_GETVMMAP | #undef HAVE_KINFO_GETVMMAP | ||||
+/* Define to 1 if your system has the kvm_open2 function. */ | +/* Define to 1 if your system has the kvm_open2 function. */ | ||||
+#undef HAVE_KVM_OPEN2 | +#undef HAVE_KVM_OPEN2 | ||||
+ | + | ||||
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */ | /* Define if you have <langinfo.h> and nl_langinfo(CODESET). */ | ||||
#undef HAVE_LANGINFO_CODESET | #undef HAVE_LANGINFO_CODESET | ||||
diff --git gdb/config/mips/fbsd.mh gdb/config/mips/fbsd.mh | diff --git gdb/config/mips/fbsd.mh gdb/config/mips/fbsd.mh | ||||
index f433347a20..5470795612 100644 | index f433347a20..5470795612 100644 | ||||
--- gdb/config/mips/fbsd.mh | --- gdb/config/mips/fbsd.mh | ||||
+++ gdb/config/mips/fbsd.mh | +++ gdb/config/mips/fbsd.mh | ||||
@@ -1,3 +1,5 @@ | @@ -1,3 +1,5 @@ | ||||
# Host: FreeBSD/mips | # Host: FreeBSD/mips | ||||
NATDEPFILES= fork-child.o inf-ptrace.o fbsd-nat.o mips-fbsd-nat.o | NATDEPFILES= fork-child.o inf-ptrace.o fbsd-nat.o mips-fbsd-nat.o | ||||
HAVE_NATIVE_GCORE_HOST = 1 | HAVE_NATIVE_GCORE_HOST = 1 | ||||
+ | + | ||||
+LOADLIBES= -lkvm | +LOADLIBES= -lkvm | ||||
diff --git gdb/configure gdb/configure | diff --git gdb/configure gdb/configure | ||||
index b5c045cf10..68299ff16c 100755 | index e14886b67d..5682ce42d6 100755 | ||||
--- gdb/configure | --- gdb/configure | ||||
+++ gdb/configure | +++ gdb/configure | ||||
@@ -7112,6 +7112,66 @@ $as_echo "#define HAVE_KINFO_GETVMMAP 1" >>confdefs.h | @@ -7968,6 +7968,66 @@ $as_echo "#define HAVE_KINFO_GETVMMAP 1" >>confdefs.h | ||||
fi | fi | ||||
+# kgdb needs kvm_open2 for cross-debugging | +# kgdb needs kvm_open2 for cross-debugging | ||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing kvm_open2" >&5 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing kvm_open2" >&5 | ||||
+$as_echo_n "checking for library containing kvm_open2... " >&6; } | +$as_echo_n "checking for library containing kvm_open2... " >&6; } | ||||
+if test "${ac_cv_search_kvm_open2+set}" = set; then : | +if test "${ac_cv_search_kvm_open2+set}" = set; then : | ||||
+ $as_echo_n "(cached) " >&6 | + $as_echo_n "(cached) " >&6 | ||||
▲ Show 20 Lines • Show All 51 Lines • ▼ Show 20 Lines | |||||
+ | + | ||||
+fi | +fi | ||||
+ | + | ||||
+ | + | ||||
if test "X$prefix" = "XNONE"; then | if test "X$prefix" = "XNONE"; then | ||||
acl_final_prefix="$ac_default_prefix" | acl_final_prefix="$ac_default_prefix" | ||||
diff --git gdb/configure.ac gdb/configure.ac | diff --git gdb/configure.ac gdb/configure.ac | ||||
index f774db7ea6..efccdd3fb1 100644 | index 50f6f592ba..89cdc9cc8e 100644 | ||||
--- gdb/configure.ac | --- gdb/configure.ac | ||||
+++ gdb/configure.ac | +++ gdb/configure.ac | ||||
@@ -540,6 +540,11 @@ AC_SEARCH_LIBS(kinfo_getvmmap, util util-freebsd, | @@ -530,6 +530,11 @@ AC_SEARCH_LIBS(kinfo_getvmmap, util util-freebsd, | ||||
[AC_DEFINE(HAVE_KINFO_GETVMMAP, 1, | [AC_DEFINE(HAVE_KINFO_GETVMMAP, 1, | ||||
[Define to 1 if your system has the kinfo_getvmmap function. ])]) | [Define to 1 if your system has the kinfo_getvmmap function. ])]) | ||||
+# kgdb needs kvm_open2 for cross-debugging | +# kgdb needs kvm_open2 for cross-debugging | ||||
+AC_SEARCH_LIBS(kvm_open2, kvm, | +AC_SEARCH_LIBS(kvm_open2, kvm, | ||||
+ [AC_DEFINE(HAVE_KVM_OPEN2, 1, | + [AC_DEFINE(HAVE_KVM_OPEN2, 1, | ||||
+ [Define to 1 if your system has the kvm_open2 function. ])]) | + [Define to 1 if your system has the kvm_open2 function. ])]) | ||||
+ | + | ||||
AM_ICONV | AM_ICONV | ||||
# GDB may fork/exec the iconv program to get the list of supported character | # GDB may fork/exec the iconv program to get the list of supported character | ||||
diff --git gdb/configure.tgt gdb/configure.tgt | diff --git gdb/configure.tgt gdb/configure.tgt | ||||
index 9ee9f7a799..fb14b19405 100644 | index fdcb7b1d69..d99aa325ab 100644 | ||||
--- gdb/configure.tgt | --- gdb/configure.tgt | ||||
+++ gdb/configure.tgt | +++ gdb/configure.tgt | ||||
@@ -190,7 +190,13 @@ i[34567]86-*-dicos*) | @@ -198,7 +198,13 @@ i[34567]86-*-dicos*) | ||||
i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu) | i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu) | ||||
# Target: FreeBSD/i386 | # Target: FreeBSD/i386 | ||||
gdb_target_obs="i386-tdep.o i387-tdep.o i386bsd-tdep.o i386fbsd-tdep.o \ | gdb_target_obs="i386-tdep.o i387-tdep.o i386-bsd-tdep.o i386-fbsd-tdep.o \ | ||||
- bsd-uthread.o fbsd-tdep.o solib-svr4.o" | - fbsd-tdep.o solib-svr4.o" | ||||
+ bsd-uthread.o fbsd-tdep.o solib-svr4.o \ | + fbsd-tdep.o solib-svr4.o \ | ||||
+ fbsd-kld.o fbsd-kthr.o fbsd-kvm.o i386fbsd-kern.o" | + fbsd-kld.o fbsd-kthr.o fbsd-kvm.o i386fbsd-kern.o" | ||||
+ if test "x$enable_64_bit_bfd" = "xyes"; then | + if test "x$enable_64_bit_bfd" = "xyes"; then | ||||
+ # Target: FreeBSD amd64 | + # Target: FreeBSD amd64 | ||||
+ gdb_target_obs="amd64-tdep.o amd64fbsd-tdep.o amd64fbsd-kern.o \ | + gdb_target_obs="amd64-tdep.o amd64fbsd-tdep.o amd64fbsd-kern.o \ | ||||
+ ${gdb_target_obs}" | + ${gdb_target_obs}" | ||||
+ fi | + fi | ||||
;; | ;; | ||||
i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu) | i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu) | ||||
# Target: NetBSD/i386 | # Target: NetBSD/i386 | ||||
@@ -360,7 +366,8 @@ mips*-*-netbsd* | mips*-*-knetbsd*-gnu) | @@ -372,7 +378,8 @@ mips*-*-netbsd* | mips*-*-knetbsd*-gnu) | ||||
;; | ;; | ||||
mips*-*-freebsd*) | mips*-*-freebsd*) | ||||
# Target: MIPS running FreeBSD | # Target: MIPS running FreeBSD | ||||
- gdb_target_obs="mips-tdep.o mips-fbsd-tdep.o solib-svr4.o fbsd-tdep.o" | - gdb_target_obs="mips-tdep.o mips-fbsd-tdep.o solib-svr4.o fbsd-tdep.o" | ||||
+ gdb_target_obs="mips-tdep.o mips-fbsd-tdep.o solib-svr4.o fbsd-tdep.o \ | + gdb_target_obs="mips-tdep.o mips-fbsd-tdep.o solib-svr4.o fbsd-tdep.o \ | ||||
+ fbsd-kld.o fbsd-kthr.o fbsd-kvm.o mipsfbsd-kern.o" | + fbsd-kld.o fbsd-kthr.o fbsd-kvm.o mipsfbsd-kern.o" | ||||
gdb_sim=../sim/mips/libsim.a | gdb_sim=../sim/mips/libsim.a | ||||
;; | ;; | ||||
mips64*-*-openbsd*) | mips64*-*-openbsd*) | ||||
@@ -419,7 +426,8 @@ powerpc*-*-freebsd*) | @@ -431,7 +438,8 @@ powerpc*-*-freebsd*) | ||||
# Target: FreeBSD/powerpc | # Target: FreeBSD/powerpc | ||||
gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc64-tdep.o \ | gdb_target_obs="rs6000-tdep.o ppc-sysv-tdep.o ppc64-tdep.o \ | ||||
ppcfbsd-tdep.o fbsd-tdep.o solib-svr4.o \ | ppc-fbsd-tdep.o fbsd-tdep.o solib-svr4.o \ | ||||
- ravenscar-thread.o ppc-ravenscar-thread.o" | - ravenscar-thread.o ppc-ravenscar-thread.o" | ||||
+ ravenscar-thread.o ppc-ravenscar-thread.o \ | + ravenscar-thread.o ppc-ravenscar-thread.o \ | ||||
+ fbsd-kld.o fbsd-kthr.o fbsd-kvm.o ppcfbsd-kern.o" | + fbsd-kld.o fbsd-kthr.o fbsd-kvm.o ppcfbsd-kern.o" | ||||
;; | ;; | ||||
powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu) | powerpc-*-netbsd* | powerpc-*-knetbsd*-gnu) | ||||
@@ -543,7 +551,8 @@ sparc*-*-freebsd* | sparc*-*-kfreebsd*-gnu) | @@ -555,7 +563,8 @@ sparc*-*-freebsd* | sparc*-*-kfreebsd*-gnu) | ||||
# Target: FreeBSD/sparc64 | # Target: FreeBSD/sparc64 | ||||
gdb_target_obs="sparc-tdep.o sparc64-tdep.o sparc64fbsd-tdep.o \ | gdb_target_obs="sparc-tdep.o sparc64-tdep.o sparc64-fbsd-tdep.o \ | ||||
fbsd-tdep.o solib-svr4.o \ | fbsd-tdep.o solib-svr4.o \ | ||||
- ravenscar-thread.o sparc-ravenscar-thread.o" | - ravenscar-thread.o sparc-ravenscar-thread.o" | ||||
+ ravenscar-thread.o sparc-ravenscar-thread.o \ | + ravenscar-thread.o sparc-ravenscar-thread.o \ | ||||
+ fbsd-kld.o fbsd-kthr.o fbsd-kvm.o sparc64fbsd-kern.o" | + fbsd-kld.o fbsd-kthr.o fbsd-kvm.o sparc64fbsd-kern.o" | ||||
;; | ;; | ||||
sparc-*-netbsd* | sparc-*-knetbsd*-gnu) | sparc-*-netbsd* | sparc-*-knetbsd*-gnu) | ||||
# Target: NetBSD/sparc | # Target: NetBSD/sparc | ||||
@@ -674,7 +683,9 @@ x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) | @@ -686,7 +695,9 @@ x86_64-*-freebsd* | x86_64-*-kfreebsd*-gnu) | ||||
# Target: FreeBSD/amd64 | # Target: FreeBSD/amd64 | ||||
gdb_target_obs="amd64-tdep.o amd64fbsd-tdep.o i386-tdep.o \ | gdb_target_obs="amd64-tdep.o amd64-fbsd-tdep.o i386-tdep.o \ | ||||
i387-tdep.o i386bsd-tdep.o i386fbsd-tdep.o \ | i387-tdep.o i386-bsd-tdep.o i386-fbsd-tdep.o \ | ||||
- bsd-uthread.o fbsd-tdep.o solib-svr4.o" | - fbsd-tdep.o solib-svr4.o" | ||||
+ bsd-uthread.o fbsd-tdep.o solib-svr4.o \ | + fbsd-tdep.o solib-svr4.o \ | ||||
+ fbsd-kld.o fbsd-kthr.o fbsd-kvm.o amd64fbsd-kern.o \ | + fbsd-kld.o fbsd-kthr.o fbsd-kvm.o amd64fbsd-kern.o \ | ||||
+ i386fbsd-kern.o" | + i386fbsd-kern.o" | ||||
;; | ;; | ||||
x86_64-*-mingw* | x86_64-*-cygwin*) | x86_64-*-mingw* | x86_64-*-cygwin*) | ||||
# Target: MingW/amd64 | # Target: MingW/amd64 | ||||
diff --git gdb/defs.h gdb/defs.h | diff --git gdb/defs.h gdb/defs.h | ||||
index 9b44f44349..f176be1108 100644 | index a0b586f401..44d3d112ed 100644 | ||||
--- gdb/defs.h | --- gdb/defs.h | ||||
+++ gdb/defs.h | +++ gdb/defs.h | ||||
@@ -598,6 +598,7 @@ enum gdb_osabi | @@ -590,6 +590,7 @@ enum gdb_osabi | ||||
GDB_OSABI_SOLARIS, | |||||
GDB_OSABI_LINUX, | GDB_OSABI_LINUX, | ||||
GDB_OSABI_FREEBSD_AOUT, | GDB_OSABI_FREEBSD, | ||||
GDB_OSABI_FREEBSD_ELF, | + GDB_OSABI_FREEBSD_KERNEL, | ||||
+ GDB_OSABI_FREEBSD_ELF_KERNEL, | GDB_OSABI_NETBSD, | ||||
GDB_OSABI_NETBSD_AOUT, | GDB_OSABI_OPENBSD, | ||||
GDB_OSABI_NETBSD_ELF, | GDB_OSABI_WINCE, | ||||
GDB_OSABI_OPENBSD_ELF, | |||||
diff --git gdb/osabi.c gdb/osabi.c | diff --git gdb/osabi.c gdb/osabi.c | ||||
index f7d4e74239..130ffef37e 100644 | index 84fa9c0273..5c49e22657 100644 | ||||
--- gdb/osabi.c | --- gdb/osabi.c | ||||
+++ gdb/osabi.c | +++ gdb/osabi.c | ||||
@@ -66,6 +66,7 @@ static const struct osabi_names gdb_osabi_names[] = | @@ -65,6 +65,7 @@ static const struct osabi_names gdb_osabi_names[] = | ||||
{ "Solaris", NULL }, | |||||
{ "GNU/Linux", "linux(-gnu)?" }, | { "GNU/Linux", "linux(-gnu)?" }, | ||||
{ "FreeBSD/a.out", NULL }, | { "FreeBSD", NULL }, | ||||
{ "FreeBSD/ELF", NULL }, | |||||
+ { "FreeBSD/kernel", NULL }, | + { "FreeBSD/kernel", NULL }, | ||||
{ "NetBSD/a.out", NULL }, | { "NetBSD", NULL }, | ||||
{ "NetBSD/ELF", NULL }, | { "OpenBSD", NULL }, | ||||
{ "OpenBSD/ELF", NULL }, | { "WindowsCE", NULL }, | ||||
diff --git gdb/regcache.c gdb/regcache.c | diff --git gdb/regcache.c gdb/regcache.c | ||||
index a5c90a6314..05044e5293 100644 | index 37bc2f0046..9da3aaa514 100644 | ||||
--- gdb/regcache.c | --- gdb/regcache.c | ||||
+++ gdb/regcache.c | +++ gdb/regcache.c | ||||
@@ -1083,6 +1083,20 @@ regcache_raw_supply (struct regcache *regcache, int regnum, const void *buf) | @@ -1105,6 +1105,20 @@ regcache_raw_supply (struct regcache *regcache, int regnum, const void *buf) | ||||
} | } | ||||
} | } | ||||
+void | +void | ||||
+regcache_raw_supply_unsigned (struct regcache *regcache, int regnum, | +regcache_raw_supply_unsigned (struct regcache *regcache, int regnum, | ||||
+ ULONGEST val) | + ULONGEST val) | ||||
+{ | +{ | ||||
+ gdb_byte *buf; | + gdb_byte *buf; | ||||
+ | + | ||||
+ gdb_assert (regcache != NULL); | + gdb_assert (regcache != NULL); | ||||
+ gdb_assert (regnum >=0 && regnum < regcache->descr->nr_raw_registers); | + gdb_assert (regnum >=0 && regnum < regcache->descr->nr_raw_registers); | ||||
+ buf = (gdb_byte *)alloca (regcache->descr->sizeof_register[regnum]); | + buf = (gdb_byte *)alloca (regcache->descr->sizeof_register[regnum]); | ||||
+ store_unsigned_integer (buf, regcache->descr->sizeof_register[regnum], | + store_unsigned_integer (buf, regcache->descr->sizeof_register[regnum], | ||||
+ gdbarch_byte_order (regcache->descr->gdbarch), val); | + gdbarch_byte_order (regcache->descr->gdbarch), val); | ||||
+ regcache_raw_supply (regcache, regnum, buf); | + regcache_raw_supply (regcache, regnum, buf); | ||||
+} | +} | ||||
+ | + | ||||
/* Collect register REGNUM from REGCACHE and store its contents in BUF. */ | /* Collect register REGNUM from REGCACHE and store its contents in BUF. */ | ||||
void | void | ||||
diff --git gdb/regcache.h gdb/regcache.h | diff --git gdb/regcache.h gdb/regcache.h | ||||
index 1bb0ce0ec8..65783b6355 100644 | index 1d60fa7616..9b8a4723a3 100644 | ||||
--- gdb/regcache.h | --- gdb/regcache.h | ||||
+++ gdb/regcache.h | +++ gdb/regcache.h | ||||
@@ -135,6 +135,8 @@ extern void regcache_write_pc (struct regcache *regcache, CORE_ADDR pc); | @@ -149,6 +149,8 @@ extern void regcache_write_pc (struct regcache *regcache, CORE_ADDR pc); | ||||
extern void regcache_raw_supply (struct regcache *regcache, | extern void regcache_raw_supply (struct regcache *regcache, | ||||
int regnum, const void *buf); | int regnum, const void *buf); | ||||
+extern void regcache_raw_supply_unsigned (struct regcache *regcache, | +extern void regcache_raw_supply_unsigned (struct regcache *regcache, | ||||
+ int regnum, ULONGEST val); | + int regnum, ULONGEST val); | ||||
extern void regcache_raw_collect (const struct regcache *regcache, | extern void regcache_raw_collect (const struct regcache *regcache, | ||||
int regnum, void *buf); | int regnum, void *buf); | ||||
I would actually like to rename the kgdb files to match what upstream has done, so 'amd64-fbsd-kern.c', etc.