From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00, PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,d188753fef109ace X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-04-03 00:45:21 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!canoe.uoregon.edu!arclight.uoregon.edu!fr.usenet-edu.net!usenet-edu.net!proxad.net!feeder2-1.proxad.net!news2-1.free.fr!not-for-mail From: "nicolas" Newsgroups: comp.lang.ada References: <3ca2fb66$0$4997$626a54ce@news.free.fr> Subject: Re: problem with Gnat.Traceback.Symbolic on linux with Gnat 3.14p ? Date: Wed, 3 Apr 2002 10:46:56 +0200 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 Message-ID: <3caac11f$0$11107$626a54ce@news.free.fr> Organization: Guest of ProXad - France NNTP-Posting-Date: 03 Apr 2002 10:45:19 MEST NNTP-Posting-Host: 217.167.42.235 X-Trace: 1017823519 news2-1.free.fr 11107 217.167.42.235 X-Complaints-To: abuse@proxad.net Xref: archiver1.google.com comp.lang.ada:22039 Date: 2002-04-03T10:45:19+02:00 List-Id: 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" 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 -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" > Newsgroups: comp.lang.ada > To: > 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 > > > >