ports/171099: gdb 7.5 is needed to fully support lang/gcc47
Sam Varshavchik
mrsam at courier-mta.com
Mon Aug 27 00:30:02 UTC 2012
>Number: 171099
>Category: ports
>Synopsis: gdb 7.5 is needed to fully support lang/gcc47
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Aug 27 00:30:01 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: Sam Varshavchik
>Release: 9.0-p3
>Organization:
>Environment:
FreeBSD freebsd.email-scan.com 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Tue Jun 12 02:52:29 UTC 2012 root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
>Description:
gcc 4.7 with -std=c++0x emits code which the current devel/gdb port, for gdb 7.3 can't quite deal with.
Need to update devel/gdb to 7.5
>How-To-Repeat:
Use gcc 4.7 to compile C++11x code that uses lambdas, try to debug with gdb73
>Fix:
I have good results by updating the port to 7.5, FWIW, as attached.
Patch attached with submission follows:
--- ../gdb/Makefile 2011-11-18 01:34:51.000000000 -0500
+++ Makefile 2012-08-26 15:11:37.000000000 -0400
@@ -7,7 +7,7 @@
#
PORTNAME= gdb
-PORTVERSION= 7.3.1
+PORTVERSION= 7.5
PORTREVISION= 1
CATEGORIES= devel
MASTER_SITES= ${MASTER_SITE_GNU:S,$,:gdb,}
--- ../gdb/distinfo 2011-09-26 09:53:11.000000000 -0400
+++ distinfo 2012-08-26 15:13:53.000000000 -0400
@@ -1,2 +1,2 @@
-SHA256 (gdb-7.3.1.tar.bz2) = 6d7bff716fde98d03866a1b747c0929ee7dba49bca13e01d975e0b0fa9b33a28
-SIZE (gdb-7.3.1.tar.bz2) = 19500995
+SHA256 (gdb-7.5.tar.bz2) = d178c45c328369ae4f24f9a0ec53b7d009e2bfa1d41b7027280b24f58ae61932
+SIZE (gdb-7.5.tar.bz2) = 21327195
diff -U 3 -N -r ../gdb/files/fbsd-threads.c files/fbsd-threads.c
--- ../gdb/files/fbsd-threads.c 2011-11-06 13:12:32.000000000 -0500
+++ files/fbsd-threads.c 2012-08-26 15:37:34.000000000 -0400
@@ -530,7 +530,7 @@
static void
fbsd_thread_resume (struct target_ops *ops,
- ptid_t ptid, int step, enum target_signal signo)
+ ptid_t ptid, int step, enum gdb_signal signo)
{
struct target_ops *beneath = find_target_beneath (ops);
td_thrhandle_t th;
@@ -585,7 +585,7 @@
if (lwp)
{
int req = step ? PT_SETSTEP : PT_CLEARSTEP;
- if (ptrace (req, (pid_t) lwp, (caddr_t) 1, target_signal_to_host(signo)))
+ if (ptrace (req, (pid_t) lwp, (caddr_t) 1, gdb_signal_to_host(signo)))
perror_with_name ("PT_SETSTEP/PT_CLEARSTEP");
}
@@ -624,7 +624,7 @@
/* now continue the process, suspended thread wont run */
if (ptrace (PT_CONTINUE, proc_handle.pid , (caddr_t)1,
- target_signal_to_host(signo)))
+ gdb_signal_to_host(signo)))
perror_with_name ("PT_CONTINUE");
}
@@ -735,7 +735,7 @@
*/
attach_thread(ret, &th, &ti, 1);
}
- if (ourstatus->value.sig == TARGET_SIGNAL_TRAP)
+ if (ourstatus->value.sig == GDB_SIGNAL_TRAP)
check_event(ret);
/* this is a hack, if an event won't cause gdb to stop, for example,
SIGARLM, gdb resumes the process immediatly without setting
diff -U 3 -N -r ../gdb/files/patch-gdb-Makefile.in files/patch-gdb-Makefile.in
--- ../gdb/files/patch-gdb-Makefile.in 2011-09-26 09:53:11.000000000 -0400
+++ files/patch-gdb-Makefile.in 2012-08-26 15:20:30.000000000 -0400
@@ -1,6 +1,6 @@
---- gdb/Makefile.in 2011-03-30 08:55:39.000000000 +0200
-+++ gdb/Makefile.in 2011-09-12 17:40:33.000000000 +0200
-@@ -571,7 +571,7 @@
+--- gdb/Makefile.in.orig 2012-07-02 11:29:33.000000000 -0400
++++ gdb/Makefile.in 2012-08-26 15:19:40.000000000 -0400
+@@ -572,7 +572,7 @@
xstormy16-tdep.o \
xtensa-config.o xtensa-tdep.o xtensa-linux-tdep.o \
glibc-tdep.o \
@@ -8,31 +8,31 @@
+ fbsd-threads.o \
nbsd-tdep.o obsd-tdep.o \
sol2-tdep.o \
- solib-frv.o solib-irix.o solib-svr4.o solib-target.o \
-@@ -768,7 +768,7 @@
- gnulib/stdint.in.h remote.h gdb.h sparc-nat.h \
- gdbthread.h dwarf2-frame.h nbsd-nat.h dcache.h \
+ solib-frv.o solib-irix.o solib-svr4.o \
+@@ -779,7 +779,7 @@
+ gnulib/import/stdint.in.h remote.h gdb.h sparc-nat.h \
+ gdbthread.h dwarf2-frame.h dwarf2-frame-tailcall.h nbsd-nat.h dcache.h \
amd64-nat.h s390-tdep.h arm-linux-tdep.h exceptions.h macroscope.h \
--gdbarch.h bsd-uthread.h gdb_thread_db.h gdb_stat.h memory-map.h memrange.h \
-+gdbarch.h gdb_thread_db.h gdb_stat.h memory-map.h memrange.h \
+-gdbarch.h bsd-uthread.h gdb_stat.h memory-map.h memrange.h \
++gdbarch.h gdb_stat.h memory-map.h memrange.h \
mdebugread.h m88k-tdep.h stabsread.h hppa-linux-offsets.h linux-fork.h \
ser-unix.h inf-ptrace.h terminal.h ui-out.h frame-base.h \
f-lang.h dwarf2loc.h value.h sparc-tdep.h defs.h target-descriptions.h \
-@@ -1161,7 +1161,7 @@
+@@ -1164,7 +1164,7 @@
# Removing the old gdb first works better if it is running, at least on SunOS.
- gdb$(EXEEXT): gdb.o libgdb.a $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
+ gdb$(EXEEXT): gdb.o $(LIBGDB_OBS) $(ADD_DEPS) $(CDEPS) $(TDEPLIBS)
rm -f gdb$(EXEEXT)
- $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) \
-+ $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) -Wl,-E \
- -o gdb$(EXEEXT) gdb.o libgdb.a \
++ $(CC_LD) $(INTERNAL_LDFLAGS) $(WIN32LDAPP) -Wl,-E\
+ -o gdb$(EXEEXT) gdb.o $(LIBGDB_OBS) \
$(TDEPLIBS) $(TUI_LIBRARY) $(CLIBS) $(LOADLIBES)
-@@ -1452,7 +1452,7 @@
+@@ -1429,7 +1429,7 @@
armnbsd-nat.c armbsd-tdep.c armnbsd-tdep.c armobsd-tdep.c \
avr-tdep.c \
bfin-linux-tdep.c bfin-tdep.c \
- bsd-uthread.c bsd-kvm.c \
+ fbsd-threads.c bsd-kvm.c \
- core-regset.c corelow.c \
+ core-regset.c \
dcache.c dicos-tdep.c darwin-nat.c \
exec.c \
diff -U 3 -N -r ../gdb/files/patch-gdb-configure.tgt files/patch-gdb-configure.tgt
--- ../gdb/files/patch-gdb-configure.tgt 2010-11-16 15:39:48.000000000 -0500
+++ files/patch-gdb-configure.tgt 2012-08-26 15:26:02.000000000 -0400
@@ -1,20 +1,20 @@
---- gdb/configure.tgt.orig 2010-09-30 13:38:12.841406000 -0400
-+++ gdb/configure.tgt 2010-09-30 13:38:49.131127000 -0400
-@@ -169,7 +169,7 @@
+--- gdb/configure.tgt.orig 2012-08-01 15:48:44.000000000 -0400
++++ gdb/configure.tgt 2012-08-26 15:25:11.000000000 -0400
+@@ -176,7 +176,7 @@
i[34567]86-*-freebsd* | i[34567]86-*-kfreebsd*-gnu)
# Target: FreeBSD/i386
gdb_target_obs="i386-tdep.o i387-tdep.o i386bsd-tdep.o i386fbsd-tdep.o \
-- bsd-uthread.o corelow.o solib.o solib-svr4.o"
-+ fbsd-threads.o corelow.o solib.o solib-svr4.o"
+- bsd-uthread.o solib-svr4.o"
++ fbsd-threads.o solib-svr4.o"
;;
i[34567]86-*-netbsd* | i[34567]86-*-knetbsd*-gnu)
# Target: NetBSD/i386
-@@ -579,7 +579,7 @@
+@@ -606,7 +606,7 @@
# Target: FreeBSD/amd64
gdb_target_obs="amd64-tdep.o amd64fbsd-tdep.o i386-tdep.o \
i387-tdep.o i386bsd-tdep.o i386fbsd-tdep.o \
-- bsd-uthread.o corelow.o solib.o solib-svr4.o"
-+ fbsd-threads.o corelow.o solib.o solib-svr4.o"
+- bsd-uthread.o solib-svr4.o"
++ fbsd-threads.o solib-svr4.o"
;;
x86_64-*-mingw*)
# Target: MingW/amd64
diff -U 3 -N -r ../gdb/files/patch-tui-tui-io.c files/patch-tui-tui-io.c
--- ../gdb/files/patch-tui-tui-io.c 1969-12-31 19:00:00.000000000 -0500
+++ files/patch-tui-tui-io.c 2012-08-26 15:43:17.000000000 -0400
@@ -0,0 +1,35 @@
+--- tui/tui-io.c~ 2012-01-04 03:27:58.000000000 -0500
++++ tui/tui-io.c 2012-08-26 15:42:30.000000000 -0400
+@@ -505,7 +505,7 @@
+ void
+ tui_setup_io (int mode)
+ {
+- extern int _rl_echoing_p;
++ extern int readline_echoing_p;
+
+ if (mode)
+ {
+@@ -515,12 +515,12 @@
+ tui_old_rl_prep_terminal = rl_prep_term_function;
+ tui_old_rl_getc_function = rl_getc_function;
+ tui_old_rl_outstream = rl_outstream;
+- tui_old_rl_echoing_p = _rl_echoing_p;
++ tui_old_rl_echoing_p = readline_echoing_p;
+ rl_redisplay_function = tui_redisplay_readline;
+ rl_deprep_term_function = tui_deprep_terminal;
+ rl_prep_term_function = tui_prep_terminal;
+ rl_getc_function = tui_getc;
+- _rl_echoing_p = 0;
++ readline_echoing_p = 0;
+ rl_outstream = tui_rl_outstream;
+ rl_prompt = 0;
+ rl_completion_display_matches_hook = tui_rl_display_match_list;
+@@ -559,7 +559,7 @@
+ rl_getc_function = tui_old_rl_getc_function;
+ rl_outstream = tui_old_rl_outstream;
+ rl_completion_display_matches_hook = 0;
+- _rl_echoing_p = tui_old_rl_echoing_p;
++ readline_echoing_p = tui_old_rl_echoing_p;
+ rl_already_prompted = 0;
+
+ /* Save tty for SIGCONT. */
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list