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
> >
>
>
prev parent 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