This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: GDB 5.2 vs. Ada (and probably other unknown languages)
- From: Andrew Cagney <ac131313 at cygnus dot com>
- To: Florian Weimer <fw at deneb dot enyo dot de>
- Cc: gdb at sources dot redhat dot com
- Date: Wed, 03 Apr 2002 11:47:45 -0500
- Subject: Re: GDB 5.2 vs. Ada (and probably other unknown languages)
- References: <873cyhaubc.fsf@deneb.enyo.de>
> It seems that GDB (starting with 5.1.1 or so) can no longer debug
> programs written in languages unknown to it. With previous GDB
> versions, you could at least set breakpoints, get backtraces, and
> examine most variables, although you had to take name mangling into
> account.
>
> For example, if I try to set a breakpoint in an Ada program, I just
> get the error message "internal error - unimplemented function
> unk_lang_create_fundamental_type called."
>
> Is there a workaround? Even if full Ada support is not available,
> getting backtraces would be helpful in some cases.
Definitly sounds like a new (and unknown) regression :-(
Can you create a bug report to track this
(http://sources.redhat.com/gdb/bugs/). For a workaround, what happens
if you enter ``set language c''?
There is also a source code dropping of ACT's Ada support in:
ftp://sources.redhat.com/pub/gdb/contrib/gnat/ you may find the relevant
change in there.
Andrew
PS: If you're interested in integrating some of the Ada stuff then
you'll probably also need to get copyright (to the fsf) assignment in place.
> Here's a small, stand-alone test program (you have to compile it using
> "gcc -S -g no_debug.adb && gcc no_debug.s", as it doesn't use the Ada
> run-time library).
>
> package No_Debug is
>
> procedure Main;
> pragma Export (C, Main, "main");
>
> end No_Debug;
>
> with System; use System;
>
> package body No_Debug is
>
> procedure Puts (Str : Address);
> pragma Import (C, Puts, "puts");
>
> Message : constant String := "Hello, world!" & ASCII.NUL;
>
> procedure Main is
> begin
> Puts (Message'Address);
> end Main;
>
> end No_Debug;
>
> I've attached the x86 assembler code below, in case you want to
> experiment yourself without having to install Ada.
>
>
>