Mail Archives: djgpp/2015/08/05/18:07:38
This is a port of GNU debugger (GDB) 7.7.1 to MSDOS/DJGPP.
GDB is a source-level debugger for C, C++, Pascal, Objective-C and many
other languages. GDB can target (i.e., debug programs running on) more
than a dozen different processor architectures, and GDB itself can run
on most popular GNU/Linux, Unix and Microsoft Windows variants.
DJGPP specific changes.
=======================
- There are no DJGPP specific user visible changes.
- The only reason to make this port available, is because it is probably
the last gdb version that supports the COFF debug format to some extend.
Neitherless it has the well known limitations as described in thread:
http://www.delorie.com/archives/browse.cgi?p=djgpp/2015/06/29/16:15:29
I was able to step through larger programs like sed and patch, but the
test was not exhustive. As explained in the thread, the use of a gdb
control file to set break points at interesting code segments may
alleviate the situation because the stepping into functions located in
different files does not work reliably. Of course, as usual the source
files must be located in the same directory than the debuggee. The use
of the COFF debug format remains very cumbersome and is not recommend
except if really required.
I do not think that it is worth to invest more time and work on the
COFF debug support for DJGPP beyound this point.
- The BFD library will support 32 bit wide relocation counters for DJGPP
as has been implemented for the latest DJGPP port of binutils.
- The readline library has been patched according to the DJGPP port of
readline 6.2. The diffs-readline file documents the changes and
is store in the /djgpp directory.
- The DJGPP specific changes to BFD and liberty libraries are documented in
the diffs-bfd file. These changes are the same ones than those ones used
by the binutils port. The diffs file documents the DJGPP specific changes
to gdb excluding those to the readline, liberty and bfd libraries. The
diffs-bugs file documents fixes of bugs found during the porting process.
If the fixes do find their way into the official release then the file
will be removed for the next port release. All these files are located
in the /djgpp directory. If you want to apply them to the original sources,
diffs-readline, diffs and diffs-bfd must be apllied first (in any order)
and diffs-bugs always as last one.
- The config.sub script has been adjusted in such a way that it returns
the same ID string than config.guess does. This ensures that all DJGPP
versions are well recognized allowing to compile a working DJGPP port of
GDB using djdev203 or djdev205.
- The gdb/configure script has been adjusted to also check for pdcurses.
This is necessary to be able to compile a GDB version with TUI support.
- I have added the complete /bfdsymify directory from the last GDB port.
Only the Makefile has been adjusted to work with this new version.
- The port of GDB has been compiled with TUI support disabled. If you
prefer a build with TUI support enabled you will have to uncomment the
line BUILD_WITH_TUI_SUPPORT=yes in /djgpp/build.sh.
You can start the TUI mode with the "-tui" flag or it will start without
using the TUI interface.
- The original distribution comes with DJGPP support files. I have not used
them so I do not know if the DJGPP support is really up to date.
- To configure and compile the sources the way I have done it, cd into the
/djgpp directory and start the build.sh script. It accepts no parameters
so you will have to edit manually to adjust it to your preferences.
It configures and compiles the sources to build in the /djgpp directory
and not in the top source directory.
- To enable NLS support, you must uncomment the NLS_SUPPORT='--enable-nls'
line in the build.sh file.
- The port has been tested by using it. I have used them only on WinXP.
It has worked flawlessly. I do not kwon if this will ever be the case on
FreeDOS. I have never used/tested them in that environment.
- The port has been configured and compiled on WinXP SP3. There is no
guarantee that this may be possible with any other DOS-like OS. Due
to the massive use of long file names it will not be possible to configure
and compile without LFN support.
- The DJGPP 2.05 version has been compiled using gcc510 and bnu2251b.
As usual, all djgpp specific files (build.sh, diffs, README files, etc.)
are stored in the /djgpp directory. The sources have not been configured
so you must change into the /djgpp directory and start build.sh. This will
configure the sources and start make.
For further information about GDB please read the info docs and NEWS file.
The port consists of the usual four packages produced using djdev205
that can be downloaded from ftp.delorie.com and mirrors as (time tamp 2015-08-05):
GNU debugger 7.7.1 binary and info format documentation:
ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gdb771b.zip
GNU debugger 7.7.1 bfd, liberty and opcode libraries and headers:
ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gdb771a.zip
GNU debugger 7.7.1 dvi, html, ps and pdf format documentation:
ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gdb771d.zip
GNU debugger 7.7.1 source:
ftp://ftp.delorie.com/pub/djgpp/beta/v2gnu/gdb771s.zip
Send GDB specific bug reports to <bug-gdb AT gnu DOT org>.
Send suggestions and bug reports concerning the DJGPP port to
comp.os.msdos.djgpp or <djgpp AT delorie DOT com>.
Enjoy.
Guerrero, Juan Manuel <juan DOT guerrero AT gmx DOT de>
- Raw text -