comp.lang.ada
 help / color / mirror / Atom feed
From: "nicolas" <n.brunot@cadwin.com>
Subject: Re: problem with Gnat.Traceback.Symbolic on linux with Gnat 3.14p ?
Date: Wed, 3 Apr 2002 10:46:56 +0200
Date: 2002-04-03T10:45:19+02:00	[thread overview]
Message-ID: <3caac11f$0$11107$626a54ce@news.free.fr> (raw)
In-Reply-To: mailman.1017781803.29333.comp.lang.ada@ada.eu.org

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 4509 bytes --]

Thanks for the explanation.

Actually what I did was

1/ I copied libbfd-2.9.5.0.22.so in
/usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1
2/ I added /usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1 in /etc/ld.so.conf
3/ I run ldconfig

I add
-largs /usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/libbfd-2.9.5.0.22.so
 to the gnatmake command
Everything is ok now without changing links or adding pragma linker_options
in the code
(Our code is common for several platforms and Ada compilers)


"David C. Hoos" <david.c.hoos.sr@ada95.com> a �crit dans le message news:
mailman.1017781803.29333.comp.lang.ada@ada.eu.org...
> There is no problem with symbolic traceback on Linux with GNAT-3-14p,
> in general.
>
> There is, however, a small problem with some recent Linux distributions --
> e.g., RedHat 7.2.
>
> The problem is that there are two symbolic links
>
/usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/rts-fsu/adalib/libbfd-2.9.5.0.
> 22.so
> and
>
/usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/rts-native/adalib/libbfd-2.9.5
> .0.22.so
>
> which link to /usr/lib/libbfd.so, which on RedHat 7.2 is a symbolic link
to
> libbfd-2.11.90.0.8.so
>
> GNAT executables requiring symbolic traceback functionality that are built
> with GNAT-3.14p will not work with  libbfd-2.11 -- they really require
> libbfd-2.9, but the above chain of symbolic links causes the executable to
> link to libbfd-2.11
>
> Here are the steps I took to remedy the situation (for RedHat 7.2), doing
> so in  such a way as to not disturb the environment for any executables
> requiring libbfd-2.11:
>
> 1.  Copy libbfd-2.9.5.0.22 (e.g., from a RedHat 6.2 system) to
>      /usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/
>
> 2.  Delete the symbolic links
>
>
/usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/rts-fsu/adalib/libbfd-2.9.5.0.
> 22.so
>      and
>
>
/usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/rts-native/adalib/libbfd-2.9.5
> .0.22.so
>
> 3.  Replace those two links with links to ../../libbfd-2.9.5.0.22.so
>      (This assumes you have already added
>      /usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/adalib to
> /etc/ld.so.conf)
>
> 4.  Execute the command ldconfig
>
> 5.  In each main program source code file add the following pragma:
>      pragma Linker_Options
>
> ("/usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/libbfd-2.9.5.0.22.so");
>
> 6.  Compile with a command like the following:
>      gnatmake -i -g <main-program-name> -bargs -E \
>     -cargs -gnatwl -funwind-tables -O3 -Wuninitialized -fstack-check
>
> For what it's worth, I also use florist, so I moved the floristlib
directory
> to /usr/gnat/lib after building it.
>
> Here is a small test program that will verify that symbolic tracebacks
work,
> following these instructions:
>
> with Ada.Text_IO;
> with GNAT.Traceback.Symbolic;
> procedure Test_Traceback
> is
>    pragma Linker_Options
>
("/usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/2.8.1/libbfd-2.9.5.0.22.so");
>    File : Ada.Text_IO.File_Type;
> begin
>    Ada.Text_IO.Open
>      (File => File,
>       Name => "abcdefghijklmnopqrstuvwxyz",
>       Mode => Ada.Text_IO.In_File);
> exception
>    when E: others =>
>       Ada.Text_IO.Put_Line
>         (Ada.Exceptions.Exception_Information (E) & ASCII.LF &
>          "Symbolic call stack traceback locations:" & ASCII.LF &
>          GNAT.Traceback.Symbolic.Symbolic_Traceback (E));
> end Test_Traceback;
>
> I have been using gnat-3.14p since it became available on RedHat 6.2,
> and 7.2, as well as Mandrake 7.1, with some very substantial programs
> (one with 21 threads of execution) with excellent results.
>
> David Hoos
>
> ----- Original Message -----
> From: "nicolas" <n.brunot@cadwin.com>
> Newsgroups: comp.lang.ada
> To: <comp.lang.ada@ada.eu.org>
> Sent: Thursday, March 28, 2002 5:17 AM
> Subject: problem with Gnat.Traceback.Symbolic on linux with Gnat 3.14p ?
>
>
> > Hello
> > I have problems with Gnat.Traceback.Symbolic on Linux RedHAT 7.2 and
Gnat
> > 3.14p
> >
> > the command issued is
> > gnatmake -f -funwind-tables -g test_trace.adb -bargs -E
> >
> > I get ?? instead of unit names and line numbers
> >
> > Note that everything works fine with the same command and Gnat 3.14p for
> > Sparc
> >
> > Am I missing something obvious ? (other than Gnat 3.14p was not tested
for
> > RedHAT 7.2,  I know that ...)
> >
> > Thanks
> >
> >
> >
> >
> > _______________________________________________
> > comp.lang.ada mailing list
> > comp.lang.ada@ada.eu.org
> > http://ada.eu.org/mailman/listinfo/comp.lang.ada
> >
>
>





      reply	other threads:[~2002-04-03  8:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-28 11:17 problem with Gnat.Traceback.Symbolic on linux with Gnat 3.14p ? nicolas
2002-03-28 19:03 ` Simon Wright
2002-04-02  9:14   ` nicolas
2002-04-02 18:18     ` Simon Wright
2002-04-02 21:08 ` David C. Hoos
2002-04-03  8:46   ` nicolas [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox