[LWN Logo]

Date: Sat, 10 Apr 1999 23:33:58 -0500 (EST)
From: Jim Blandy <jimb@cygnus.com>
To: gnu-announce@gnu.org
Subject: GDB 4.18 released

GDB 4.18 is released!

Version 4.18 of GDB, the GNU Debugger, is now available via anonymous FTP.
GDB is a source-level debugger for C, C++, and many other languages. GDB can
target (i.e. debug programs running on) dozens of different processor
architectures, and GDB itself can run on GNU/Linux, Windows NT,
Windows 95, and most popular Unix variants.

You can download GDB from either Project GNU's FTP server or any of its
mirrors, or Cygnus's Sourceware site:

	ftp://ftp.gnu.org/pub/gnu/gdb
	ftp://sourceware.cygnus.com/pub/gdb

(See the end of this message for a complete list of GNU ftp mirrors.)

The previous version, 4.17, was released about a year ago; there have been
many changes and additions since then.  Details are below.

The vital stats:

-rw-r--r--   1 jimb     cygnus   11657032 Apr  7 16:44 gdb-4.18.tar.gz

The md5sum checksum is:

828d28487af6cec074639c1102569473  gdb-4.18.tar.gz

There is a web page for GDB at:

     http://sourceware.cygnus.com/gdb/

That page includes information about GDB mailing lists (an announcement
mailing list, developers discussion lists, etc.), locations for development
snapshots, preformatted documentation, and links to related information
around the net. We will put errata notes and host-specific tips for this
release on-line as any problems come up. All mailing lists archives are also
browsable via the web.

Many people have contributed to this release. Thanks to everybody for the
help!

Keep those fixes and improvements coming in! (Send them to
bug-gdb@gnu.org)

     Jim Blandy and the rest of the Cygnus GDB Team
     Cygnus Solutions



*** Changes in GDB-4.18:

* New native configurations

HP-UX 10.20					hppa*-*-hpux10.20
HP-UX 11.x					hppa*-*-hpux11.0*
M68K Linux					m68*-*-linux*

* New targets

Fujitsu FR30					fr30-*-elf*
Intel StrongARM					strongarm-*-*
Mitsubishi D30V					d30v-*-*

* OBSOLETE configurations

Gould PowerNode, NP1				np1-*-*, pn-*-*

Configurations that have been declared obsolete will be commented out,
but the code will be left in place.  If there is no activity to revive
these configurations before the next release of GDB, the sources will
be permanently REMOVED.

* ANSI/ISO C

As a compatibility experiment, GDB's source files buildsym.h and
buildsym.c have been converted to pure standard C, no longer
containing any K&R compatibility code.  We believe that all systems in
use today either come with a standard C compiler, or have a GCC port
available.  If this is not true, please report the affected
configuration to bug-gdb@gnu.org immediately.  See the README file for
information about getting a standard C compiler if you don't have one
already.

* Readline 2.2

GDB now uses readline 2.2.

* set extension-language

You can now control the mapping between filename extensions and source
languages by using the `set extension-language' command.  For instance,
you can ask GDB to treat .c files as C++ by saying
	set extension-language .c c++
The command `info extensions' lists all of the recognized extensions
and their associated languages.

* Setting processor type for PowerPC and RS/6000

When GDB is configured for a powerpc*-*-* or an rs6000*-*-* target,
you can use the `set processor' command to specify what variant of the
PowerPC family you are debugging.  The command

	set processor NAME

sets the PowerPC/RS6000 variant to NAME.  GDB knows about the
following PowerPC and RS6000 variants:

  ppc-uisa  PowerPC UISA - a PPC processor as viewed by user-level code
  rs6000    IBM RS6000 ("POWER") architecture, user-level view
  403       IBM PowerPC 403
  403GC     IBM PowerPC 403GC
  505       Motorola PowerPC 505
  860       Motorola PowerPC 860 or 850
  601       Motorola PowerPC 601
  602       Motorola PowerPC 602
  603       Motorola/IBM PowerPC 603 or 603e
  604       Motorola PowerPC 604 or 604e
  750       Motorola/IBM PowerPC 750 or 750

At the moment, this command just tells GDB what to name the
special-purpose processor registers.  Since almost all the affected
registers are inaccessible to user-level programs, this command is
only useful for remote debugging in its present form.

* HP-UX support

Thanks to a major code donation from Hewlett-Packard, GDB now has much
more extensive support for HP-UX.  Added features include shared
library support, kernel threads and hardware watchpoints for 11.00,
support for HP's ANSI C and C++ compilers, and a compatibility mode
for xdb and dbx commands.

* Catchpoints

HP's donation includes the new concept of catchpoints, which is a
generalization of the old catch command.  On HP-UX, it is now possible
to catch exec, fork, and vfork, as well as library loading.

This means that the existing catch command has changed; its first
argument now specifies the type of catch to be set up.  See the
output of "help catch" for a list of catchpoint types.

* Debugging across forks

On HP-UX, you can choose which process to debug when a fork() happens
in the inferior.

* TUI

HP has donated a curses-based terminal user interface (TUI).  To get
it, build with --enable-tui.  Although this can be enabled for any
configuration, at present it only works for native HP debugging.

* GDB remote protocol additions

A new protocol packet 'X' that writes binary data is now available.
Default behavior is to try 'X', then drop back to 'M' if the stub
fails to respond.  The settable variable `remotebinarydownload'
allows explicit control over the use of 'X'.

For 64-bit targets, the memory packets ('M' and 'm') can now contain a
full 64-bit address.  The command

	set remoteaddresssize 32

can be used to revert to the old behaviour.  For existing remote stubs
the change should not be noticed, as the additional address information
will be discarded.

In order to assist in debugging stubs, you may use the maintenance
command `packet' to send any text string to the stub.  For instance,

	maint packet heythere

sends the packet "$heythere#<checksum>".  Note that it is very easy to
disrupt a debugging session by sending the wrong packet at the wrong
time.

The compare-sections command allows you to compare section data on the
target to what is in the executable file without uploading or
downloading, by comparing CRC checksums.

* Tracing can collect general expressions

You may now collect general expressions at tracepoints.  This requires
further additions to the target-side stub; see tracepoint.c and
doc/agentexpr.texi for further details.

* mask-address variable for Mips

For Mips targets, you may control the zeroing of the upper 32 bits of
a 64-bit address by entering `set mask-address on'.  This is mainly
of interest to users of embedded R4xxx and R5xxx processors.

* Higher serial baud rates

GDB's serial code now allows you to specify baud rates 57600, 115200,
230400, and 460800 baud.  (Note that your host system may not be able
to achieve all of these rates.)

* i960 simulator

The i960 configuration now includes an initial implementation of a
builtin simulator, contributed by Jim Wilson.

[ Most GNU software is compressed using the GNU `gzip' compression program.
  Source code is available on most sites distributing GNU software.
  Executables for various systems and information about using gzip can be
  found at the URL http://www.gzip.org.

  For information on how to order GNU software on CD-ROM and
  printed GNU manuals, see http://www.gnu.org/order/order.html
  or e-mail a request to: gnu@gnu.org

  By ordering your GNU software from the FSF, you help us continue to
  develop more free software.  Media revenues are our primary source of
  support.  Donations to FSF are deductible on US tax returns.

  The above software will soon be at these ftp sites as well.
  Please try them before ftp.gnu.org as ftp.gnu.org is very busy!
  A possibly more up-to-date list is at the URL
        http://www.gnu.org/order/ftp.html

  thanx -gnu@gnu.org

  Here are the mirrored ftp sites for the GNU Project, listed by country:

  
  
  United States:
  
  California - labrea.stanford.edu/pub/gnu, gatekeeper.dec.com/pub/GNU
  Hawaii - ftp.hawaii.edu/mirrors/gnu
  Illinois - uiarchive.cso.uiuc.edu/pub/gnu (Internet address 128.174.5.14)
  Kentucky -  ftp.ms.uky.edu/pub/gnu
  Maryland - ftp.digex.net/pub/gnu (Internet address 164.109.10.23)
  Michigan - gnu.egr.msu.edu/pub/gnu
  Missouri - wuarchive.wustl.edu/systems/gnu
  New Mexico - ftp.cs.unm.edu/pub/mirrors/gnu
  New York - ftp.cs.columbia.edu/archives/gnu/prep
  Ohio - ftp.cis.ohio-state.edu/mirror/gnu
  Tennessee - ftp.skyfire.net/pub/gnu
  Virginia - ftp.uu.net/archive/systems/gnu
  Washington - ftp.nodomainname.net/pub/mirrors/gnu
  
  Africa:
  
  South Africa - ftp.sun.ac.za/gnu
  
  The Americas:
  
  Brazil - ftp.unicamp.br/pub/gnu
  Canada - ftp.cs.ubc.ca/mirror2/gnu
  Chile - ftp.inf.utfsm.cl/pub/gnu (Internet address 146.83.198.3)
  Costa Rica - sunsite.ulatina.ac.cr/GNU
  Mexico - ftp.uaem.mx/pub/gnu
  
  Asia and Australia:
  
  Australia - archie.au/gnu (archie.oz or archie.oz.au for ACSnet)
  Australia - ftp.progsoc.uts.edu.au/pub/gnu
  Australia - mirror.aarnet.edu.au/pub/gnu
  Japan - tron.um.u-tokyo.ac.jp/pub/GNU/prep
  Japan - ftp.cs.titech.ac.jp/pub/gnu
  Korea - cair-archive.kaist.ac.kr/pub/gnu (Internet address 143.248.186.3)
  Saudi Arabia - ftp.isu.net.sa/pub/mirrors/prep.ai.mit.edu/
  Taiwan - ftp.edu.tw/UNIX/gnu/
  Taiwan - ftp.nctu.edu.tw/UNIX/gnu/
  Taiwan - ftp1.sinica.edu.tw/pub3/GNU/gnu/
  Thailand - ftp.nectec.or.th/pub/mirrors/gnu (Internet address - 192.150.251.32)
  
  Europe:
  
  Austria - ftp.univie.ac.at/packages/gnu
  Austria - gd.tuwien.ac.at/gnu/gnusrc
  Austria - http://gd.tuwien.ac.at/gnu/gnusrc/
  Czech Republic - ftp.fi.muni.cz/pub/gnu/
  Denmark - ftp.denet.dk/mirror/ftp.gnu.org/pub/gnu
  Denmark - ftp.dkuug.dk/pub/gnu/
  Finland - ftp.funet.fi/pub/gnu
  France - ftp.univ-lyon1.fr/pub/gnu
  France - ftp.irisa.fr/pub/gnu
  Germany - ftp.informatik.tu-muenchen.de/pub/comp/os/unix/gnu/
  Germany - ftp.informatik.rwth-aachen.de/pub/gnu
  Germany - ftp.de.uu.net/pub/gnu
  Greece - ftp.forthnet.gr/pub/gnu
  Greece - ftp.ntua.gr/pub/gnu
  Greece - ftp.aua.gr/pub/mirrors/GNU (Internet address 143.233.187.61)
  Hungary - ftp.kfki.hu/pub/gnu
  Ireland - ftp.ieunet.ie/pub/gnu (Internet address 192.111.39.1)
  Netherlands - ftp.eu.net/gnu (Internet address 192.16.202.1)
  Netherlands - ftp.nluug.nl/pub/gnu
  Netherlands - ftp.win.tue.nl/pub/gnu (Internet address 131.155.70.19)
  Norway - ftp.ntnu.no/pub/gnu (Internet address 129.241.11.142)
  Poland - ftp.task.gda.pl/pub/gnu
  Portugal - ftp.ci.uminho.pt/pub/mirrors/gnu 
  Portugal - http://ciumix.ci.uminho.pt/mirrors/gnu/
  Portugal - ftp.ist.utl.pt/pub/gnu
  Russia - ftp.chg.ru/pub/gnu/
  Slovenia - ftp.arnes.si/pub/software/gnu
  Spain - ftp.etsimo.uniovi.es/pub/gnu
  Sweden - ftp.isy.liu.se/pub/gnu
  Sweden - ftp.stacken.kth.se
  Sweden - ftp.luth.se/pub/unix/gnu
  Sweden - ftp.sunet.se/pub/gnu (Internet address 130.238.127.3)
  	   Also mirrors the Mailing List Archives.
  Switzerland - ftp.eunet.ch/mirrors4/gnu
  Switzerland - sunsite.cnlab-switch.ch/mirror/gnu (Internet address 193.5.24.1)
  United Kingdom - ftp.mcc.ac.uk/pub/gnu (Internet address 130.88.203.12)
  United Kingdom - unix.hensa.ac.uk/mirrors/gnu
  United Kingdom - ftp.warwick.ac.uk (Internet address 137.205.192.14)
  United Kingdom - SunSITE.doc.ic.ac.uk/gnu (Internet address 193.63.255.4)
  
]