wip/gdb6: import gdb-6.2.1nb8

GDB, the GNU Project debugger, allows you to see what is
going on `inside' another program while it executes -- or
what another program was doing at the moment it crashed.
This commit is contained in:
Kamil Rytarowski 2017-09-29 15:16:28 +02:00
parent bbba8cab0b
commit 6853d2d065
52 changed files with 1217 additions and 0 deletions

3
gdb6/DESCR Normal file
View File

@ -0,0 +1,3 @@
GDB, the GNU Project debugger, allows you to see what is
going on `inside' another program while it executes -- or
what another program was doing at the moment it crashed.

41
gdb6/Makefile Normal file
View File

@ -0,0 +1,41 @@
# $NetBSD: Makefile,v 1.33 2015/08/18 07:31:04 wiz Exp $
#
DISTNAME= gdb-6.2.1
PKGREVISION= 8
CATEGORIES= devel
MASTER_SITES= ftp://sources.redhat.com/pub/gdb/releases/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.gnu.org/software/gdb/gdb.html
COMMENT= The GNU Project Debugger
# This (outdated) gdb does not understand mach-o (hence macos) and has
# never heard of dragonfly either, and is not worth fixing.
NOT_FOR_PLATFORM= Darwin-*-* DragonFly-*-*
USE_TOOLS+= gmake makeinfo msgfmt
USE_LIBTOOL= yes
USE_PKGLOCALEDIR= yes
REPLACE_LOCALEDIR_PATTERNS+= Make-in
GNU_CONFIGURE= yes
GNU_CONFIGURE_LIBSUBDIR=gdb6
CONFIGURE_ARGS+= --includedir=${PREFIX}/include/gdb6
CONFIGURE_ARGS+= --enable-libada
INFO_FILES= yes
.include "options.mk"
pre-patch:
${CP} ${FILESDIR}/nbsd-nat.c ${WRKSRC}/gdb
do-test:
if ${PKG_INFO} -qe dejagnu; then \
(cd ${WRKSRC} && ${GMAKE} check); \
else \
${ECHO} "dejagnu is required for the test target"; \
fi
.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

3
gdb6/PLIST.Linux Normal file
View File

@ -0,0 +1,3 @@
@comment $NetBSD: PLIST.Linux,v 1.1 2009/02/11 21:58:40 shattered Exp $
bin/gdbserver
man/man1/gdbserver.1

39
gdb6/PLIST.common Normal file
View File

@ -0,0 +1,39 @@
@comment $NetBSD: PLIST.common,v 1.4 2009/09/09 12:50:58 wiz Exp $
bin/gdb
${PLIST.tui}bin/gdbtui
include/gdb6/ansidecl.h
include/gdb6/bfd.h
include/gdb6/bfdlink.h
include/gdb6/dis-asm.h
include/gdb6/symcat.h
info/annotate.info
info/bfd.info
info/configure.info
info/gdb.info
info/gdbint.info
info/mmalloc.info
info/stabs.info
lib/gdb6/libbfd.la
lib/gdb6/libiberty.a
lib/gdb6/libmmalloc.a
lib/gdb6/libopcodes.la
man/man1/gdb.1
${PLIST.tui}man/man1/gdbtui.1
share/locale/da/LC_MESSAGES/bfd.mo
share/locale/da/LC_MESSAGES/opcodes.mo
share/locale/de/LC_MESSAGES/opcodes.mo
share/locale/es/LC_MESSAGES/bfd.mo
share/locale/es/LC_MESSAGES/opcodes.mo
share/locale/fr/LC_MESSAGES/bfd.mo
share/locale/fr/LC_MESSAGES/opcodes.mo
share/locale/id/LC_MESSAGES/opcodes.mo
share/locale/ja/LC_MESSAGES/bfd.mo
share/locale/nl/LC_MESSAGES/opcodes.mo
share/locale/pt_BR/LC_MESSAGES/opcodes.mo
share/locale/ro/LC_MESSAGES/bfd.mo
share/locale/ro/LC_MESSAGES/opcodes.mo
share/locale/sv/LC_MESSAGES/bfd.mo
share/locale/sv/LC_MESSAGES/opcodes.mo
share/locale/tr/LC_MESSAGES/bfd.mo
share/locale/tr/LC_MESSAGES/opcodes.mo
share/locale/zh_CN/LC_MESSAGES/bfd.mo

51
gdb6/distinfo Normal file
View File

@ -0,0 +1,51 @@
$NetBSD: distinfo,v 1.16 2015/11/03 03:27:27 agc Exp $
SHA1 (gdb-6.2.1.tar.bz2) = 50cee3887744c4140aafcc0e4eb579d94464dfd7
RMD160 (gdb-6.2.1.tar.bz2) = 6fe9f3bbef076c55cbcdf05143e7d5f98f61f889
SHA512 (gdb-6.2.1.tar.bz2) = dc253a48ae4480c38af726920ebcf9c44c3e4269d71283e60a6730298bfb4f368ec775b4ecca906c6a33dc9548ef05102ff6a8f088c4cca26f7e6279ef33a50c
Size (gdb-6.2.1.tar.bz2) = 12820148 bytes
SHA1 (patch-aa) = afb8d7805c2c01c131bc4a7949a532e5372817c0
SHA1 (patch-ab) = b5c98fc990606e2f5c566864d02565d8fc9adeb4
SHA1 (patch-ac) = bc9a4e5d77d571a6f06b88984fb2030beec37654
SHA1 (patch-ad) = 7fddbe93dda4ddb659b050b0b511f5cb19e2777e
SHA1 (patch-ae) = 19dbdb326643bf32a3d0c26cfea056cca19deb13
SHA1 (patch-af) = 976cbe2b27c23a113c43cab791562a04d9e6d7e3
SHA1 (patch-ag) = c53cc22ac5a2c5d5b2c1a7b0825558d8787b2bed
SHA1 (patch-ah) = 048c03512a18f3234422a3afc00d6c45f2dea58d
SHA1 (patch-ai) = 66e40920b5de734cbcf66c0b357e82a74f3c48c0
SHA1 (patch-aj) = a54471bf7cdd42def5e78137df3674988ae3c04b
SHA1 (patch-ak) = 6ae7afb646fe7464b8a3667913ac6681b1df34e6
SHA1 (patch-al) = c883cc007cd43c478b1ba0f09ca084391552ba3b
SHA1 (patch-am) = 3d9a9eb8dce8a8cb83f8e7afc504bf52cdec0b1d
SHA1 (patch-an) = ba113183487cea58e71b932754d3b7b77f1c96f9
SHA1 (patch-ao) = 6b977d1da6d94ff32bdf1e3627ee534333cc2a79
SHA1 (patch-ap) = 3e41ee1623a52802268d5986559ce7ab742f36e7
SHA1 (patch-aq) = bf4b1c62b003e65f5810a7d28f8464e936e8d190
SHA1 (patch-ar) = d8b8e91f191837fd1b98e23733780ccfecd61b3b
SHA1 (patch-as) = eef1bd1d5f00a6fc65d81c46063be9983dbe472b
SHA1 (patch-at) = f60be4c062e0df4a31f1795b5d2708065ee368cb
SHA1 (patch-au) = 0595fd12a2dd0f7ec4ec95b74537094ea7314273
SHA1 (patch-av) = 0ec7cfe9b232caeb1d6fd20fb5fd64f045e68bbf
SHA1 (patch-aw) = 272b4035d1bcde2fadc04a90ad471de681680c34
SHA1 (patch-ax) = bacd2687675ccbb7cbc05359323c0bf32f75e9e5
SHA1 (patch-ay) = edcb6662c891738a0582bbfed151bff3812a5f8d
SHA1 (patch-az) = b3f7b9f8a3ad7762637fe9f60a45e50206b713ae
SHA1 (patch-ba) = d85e155d88e17da9c316c69e6fea3a7ba2e470ee
SHA1 (patch-bb) = 63dde49eaf61bf85ce6dae12ec9af33ae4addfb5
SHA1 (patch-bc) = 9c8d886a5b412e64a9a8e6165110a5c336ff65ae
SHA1 (patch-bd) = 840ce6ceb34afea4c8b789c70fb848ad9942ce39
SHA1 (patch-be) = dd353978d62cc45aadf6259e8b5f7b2895317f9c
SHA1 (patch-bf) = 1c56789841982089a32bdcca8465f6d2112503b0
SHA1 (patch-bg) = 8a7c8e5d081d261b7493d633931d7003f49001ae
SHA1 (patch-bh) = c62928b6b8c4857ddb373ab3ac7f111442672b9d
SHA1 (patch-bi) = 96f44172271f9a45f9136bda159371ee709da59a
SHA1 (patch-bj) = 43cf376dddf9f91dceee8d1eba853171fd873905
SHA1 (patch-bk) = 98f836c7007a668b812d119be294842a957cb507
SHA1 (patch-bl) = c125f2a1bed7c5b528e463ff619a77f84edd1f55
SHA1 (patch-bm) = baf198e86cb5e9d8b9f6b0bd6d7ccd1ca61227b4
SHA1 (patch-bn) = cfeee69148028782b9ab6580f0f619d5f3327325
SHA1 (patch-bo) = 92221afaa93d9362057783c20100ce7ff1b5df9b
SHA1 (patch-bp) = bff41b3fb0f5952cbcd37797ec4bb63f6f79da8d
SHA1 (patch-br) = f1e1a0b16721cdc8b1379685a0598211e71cee49
SHA1 (patch-gdb_dwarf2read.c) = 811455c31b004a35ba557244037cde55c0161777
SHA1 (patch-gdb_dwarfread.c) = 56a2210a50e31d464eb4ca295b3021d010f738d2

54
gdb6/files/nbsd-nat.c Normal file
View File

@ -0,0 +1,54 @@
/* Low level Unix child interface to ptrace, for GDB when running under Unix.
Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996,
1998, 1999, 2000, 2001, 2002
Free Software Foundation, Inc.
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "target.h"
#include "gdb_string.h"
#include "regcache.h"
#include "gdb_wait.h"
#include "command.h"
#include <sys/types.h>
#include "gdb_dirent.h"
#include <sys/ptrace.h>
#include <machine/reg.h>
#include "i386-tdep.h"
#define ATTACH_DETACH
/* Start debugging the process whose number is PID. */
int
attach (int pid)
{
errno = 0;
if (pid == getpid())
ptrace (PT_TRACE_ME, pid, (PTRACE_ARG3_TYPE) 0, 0);
else
ptrace (PT_ATTACH, pid, (PTRACE_ARG3_TYPE) 0, 0);
if (errno)
perror_with_name ("ptrace");
attach_flag = 1;
return pid;
}

15
gdb6/options.mk Normal file
View File

@ -0,0 +1,15 @@
# $NetBSD: options.mk,v 1.1 2009/04/04 13:49:17 wiz Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.gdb6
PKG_SUPPORTED_OPTIONS= gdb6-tui
PKG_SUGGESTED_OPTIONS= gdb6-tui
.include "../../mk/bsd.options.mk"
PLIST_VARS+= tui
.if !empty(PKG_OPTIONS:Mgdb6-tui)
PLIST.tui= yes
.include "../../mk/curses.buildlink3.mk"
.else
CONFIGURE_ARGS+= --disable-tui
.endif

68
gdb6/patches/patch-aa Normal file
View File

@ -0,0 +1,68 @@
$NetBSD: patch-aa,v 1.2 2006/03/14 00:47:50 joerg Exp $
--- gdb/i386bsd-nat.c.orig 2004-05-31 11:20:41.000000000 +0000
+++ gdb/i386bsd-nat.c
@@ -33,6 +33,19 @@
#include "i386-tdep.h"
#include "i387-tdep.h"
+#ifdef HAVE_SYS_PROCFS_H
+#include <sys/procfs.h>
+#endif
+
+#ifndef HAVE_GREGSET_T
+typedef struct reg gregset_t;
+#endif
+
+#ifndef HAVE_FPREGSET_T
+typedef struct fpreg fpregset_t;
+#endif
+
+#include "gregset.h"
/* In older BSD versions we cannot get at some of the segment
@@ -349,7 +362,7 @@ _initialize_i386bsd_nat (void)
system header files and sysctl(3) to get at the relevant
information. */
-#if defined (__FreeBSD_version) && __FreeBSD_version >= 400011
+#if defined(__DragonFly__) || (defined (__FreeBSD_version) && __FreeBSD_version >= 400011)
#define SC_REG_OFFSET i386fbsd4_sc_reg_offset
#elif defined (__FreeBSD_version) && __FreeBSD_version >= 300005
#define SC_REG_OFFSET i386fbsd_sc_reg_offset
@@ -373,7 +386,11 @@ _initialize_i386bsd_nat (void)
/* Override the default value for the offset of the program counter
in the sigcontext structure. */
- offset = offsetof (struct sigcontext, sc_pc);
+#if defined(__DragonFly__)
+ offset = offsetof (ucontext_t, uc_mcontext.mc_eip);
+#else
+ offset = offsetof (ucontext_t, uc_mcontext.__gregs[_REG_EIP]);
+#endif
if (SC_PC_OFFSET != offset)
{
@@ -386,7 +403,11 @@ Please report this to <bug-gdb@gnu.org>.
SC_PC_OFFSET = offset;
/* Likewise for the stack pointer. */
- offset = offsetof (struct sigcontext, sc_sp);
+#if defined(__DragonFly__)
+ offset = offsetof (ucontext_t, uc_mcontext.mc_esp);
+#else
+ offset = offsetof (ucontext_t, uc_mcontext.__gregs[_REG_UESP]);
+#endif
if (SC_SP_OFFSET != offset)
{
@@ -399,7 +420,7 @@ Please report this to <bug-gdb@gnu.org>.
SC_SP_OFFSET = offset;
/* And the frame pointer. */
- offset = offsetof (struct sigcontext, sc_fp);
+ offset = offsetof (ucontext_t, uc_stack);
if (SC_FP_OFFSET != offset)
{

13
gdb6/patches/patch-ab Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: patch-ab,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- Makefile.tpl.orig 2004-06-01 08:06:45.000000000 -0600
+++ Makefile.tpl
@@ -1370,7 +1370,7 @@ configure-target-zlib: $(ALL_GCC_C)
configure-target-examples: $(ALL_GCC_C)
configure-target-libgloss: $(ALL_GCC)
all-target-libgloss: maybe-configure-target-newlib
-configure-target-libiberty: $(ALL_GCC)
+maybe-configure-target-libiberty: $(ALL_GCC)
configure-target-libtermcap: $(ALL_GCC_C)
configure-target-newlib: $(ALL_GCC)
configure-target-rda: $(ALL_GCC_C)

13
gdb6/patches/patch-ac Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: patch-ac,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/ax-gdb.c.orig 2004-02-06 11:30:47.000000000 -0700
+++ gdb/ax-gdb.c
@@ -743,6 +743,8 @@ gen_usual_unary (struct agent_expr *ax,
case TYPE_CODE_ENUM:
value->type = builtin_type_int;
break;
+ default:
+ ;
}
/* If the value is an lvalue, dereference it. */

26
gdb6/patches/patch-ad Normal file
View File

@ -0,0 +1,26 @@
$NetBSD: patch-ad,v 1.2 2006/03/14 00:47:50 joerg Exp $
--- gdb/bsd-kvm.c.orig 2004-07-03 13:17:33.000000000 +0000
+++ gdb/bsd-kvm.c
@@ -33,7 +33,9 @@
#include <nlist.h>
#include "readline/readline.h"
#include <sys/param.h>
+#if !defined(__DragonFly__)
#include <sys/proc.h>
+#endif
#include <sys/user.h>
#include "bsd-kvm.h"
@@ -228,7 +230,11 @@ bsd_kvm_proc_cmd (char *arg, int fromtty
error ("No kernel memory image.");
addr = parse_and_eval_address (arg);
+#ifdef HAVE_STRUCT_LWP
+ addr += offsetof (struct lwp, l_addr);
+#else
addr += offsetof (struct proc, p_addr);
+#endif
if (kvm_read (core_kd, addr, &bsd_kvm_paddr, sizeof bsd_kvm_paddr) == -1)
error ("%s", kvm_geterr (core_kd));

13
gdb6/patches/patch-ae Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: patch-ae,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- ./gdb/cli/cli-decode.c.orig 2004-02-10 12:08:15.000000000 -0700
+++ ./gdb/cli/cli-decode.c
@@ -1207,8 +1207,6 @@ deprecated_cmd_warning (char **text)
struct cmd_list_element *alias = NULL;
struct cmd_list_element *prefix_cmd = NULL;
struct cmd_list_element *cmd = NULL;
- struct cmd_list_element *c;
- char *type;
if (!lookup_cmd_composition (*text, &alias, &prefix_cmd, &cmd))
/* return if text doesn't evaluate to a command */

28
gdb6/patches/patch-af Normal file
View File

@ -0,0 +1,28 @@
$NetBSD: patch-af,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/cli/cli-dump.c.orig 2004-02-28 11:04:37.000000000 -0700
+++ gdb/cli/cli-dump.c
@@ -72,7 +72,6 @@ scan_expression_with_cleanup (char **cmd
static void
do_fclose_cleanup (void *arg)
{
- FILE *file = arg;
fclose (arg);
}
@@ -233,7 +232,6 @@ dump_memory_to_file (char *cmd, char *mo
void *buf;
char *lo_exp;
char *hi_exp;
- int len;
/* Open the file. */
filename = scan_filename_with_cleanup (&cmd, NULL);
@@ -521,7 +519,6 @@ static void
restore_binary_file (char *filename, struct callback_data *data)
{
FILE *file = fopen_with_cleanup (filename, FOPEN_RB);
- int status;
char *buf;
long len;

15
gdb6/patches/patch-ag Normal file
View File

@ -0,0 +1,15 @@
$NetBSD: patch-ag,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/cli/cli-script.c.orig 2004-02-25 08:57:42.000000000 -0700
+++ gdb/cli/cli-script.c
@@ -1071,9 +1071,8 @@ define_command (char *comname, int from_
CMD_POST_HOOK
};
struct command_line *cmds;
- struct cmd_list_element *c, *newc, *oldc, *hookc = 0;
+ struct cmd_list_element *c, *newc, *hookc = 0;
char *tem = comname;
- char *tem2;
char tmpbuf[MAX_TMPBUF];
int hook_type = CMD_NO_HOOK;
int hook_name_size = 0;

13
gdb6/patches/patch-ah Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: patch-ah,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/cli/cli-setshow.c.orig 2004-02-28 11:04:37.000000000 -0700
+++ gdb/cli/cli-setshow.c
@@ -276,8 +276,6 @@ do_setshow_command (char *arg, int from_
{
case var_string:
{
- unsigned char *p;
-
if (*(unsigned char **) c->var)
fputstr_filtered (*(unsigned char **) c->var, '"', stb->stream);
quote = 1;

21
gdb6/patches/patch-ai Normal file
View File

@ -0,0 +1,21 @@
$NetBSD: patch-ai,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/cli/cli-cmds.c.orig 2004-02-28 11:04:37.000000000 -0700
+++ gdb/cli/cli-cmds.c
@@ -225,7 +225,6 @@ compare_strings (const void *arg1, const
static void
complete_command (char *arg, int from_tty)
{
- int i;
int argpoint;
char **completions, *point, *arg_prefix;
@@ -836,7 +835,7 @@ disassemble_command (char *arg, int from
{
CORE_ADDR low, high;
char *name;
- CORE_ADDR pc, pc_masked;
+ CORE_ADDR pc;
char *space_index;
#if 0
asection *section;

10
gdb6/patches/patch-aj Normal file
View File

@ -0,0 +1,10 @@
$NetBSD: patch-aj,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/config/xm-nbsd.h.orig 2001-12-01 19:57:13.000000000 -0700
+++ gdb/config/xm-nbsd.h
@@ -24,3 +24,5 @@
/* NetBSD has termios facilities. */
#define HAVE_TERMIOS
+
+#define PT_IO 1

20
gdb6/patches/patch-ak Normal file
View File

@ -0,0 +1,20 @@
$NetBSD: patch-ak,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/corelow.c.orig 2004-02-28 11:04:36.000000000 -0700
+++ gdb/corelow.c
@@ -493,7 +493,6 @@ get_core_register_section (char *name,
static void
get_core_registers (int regno)
{
- int status;
if (!(core_gdbarch && gdbarch_regset_from_core_section_p (core_gdbarch))
&& (core_vec == NULL || core_vec->core_read_registers == NULL))
@@ -540,7 +539,6 @@ core_xfer_partial (struct target_ops *op
struct bfd_section *section;
bfd_size_type size;
- char *contents;
section = bfd_get_section_by_name (core_bfd, ".auxv");
if (section == NULL)

21
gdb6/patches/patch-al Normal file
View File

@ -0,0 +1,21 @@
$NetBSD: patch-al,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/configure.in.orig 2004-07-17 05:29:08.000000000 -0600
+++ gdb/configure.in
@@ -504,6 +504,16 @@ if test $gdb_cv_struct_thread_td_pcb = y
[Define to 1 if your system has td_pcb in struct thread.])
fi
+# See if <sys/lwp.h> defines `struct lwp`.
+AC_CACHE_CHECK([for struct lwp], gdb_cv_struct_lwp,
+[AC_TRY_COMPILE([#include <sys/param.h>
+#include <sys/lwp.h>], [struct lwp l;],
+gdb_cv_struct_lwp=yes, gdb_cv_struct_lwp=no)])
+if test $gdb_cv_struct_lwp = yes; then
+ AC_DEFINE(HAVE_STRUCT_LWP, 1,
+ [Define to 1 if your system has struct lwp.])
+fi
+
# See if <machine/reg.h> degines `struct reg'.
AC_CACHE_CHECK([for struct reg in machine/reg.h], gdb_cv_struct_reg,
[AC_TRY_COMPILE([#include <sys/types.h>

11
gdb6/patches/patch-am Normal file
View File

@ -0,0 +1,11 @@
$NetBSD: patch-am,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/config/i386/nbsdelf.mh.orig 2004-06-27 10:22:43.000000000 -0600
+++ gdb/config/i386/nbsdelf.mh
@@ -1,5 +1,5 @@
# Host: NetBSD/i386 ELF
-NATDEPFILES= fork-child.o infptrace.o inftarg.o \
+NATDEPFILES= fork-child.o nbsd-nat.o infptrace.o inftarg.o \
i386bsd-nat.o i386nbsd-nat.o bsd-kvm.o
NAT_FILE= nm-nbsd.h
XM_FILE= xm-nbsd.h

21
gdb6/patches/patch-an Normal file
View File

@ -0,0 +1,21 @@
$NetBSD: patch-an,v 1.2 2008/01/06 19:54:46 rillig Exp $
--- gdb/config/i386/nm-nbsd.h.orig 2004-02-22 16:20:22.000000000 +0000
+++ gdb/config/i386/nm-nbsd.h 2008-01-06 20:43:25.000000000 +0000
@@ -23,7 +23,16 @@
#ifndef NM_NBSD_H
#define NM_NBSD_H
+#include <sys/param.h>
+
/* Get generic NetBSD native definitions. */
#include "config/nm-nbsd.h"
+#include <sys/lock.h>
+#if __NetBSD_Version__ >= 499000900
+#include <sys/mutex.h>
+#endif
+#include <machine/vmparam.h>
+#define KERNEL_U_ADDR USRSTACK
+
#endif /* nm-nbsd.h */

12
gdb6/patches/patch-ao Normal file
View File

@ -0,0 +1,12 @@
$NetBSD: patch-ao,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/i386nbsd-tdep.c.orig 2004-02-22 09:20:22.000000000 -0700
+++ gdb/i386nbsd-tdep.c
@@ -137,7 +137,6 @@ i386nbsd_sigtramp_offset (CORE_ADDR pc)
{
unsigned char ret[sizeof(sigtramp_retcode)], insn;
LONGEST off;
- int i;
if (read_memory_nobpt (pc, &insn, 1) != 0)
return -1;

12
gdb6/patches/patch-ap Normal file
View File

@ -0,0 +1,12 @@
$NetBSD: patch-ap,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/i387-tdep.c.orig 2004-02-28 13:43:51.000000000 -0700
+++ gdb/i387-tdep.c
@@ -206,7 +206,6 @@ i387_print_float_info (struct gdbarch *g
struct frame_info *frame, const char *args)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (get_frame_arch (frame));
- char buf[4];
ULONGEST fctrl;
ULONGEST fstat;
ULONGEST ftag;

16
gdb6/patches/patch-aq Normal file
View File

@ -0,0 +1,16 @@
$NetBSD: patch-aq,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/inftarg.c.orig 2004-02-04 14:49:55.000000000 -0700
+++ gdb/inftarg.c
@@ -106,11 +106,7 @@ child_wait (ptid_t ptid, struct target_w
{
int save_errno;
int status;
- char *execd_pathname = NULL;
int exit_status;
- int related_pid;
- int syscall_id;
- enum target_waitkind kind;
int pid;
do

22
gdb6/patches/patch-ar Normal file
View File

@ -0,0 +1,22 @@
$NetBSD: patch-ar,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/mi/mi-cmd-break.c.orig 2002-03-18 19:51:08.000000000 -0700
+++ gdb/mi/mi-cmd-break.c
@@ -90,7 +90,7 @@ mi_cmd_break_insert (char *command, char
{"c", CONDITION_OPT, 1},
{"i", IGNORE_COUNT_OPT, 1},
{"p", THREAD_OPT, 1},
- 0
+ {0}
};
/* Parse arguments. It could be -r or -h or -t, <location> or ``--''
@@ -194,7 +194,7 @@ mi_cmd_break_watch (char *command, char
{
{"r", READ_OPT, 0},
{"a", ACCESS_OPT, 0},
- 0
+ {0}
};
/* Parse arguments. */

21
gdb6/patches/patch-as Normal file
View File

@ -0,0 +1,21 @@
$NetBSD: patch-as,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/mi/mi-cmd-disas.c.orig 2002-09-30 09:57:26.000000000 -0600
+++ gdb/mi/mi-cmd-disas.c
@@ -51,7 +51,6 @@
enum mi_cmd_result
mi_cmd_disassemble (char *command, char **argv, int argc)
{
- enum mi_cmd_result retval;
CORE_ADDR start;
int mixed_source_and_assembly;
@@ -84,7 +83,7 @@ mi_cmd_disassemble (char *command, char
{"n", NUM_OPT, 1},
{"s", START_OPT, 1},
{"e", END_OPT, 1},
- 0
+ {0}
};
/* Get the options with their arguments. Keep track of what we

22
gdb6/patches/patch-at Normal file
View File

@ -0,0 +1,22 @@
$NetBSD: patch-at,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/mi/mi-cmd-env.c.orig 2004-01-18 18:20:12.000000000 -0700
+++ gdb/mi/mi-cmd-env.c
@@ -126,7 +126,7 @@ mi_cmd_env_path (char *command, char **a
static struct mi_opt opts[] =
{
{"r", RESET_OPT, 0},
- 0
+ {0}
};
dont_repeat ();
@@ -198,7 +198,7 @@ mi_cmd_env_dir (char *command, char **ar
static struct mi_opt opts[] =
{
{"r", RESET_OPT, 0},
- 0
+ {0}
};
dont_repeat ();

13
gdb6/patches/patch-au Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: patch-au,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/mi/mi-cmd-file.c.orig 2003-04-02 15:10:35.000000000 -0700
+++ gdb/mi/mi-cmd-file.c
@@ -33,8 +33,6 @@ enum mi_cmd_result
mi_cmd_file_list_exec_source_file(char *command, char **argv, int argc)
{
struct symtab_and_line st;
- int optind = 0;
- char *optarg;
if ( !mi_valid_noargs("mi_cmd_file_list_exec_source_file", argc, argv) )
error ("mi_cmd_file_list_exec_source_file: Usage: No args");

12
gdb6/patches/patch-av Normal file
View File

@ -0,0 +1,12 @@
$NetBSD: patch-av,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/mi/mi-cmd-stack.c.orig 2004-01-23 21:21:55.000000000 -0700
+++ gdb/mi/mi-cmd-stack.c
@@ -232,7 +232,6 @@ list_args_or_locals (int locals, int val
struct block *block;
struct symbol *sym;
struct dict_iterator iter;
- int nsyms;
struct cleanup *cleanup_list;
static struct ui_stream *stb = NULL;
struct type *type;

13
gdb6/patches/patch-aw Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: patch-aw,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/mi/mi-getopt.c.orig 2003-04-02 15:10:35.000000000 -0700
+++ gdb/mi/mi-getopt.c
@@ -82,7 +82,7 @@ mi_valid_noargs (const char *prefix, int
char *optarg;
static struct mi_opt opts[] =
{
- 0
+ {0}
};
if (mi_getopt (prefix, argc, argv, opts, &optind, &optarg) == -1)

12
gdb6/patches/patch-ax Normal file
View File

@ -0,0 +1,12 @@
$NetBSD: patch-ax,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/mi/mi-interp.c.orig 2004-01-18 18:20:12.000000000 -0700
+++ gdb/mi/mi-interp.c
@@ -190,7 +190,6 @@ mi_cmd_interpreter_exec (char *command,
struct interp *interp_to_use;
enum mi_cmd_result result = MI_CMD_DONE;
int i;
- struct interp_procs *procs;
if (argc < 2)
{

38
gdb6/patches/patch-ay Normal file
View File

@ -0,0 +1,38 @@
$NetBSD: patch-ay,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/mi/mi-main.c.orig 2004-02-15 08:22:06.000000000 -0700
+++ gdb/mi/mi-main.c
@@ -817,7 +817,7 @@ mi_cmd_data_read_memory (char *command,
static struct mi_opt opts[] =
{
{"o", OFFSET_OPT, 1},
- 0
+ {0}
};
while (1)
@@ -1027,7 +1027,7 @@ mi_cmd_data_write_memory (char *command,
static struct mi_opt opts[] =
{
{"o", OFFSET_OPT, 1},
- 0
+ {0}
};
while (1)
@@ -1192,7 +1192,6 @@ mi_execute_command (char *cmd, int from_
{
struct mi_parse *command;
struct captured_mi_execute_command_args args;
- struct ui_out *saved_uiout = uiout;
int result;
/* This is to handle EOF (^D). We just quit gdb. */
@@ -1220,7 +1219,6 @@ mi_execute_command (char *cmd, int from_
if (args.action == EXECUTE_COMMAND_DISPLAY_ERROR || result < 0)
{
char *msg = error_last_message ();
- struct cleanup *cleanup = make_cleanup (xfree, msg);
/* The command execution failed and error() was called
somewhere */
fputs_unfiltered (command->token, raw_stdout);

12
gdb6/patches/patch-az Normal file
View File

@ -0,0 +1,12 @@
$NetBSD: patch-az,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/mi/mi-out.c.orig 2004-01-18 18:20:12.000000000 -0700
+++ gdb/mi/mi-out.c
@@ -106,7 +106,6 @@ mi_table_begin (struct ui_out *uiout,
int nr_rows,
const char *tblid)
{
- mi_out_data *data = ui_out_data (uiout);
mi_open (uiout, tblid, ui_out_type_tuple);
mi_field_int (uiout, -1/*fldno*/, -1/*width*/, -1/*alin*/,
"nr_rows", nr_rows);

19
gdb6/patches/patch-ba Normal file
View File

@ -0,0 +1,19 @@
$NetBSD: patch-ba,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/config/nm-nbsd.h.orig 2004-10-04 08:11:51.000000000 -0600
+++ gdb/config/nm-nbsd.h
@@ -18,8 +18,13 @@
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#define PTRACE_ARG3_TYPE char*
+#define PTRACE_ARG3_TYPE caddr_t
#define FETCH_INFERIOR_REGISTERS
#include "solib.h" /* Support for shared libraries. */
+#include <signal.h>
+#ifdef SIGRTMIN
+#define REALTIME_LO SIGRTMIN
+#define REALTIME_HI SIGRTMAX
+#endif

14
gdb6/patches/patch-bb Normal file
View File

@ -0,0 +1,14 @@
$NetBSD: patch-bb,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- readline/rltty.c.orig 2004-06-01 09:01:39.000000000 -0600
+++ readline/rltty.c
@@ -619,6 +619,9 @@ prepare_terminal_settings (meta_flag, ol
just to be sure. This includes ^Y and ^V. This should not really
be necessary. */
#if defined (TERMIOS_TTY_DRIVER) && defined (_POSIX_VDISABLE)
+#if defined (VDISCARD)
+ tiop->c_cc[VDISCARD] = _POSIX_VDISABLE;
+#endif
#if defined (VLNEXT)
tiop->c_cc[VLNEXT] = _POSIX_VDISABLE;

37
gdb6/patches/patch-bc Normal file
View File

@ -0,0 +1,37 @@
$NetBSD: patch-bc,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/remote-fileio.c.orig 2004-01-27 16:19:51.000000000 -0700
+++ gdb/remote-fileio.c
@@ -1279,19 +1279,19 @@ static struct {
char *name;
void (*func)(char *);
} remote_fio_func_map[] = {
- "open", remote_fileio_func_open,
- "close", remote_fileio_func_close,
- "read", remote_fileio_func_read,
- "write", remote_fileio_func_write,
- "lseek", remote_fileio_func_lseek,
- "rename", remote_fileio_func_rename,
- "unlink", remote_fileio_func_unlink,
- "stat", remote_fileio_func_stat,
- "fstat", remote_fileio_func_fstat,
- "gettimeofday", remote_fileio_func_gettimeofday,
- "isatty", remote_fileio_func_isatty,
- "system", remote_fileio_func_system,
- NULL, NULL
+ {"open", remote_fileio_func_open},
+ {"close", remote_fileio_func_close},
+ {"read", remote_fileio_func_read},
+ {"write", remote_fileio_func_write},
+ {"lseek", remote_fileio_func_lseek},
+ {"rename", remote_fileio_func_rename},
+ {"unlink", remote_fileio_func_unlink},
+ {"stat", remote_fileio_func_stat},
+ {"fstat", remote_fileio_func_fstat},
+ {"gettimeofday", remote_fileio_func_gettimeofday},
+ {"isatty", remote_fileio_func_isatty},
+ {"system", remote_fileio_func_system},
+ {NULL, NULL}
};
static int

13
gdb6/patches/patch-bd Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: patch-bd,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/ser-pipe.c.orig 2004-01-22 15:20:39.000000000 -0700
+++ gdb/ser-pipe.c
@@ -132,8 +132,6 @@ pipe_close (struct serial *scb)
}
}
-static struct serial_ops pipe_ops;
-
void
_initialize_ser_pipe (void)
{

12
gdb6/patches/patch-be Normal file
View File

@ -0,0 +1,12 @@
$NetBSD: patch-be,v 1.1 2005/10/20 17:48:49 wiz Exp $
--- gdb/tui/tui-interp.c.orig 2004-02-06 21:40:36.000000000 -0700
+++ gdb/tui/tui-interp.c
@@ -194,7 +194,6 @@ _initialize_tui_interp (void)
tui_display_prompt_p,
tui_command_loop,
};
- struct interp *tui_interp;
/* Create a default uiout builder for the TUI. */
tui_out = tui_out_new (gdb_stdout);

13
gdb6/patches/patch-bf Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: patch-bf,v 1.1 2006/03/14 00:47:50 joerg Exp $
--- bfd/config.bfd.orig 2006-03-01 00:39:22.000000000 +0000
+++ bfd/config.bfd
@@ -470,7 +470,7 @@ case "${targ}" in
targ_selvecs=i386bsd_vec
targ_underscore=yes
;;
- i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
+ i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*)
targ_defvec=bfd_elf32_i386_freebsd_vec
targ_selvecs=i386coff_vec
# FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.

50
gdb6/patches/patch-bg Normal file
View File

@ -0,0 +1,50 @@
$NetBSD: patch-bg,v 1.1 2006/03/14 00:47:50 joerg Exp $
--- bfd/configure.orig 2006-03-01 00:38:13.000000000 +0000
+++ bfd/configure
@@ -3923,9 +3923,12 @@ echo "configure:3923: checking for gette
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
+ ac_save_LIBS="$LIBS"
+LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
#line 3928 "configure"
#include "confdefs.h"
+#include <libintl.h>
int main() {
return (int) gettext ("")
@@ -3941,6 +3944,7 @@ else
gt_cv_func_gettext_libintl=no
fi
rm -f conftest*
+LIBS="$ac_save_LIBS"
fi
echo "$ac_t""$gt_cv_func_gettext_libintl" 1>&6
@@ -5306,7 +5310,7 @@ if test "${target}" = "${host}"; then
COREFILE=trad-core.lo
TRAD_HEADER='"hosts/i386bsd.h"'
;;
- i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu)
+ i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu| i[3-7]86-*-dragonfly*)
COREFILE=''
TRAD_HEADER='"hosts/i386bsd.h"'
;;
@@ -6292,6 +6296,7 @@ do
bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;;
bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;;
bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;;
+ bfd_elf32_i386_dragonfly_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;;
bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf32.lo $elf" ;;
bfd_elf32_i860_little_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
bfd_elf32_i860_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;;
@@ -6402,6 +6407,7 @@ do
i386coff_vec) tb="$tb coff-i386.lo cofflink.lo" ;;
i386dynix_vec) tb="$tb i386dynix.lo aout32.lo" ;;
i386freebsd_vec) tb="$tb i386freebsd.lo aout32.lo" ;;
+ i386dragonfly_vec) tb="$tb i386freebsd.lo aout32.lo" ;;
i386linux_vec) tb="$tb i386linux.lo aout32.lo" ;;
i386lynx_aout_vec) tb="$tb i386lynx.lo lynx-core.lo aout32.lo" ;;
i386lynx_coff_vec) tb="$tb cf-i386lynx.lo cofflink.lo lynx-core.lo" ;;

12
gdb6/patches/patch-bh Normal file
View File

@ -0,0 +1,12 @@
$NetBSD: patch-bh,v 1.1 2006/03/14 00:47:50 joerg Exp $
--- gdb/configure.tgt.orig 2006-03-01 00:40:30.000000000 +0000
+++ gdb/configure.tgt
@@ -40,6 +40,7 @@ case "${target}" in
x86_64-*-freebsd*) gdb_target=fbsd64 ;;
*-*-freebsd*) gdb_target=fbsd ;;
+*-*-dragonfly*) gdb_target=fbsd ;;
alpha*-*-osf*) gdb_target=alpha-osf1 ;;
alpha*-*-linux*) gdb_target=alpha-linux ;;

13
gdb6/patches/patch-bi Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: patch-bi,v 1.1 2006/03/14 00:47:50 joerg Exp $
--- gdb/configure.host.orig 2006-03-01 00:41:02.000000000 +0000
+++ gdb/configure.host
@@ -54,7 +54,7 @@ hppa*-*-openbsd*) gdb_host=obsd ;;
i[34567]86-ncr-*) gdb_host=ncr3000 ;;
i[34567]86-*-dgux*) gdb_host=i386v4 ;;
-i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
+i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-dragonfly*)
gdb_host=fbsd ;;
i[34567]86-*-netbsdelf* | i[34567]86-*-knetbsd*-gnu)
gdb_host=nbsdelf ;;

67
gdb6/patches/patch-bj Normal file
View File

@ -0,0 +1,67 @@
$NetBSD: patch-bj,v 1.1 2006/03/14 00:47:50 joerg Exp $
--- gdb/configure.orig 2004-07-17 11:29:05.000000000 +0000
+++ gdb/configure
@@ -2405,9 +2405,12 @@ echo "configure:2405: checking for gette
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
+ ac_save_LIBS="$LIBS"
+LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
#line 2410 "configure"
#include "confdefs.h"
+#include <libintl.h>
int main() {
return (int) gettext ("")
@@ -2423,6 +2426,7 @@ else
gt_cv_func_gettext_libintl=no
fi
rm -f conftest*
+LIBS="$ac_save_LIBS"
fi
echo "$ac_t""$gt_cv_func_gettext_libintl" 1>&6
@@ -7323,6 +7327,41 @@ EOF
fi
+# See if <sys/lwp.h> defines `struct lwp`.
+echo $ac_n "checking for struct lwp""... $ac_c" 1>&6
+echo "configure:7318: checking for struct lwp" >&5
+if eval "test \"`echo '$''{'gdb_cv_struct_lwp'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 7323 "configure"
+#include "confdefs.h"
+#include <sys/param.h>
+#include <sys/lwp.h>
+int main() {
+struct lwp l;
+; return 0; }
+EOF
+if { (eval echo configure:7331: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ gdb_cv_struct_lwp=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ gdb_cv_struct_lwp=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$gdb_cv_struct_lwp" 1>&6
+if test $gdb_cv_struct_lwp = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRUCT_LWP 1
+EOF
+
+fi
+
# See if <machine/reg.h> degines `struct reg'.
echo $ac_n "checking for struct reg in machine/reg.h""... $ac_c" 1>&6
echo "configure:7329: checking for struct reg in machine/reg.h" >&5

25
gdb6/patches/patch-bk Normal file
View File

@ -0,0 +1,25 @@
$NetBSD: patch-bk,v 1.1 2006/03/14 00:47:50 joerg Exp $
--- opcodes/configure.orig 2006-03-13 22:59:10.000000000 +0000
+++ opcodes/configure
@@ -3900,9 +3900,12 @@ echo "configure:3900: checking for gette
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
+ ac_save_LIBS="$LIBS"
+LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
#line 3905 "configure"
#include "confdefs.h"
+#include <libintl.h>
int main() {
return (int) gettext ("")
@@ -3918,6 +3921,7 @@ else
gt_cv_func_gettext_libintl=no
fi
rm -f conftest*
+LIBS="$ac_save_LIBS"
fi
echo "$ac_t""$gt_cv_func_gettext_libintl" 1>&6

13
gdb6/patches/patch-bl Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: patch-bl,v 1.2 2013/10/20 18:17:19 joerg Exp $
--- gdb/Makefile.in.orig 2006-03-13 23:43:10.000000000 +0000
+++ gdb/Makefile.in
@@ -125,7 +125,7 @@ GDB_WERROR_CFLAGS = $(WERROR_CFLAGS)
# Where is the INTL library? Typically in ../intl.
INTL_DIR = ../intl
-INTL = @INTLLIBS@
+INTL = -L${PREFIX}/lib ${COMPILER_RPATH_FLAG}${PREFIX}/lib -lintl
INTL_DEPS = @INTLDEPS@
INTL_SRC = $(srcdir)/$(INTL_DIR)
INTL_CFLAGS = -I$(INTL_DIR) -I$(INTL_SRC)

9
gdb6/patches/patch-bm Normal file
View File

@ -0,0 +1,9 @@
$NetBSD: patch-bm,v 1.1 2006/03/17 13:57:38 joerg Exp $
--- gdb/config.in.orig 2006-03-17 14:49:47.000000000 +0100
+++ gdb/config.in
@@ -552,3 +552,4 @@
/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST
+#undef HAVE_STRUCT_LWP

13
gdb6/patches/patch-bn Normal file
View File

@ -0,0 +1,13 @@
$NetBSD: patch-bn,v 1.1 2006/10/22 08:06:42 rillig Exp $
--- gdb/config/djgpp/djconfig.sh.orig 2003-12-29 08:35:35.000000000 +0100
+++ gdb/config/djgpp/djconfig.sh 2006-10-22 09:56:02.000000000 +0200
@@ -89,7 +89,7 @@ TMPFILE="${TMPDIR-.}/cfg.tmp"
# We need to skip the build directory if it is a subdirectory of $srcdir,
# otherwise we will have an infinite recursion on our hands...
-if test "`pwd`" == "${srcdir}" ; then
+if test "`pwd`" = "${srcdir}" ; then
SKIPDIR=""
SKIPFILES=""
else

75
gdb6/patches/patch-bo Normal file
View File

@ -0,0 +1,75 @@
$NetBSD: patch-bo,v 1.1 2007/07/03 12:32:28 lkundrak Exp $
Patch for CVE-2005-1704 sucked from upstream.
* elfcode.h (elf_object_p): Add more sanity checks on elf header.
--- bfd/elfcode.h.orig 2004-06-24 06:46:22.000000000 +0200
+++ bfd/elfcode.h
@@ -613,8 +613,13 @@ elf_object_p (bfd *abfd)
if (i_ehdrp->e_shoff != 0)
{
+ bfd_signed_vma where = i_ehdrp->e_shoff;
+
+ if (where != (file_ptr) where)
+ goto got_wrong_format_error;
+
/* Seek to the section header table in the file. */
- if (bfd_seek (abfd, (file_ptr) i_ehdrp->e_shoff, SEEK_SET) != 0)
+ if (bfd_seek (abfd, (file_ptr) where, SEEK_SET) != 0)
goto got_no_match;
/* Read the first section header at index 0, and convert to internal
@@ -626,13 +631,50 @@ elf_object_p (bfd *abfd)
/* If the section count is zero, the actual count is in the first
section header. */
if (i_ehdrp->e_shnum == SHN_UNDEF)
- i_ehdrp->e_shnum = i_shdr.sh_size;
+ {
+ i_ehdrp->e_shnum = i_shdr.sh_size;
+ if (i_ehdrp->e_shnum != i_shdr.sh_size)
+ goto got_wrong_format_error;
+ }
/* And similarly for the string table index. */
if (i_ehdrp->e_shstrndx == SHN_XINDEX)
- i_ehdrp->e_shstrndx = i_shdr.sh_link;
+ {
+ i_ehdrp->e_shstrndx = i_shdr.sh_link;
+ if (i_ehdrp->e_shstrndx != i_shdr.sh_link)
+ goto got_wrong_format_error;
+ }
+
+ /* Sanity check that we can read all of the section headers.
+ It ought to be good enough to just read the last one. */
+ if (i_ehdrp->e_shnum != 1)
+ {
+ /* Check that we don't have a totally silly number of sections. */
+ if (i_ehdrp->e_shnum > (unsigned int) -1 / sizeof (x_shdr))
+ goto got_wrong_format_error;
+
+ where += (i_ehdrp->e_shnum - 1) * sizeof (x_shdr);
+ if (where != (file_ptr) where)
+ goto got_wrong_format_error;
+ if ((bfd_size_type) where <= i_ehdrp->e_shoff)
+ goto got_wrong_format_error;
+
+ if (bfd_seek (abfd, (file_ptr) where, SEEK_SET) != 0)
+ goto got_no_match;
+ if (bfd_bread (&x_shdr, sizeof x_shdr, abfd) != sizeof (x_shdr))
+ goto got_no_match;
+
+ /* Back to where we were. */
+ where = i_ehdrp->e_shoff + sizeof (x_shdr);
+ if (bfd_seek (abfd, (file_ptr) where, SEEK_SET) != 0)
+ goto got_no_match;
+ }
}
+ /* A further sanity check. */
+ if (i_ehdrp->e_shstrndx >= i_ehdrp->e_shnum)
+ goto got_wrong_format_error;
+
/* Allocate space for a copy of the section header table in
internal form. */
if (i_ehdrp->e_shnum != 0)

15
gdb6/patches/patch-bp Normal file
View File

@ -0,0 +1,15 @@
$NetBSD: patch-bp,v 1.1 2007/07/03 12:32:28 lkundrak Exp $
Patch for CVE-2005-1705 from Gentoo #88398.
--- gdb/main.c.orig 2004-07-26 21:01:36.000000000 +0200
+++ gdb/main.c
@@ -696,7 +696,7 @@ extern int gdbtk_test (char *);
if (!homedir
|| memcmp ((char *) &homebuf, (char *) &cwdbuf, sizeof (struct stat)))
- if (!inhibit_gdbinit)
+ if (!inhibit_gdbinit && (cwdbuf.st_uid == getuid()) && (!cwdbuf.st_mode & (S_IWOTH)))
{
catch_command_errors (source_command, gdbinit, 0, RETURN_MASK_ALL);
}

28
gdb6/patches/patch-br Normal file
View File

@ -0,0 +1,28 @@
$NetBSD: patch-br,v 1.1 2009/09/09 12:50:58 wiz Exp $
--- etc/Makefile.in.orig 2003-01-02 20:51:02.000000000 +0000
+++ etc/Makefile.in
@@ -48,8 +48,8 @@ TEXIDIR = $(srcdir)/../texinfo
#### Host, target, and site specific Makefile fragments come in here.
###
-INFOFILES = standards.info configure.info
-DVIFILES = standards.dvi configure.dvi
+INFOFILES = configure.info
+DVIFILES = configure.dvi
all:
@@ -71,12 +71,6 @@ info:
install-info: info
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(infodir)
- if test ! -f standards.info; then cd $(srcdir); fi; \
- if test -f standards.info; then \
- for i in standards.info*; do \
- $(INSTALL_DATA) $$i $(DESTDIR)$(infodir)/$$i; \
- done; \
- fi
if test ! -f configure.info; then cd $(srcdir); fi; \
if test -f configure.info; then \
for i in configure.info*; do \

View File

@ -0,0 +1,42 @@
$NetBSD: patch-gdb_dwarf2read.c,v 1.1 2012/11/20 23:13:04 tez Exp $
Patch for CVE-2006-4146 from https://bugzilla.redhat.com/show_bug.cgi?id=204841
--- gdb/dwarf2read.c.orig 2004-07-06 19:29:30.000000000 +0000
+++ gdb/dwarf2read.c
@@ -8027,8 +8027,7 @@ dwarf2_fundamental_type (struct objfile
When the result is a register number, the global isreg flag is set,
otherwise it is cleared.
- Note that stack[0] is unused except as a default error return.
- Note that stack overflow is not yet handled. */
+ Note that stack[0] is unused except as a default error return. */
static CORE_ADDR
decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu)
@@ -8045,7 +8044,7 @@ decode_locdesc (struct dwarf_block *blk,
i = 0;
stacki = 0;
- stack[stacki] = 0;
+ stack[++stacki] = 0;
isreg = 0;
while (i < size)
@@ -8227,6 +8226,16 @@ decode_locdesc (struct dwarf_block *blk,
dwarf_stack_op_name (op));
return (stack[stacki]);
}
+ /* Enforce maximum stack depth of size-1 to avoid ++stacki writing
+ outside of the allocated space. Also enforce minimum > 0.
+ -- wad@google.com 14 Aug 2006 */
+ if (stacki >= sizeof (stack) / sizeof (*stack) - 1)
+ internal_error (__FILE__, __LINE__,
+ _("location description stack too deep: %d"),
+ stacki);
+ if (stacki <= 0)
+ internal_error (__FILE__, __LINE__,
+ _("location description stack too shallow"));
}
return (stack[stacki]);
}

View File

@ -0,0 +1,43 @@
$NetBSD: patch-gdb_dwarfread.c,v 1.1 2012/11/20 23:13:04 tez Exp $
Patch for CVE-2006-4146 from https://bugzilla.redhat.com/show_bug.cgi?id=204841
--- gdb/dwarfread.c.orig 2004-07-17 14:16:14.000000000 +0000
+++ gdb/dwarfread.c
@@ -2137,9 +2137,7 @@ decode_line_numbers (char *linetable)
NOTES
- Note that stack[0] is unused except as a default error return.
- Note that stack overflow is not yet handled.
- */
+ Note that stack[0] is unused except as a default error return. */
static int
locval (struct dieinfo *dip)
@@ -2159,7 +2157,7 @@ locval (struct dieinfo *dip)
loc += nbytes;
end = loc + locsize;
stacki = 0;
- stack[stacki] = 0;
+ stack[++stacki] = 0;
dip->isreg = 0;
dip->offreg = 0;
dip->optimized_out = 1;
@@ -2223,6 +2221,16 @@ locval (struct dieinfo *dip)
stacki--;
break;
}
+ /* Enforce maximum stack depth of size-1 to avoid ++stacki writing
+ outside of the allocated space. Also enforce minimum > 0.
+ -- wad@google.com 14 Aug 2006 */
+ if (stacki >= sizeof (stack) / sizeof (*stack) - 1)
+ internal_error (__FILE__, __LINE__,
+ _("location description stack too deep: %d"),
+ stacki);
+ if (stacki <= 0)
+ internal_error (__FILE__, __LINE__,
+ _("location description stack too shallow"));
}
return (stack[stacki]);
}