Date: Thu, 26 Jan 2012 16:11:05 GMT From: Luca Pizzamiglio <luca.pizzamiglio@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: ports/164521: [MAINTAINER] Update gdb to 7.4 Message-ID: <201201261611.q0QGB5eU099887@red.freebsd.org> Resent-Message-ID: <201201261620.q0QGK9al018308@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 164521 >Category: ports >Synopsis: [MAINTAINER] Update gdb to 7.4 >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Thu Jan 26 16:20:09 UTC 2012 >Closed-Date: >Last-Modified: >Originator: Luca Pizzamiglio >Release: FreeBSD 8.2-STABLE >Organization: >Environment: FreeBSD pizzamig 8.2-STABLE FreeBSD 8.2-STABLE #4: Fri Sep 30 11:07:25 CEST 2011 root@pizzamig:/usr/obj/usr/src/sys/PIZZAMIG i386 >Description: This patch: * updates the port devel/gdb to the version 7.4 * adds devel/readline as mandatory dependency (the previous version is not compatible anymore) * fixes a problem with multihread applications (thanks Lee Thomas) * fixes a misconfiguration issue if the devel/binutils port is installed >How-To-Repeat: >Fix: Patch attached with submission follows: diff -Nru devel/gdb.orig/Makefile devel/gdb/Makefile --- devel/gdb.orig/Makefile 2011-11-18 07:34:51.000000000 +0100 +++ devel/gdb/Makefile 2012-01-25 18:40:17.000000000 +0100 @@ -7,8 +7,7 @@ # PORTNAME= gdb -PORTVERSION= 7.3.1 -PORTREVISION= 1 +PORTVERSION= 7.4 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_GNU:S,$,:gdb,} MASTER_SITE_SUBDIR=gdb/:gdb @@ -40,6 +39,11 @@ ONLY_FOR_ARCHS= i386 amd64 # untested elsewhere, might work +# Forcing to use the readline.6 +LIB_DEPENDS+= readline.6:${PORTSDIR}/devel/readline +CFLAGS+= -isystem ${LOCALBASE}/include +LDFLAGS+= -L${LOCALBASE}/lib + OPTIONS= DEBUG "Build with debugging symbols" off \ EXPAT "Enable XML parsing for metadata" off \ PYTHON "Enable Python support" off \ @@ -70,13 +74,6 @@ CONFIGURE_ARGS+= --without-python .endif -# XXX: add OSVERSION check after readline is removed from base -.if exists(${LOCALBASE}/lib/libreadline.so) -LIB_DEPENDS+= readline.6:${PORTSDIR}/devel/readline -CFLAGS+= -isystem ${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib -.endif - .if ${ARCH} == "amd64" CONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL} .endif diff -Nru devel/gdb.orig/distinfo devel/gdb/distinfo --- devel/gdb.orig/distinfo 2011-09-26 15:53:11.000000000 +0200 +++ devel/gdb/distinfo 2012-01-24 16:34:32.000000000 +0100 @@ -1,2 +1,2 @@ -SHA256 (gdb-7.3.1.tar.bz2) = 6d7bff716fde98d03866a1b747c0929ee7dba49bca13e01d975e0b0fa9b33a28 -SIZE (gdb-7.3.1.tar.bz2) = 19500995 +SHA256 (gdb-7.4.tar.bz2) = de7e2db7f0475eca7f9ffa9251abaddd3d37e0eed0b3759f71abfd810a3fd20f +SIZE (gdb-7.4.tar.bz2) = 20614020 diff -Nru devel/gdb.orig/files/fbsd-threads.c devel/gdb/files/fbsd-threads.c --- devel/gdb.orig/files/fbsd-threads.c 2011-11-06 19:12:32.000000000 +0100 +++ devel/gdb/files/fbsd-threads.c 2012-01-26 12:34:00.000000000 +0100 @@ -358,11 +358,8 @@ /* Set the process wide mask saying which events we're interested in. */ td_event_emptyset (&events); - -/* XXX PR ports/162093 - * td_event_addset (&events, TD_CREATE); - * td_event_addset (&events, TD_DEATH); -*/ + td_event_addset (&events, TD_CREATE); + td_event_addset (&events, TD_DEATH); err = td_ta_set_event_p (thread_agent, &events); if (err != TD_OK) @@ -377,7 +374,6 @@ td_create_bp_addr = 0; td_death_bp_addr = 0; -#if 0 /* Set up the thread creation event. */ err = enable_thread_event (thread_agent, TD_CREATE, &td_create_bp_addr); if (err != TD_OK) @@ -395,7 +391,6 @@ thread_db_err_str (err)); return; } -#endif } static void @@ -738,11 +733,15 @@ if (ourstatus->value.sig == TARGET_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 + SIGALRM, gdb resumes the process immediatly without setting inferior_ptid to the new thread returned here, this is a bug because inferior_ptid may already not exist there, and passing - a none existing thread to fbsd_thread_resume causes error. */ - if (!fbsd_thread_alive (ops, inferior_ptid)) + a non-existing thread to fbsd_thread_resume causes error. However, + if the exiting thread is the currently selected thread, + then that is handled later in handle_inferior_event(), and we must + not delete the currently selected thread. + */ + if (!fbsd_thread_alive (ops, inferior_ptid) && !ptid_equal(inferior_ptid, ret)) { delete_thread (inferior_ptid); inferior_ptid = ret; diff -Nru devel/gdb.orig/files/patch-bfd-configure devel/gdb/files/patch-bfd-configure --- devel/gdb.orig/files/patch-bfd-configure 1970-01-01 01:00:00.000000000 +0100 +++ devel/gdb/files/patch-bfd-configure 2012-01-24 17:22:07.000000000 +0100 @@ -0,0 +1,17 @@ +--- bfd/configure.orig 2011-03-28 13:18:25.000000000 +0200 ++++ bfd/configure 2012-01-12 16:58:05.000000000 +0100 +@@ -12177,7 +12177,13 @@ + + # Enable -Werror by default when using gcc + if test "${GCC}" = yes -a -z "${ERROR_ON_WARNING}" ; then +- ERROR_ON_WARNING=yes ++ if test "${CC}" = clang ; then ++ echo "clang compiler - disabling -Werror" ++ ERROR_ON_WARNING=no ++ else ++ echo "gcc compiler - enabling -Werror" ++ ERROR_ON_WARNING=yes ++ fi + fi + + NO_WERROR= diff -Nru devel/gdb.orig/files/patch-gdb-Makefile.in devel/gdb/files/patch-gdb-Makefile.in --- devel/gdb.orig/files/patch-gdb-Makefile.in 2011-09-26 15:53:11.000000000 +0200 +++ devel/gdb/files/patch-gdb-Makefile.in 2012-01-24 16:45:56.000000000 +0100 @@ -9,12 +9,12 @@ 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 @@ +@@ -782,7 +782,7 @@ gnulib/stdint.in.h remote.h gdb.h sparc-nat.h \ - gdbthread.h dwarf2-frame.h nbsd-nat.h dcache.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 \ diff -Nru devel/gdb.orig/files/patch-gdb-configure devel/gdb/files/patch-gdb-configure --- devel/gdb.orig/files/patch-gdb-configure 1970-01-01 01:00:00.000000000 +0100 +++ devel/gdb/files/patch-gdb-configure 2012-01-24 17:00:48.000000000 +0100 @@ -0,0 +1,11 @@ +--- gdb/configure.orig 2012-01-24 16:59:13.000000000 +0100 ++++ gdb/configure 2012-01-24 16:59:40.000000000 +0100 +@@ -15294,7 +15294,7 @@ + OLD_LDFLAGS=$LDFLAGS + OLD_LIBS=$LIBS + CFLAGS="$CFLAGS -I${srcdir}/../include -I../bfd -I${srcdir}/../bfd" +-LDFLAGS="$LDFLAGS -L../bfd -L../libiberty" ++LDFLAGS="-L../bfd -L../libiberty $LDFLAGS" + intl=`echo $LIBINTL | sed 's,${top_builddir}/,,g'` + # -ldl is provided by bfd/Makfile.am (LIBDL) <PLUGINS>. + if test "$plugins" = "yes"; then >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201261611.q0QGB5eU099887>