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.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Natasha Kerensikova Newsgroups: comp.lang.ada Subject: How to get nice with GNAT? Date: Fri, 21 Nov 2014 11:41:30 +0000 (UTC) Organization: A noiseless patient Spider Message-ID: Injection-Date: Fri, 21 Nov 2014 11:41:30 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="76a49b86bc3e16725b7cfca3d85cb4c8"; logging-data="27894"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18HJKcgJF9C+mlpB5CDEZwI" User-Agent: slrn/1.0.1 (FreeBSD) Cancel-Lock: sha1:eRS0czhnbatJ5ru1T5fhG4VwyRM= Xref: news.eternal-september.org comp.lang.ada:23601 Date: 2014-11-21T11:41:30+00:00 List-Id: Hello, I happen to have found a situation in which symbolic traceback is a great help, but I have been a bit surprise by the (lack of) support in the platform to which I have access. I have been using GNAT.Traceback.Symbolic.Symbolic_Traceback, is there a more portable way? In FreeBSD, with GNAT 4.9.0, I get an output like the following, with the first line actually repeated about a hundred times: > BFD: Dwarf Error: found dwarf version '4', this reader only handles version 2 information. > 0x7e7773 in asis.gela.contexts.open at ??:0 > 0x78cb43 in asis.ada_environments.open at ??:0 > 0x46a7da in adactl at ??:0 > 0x40690e in main at ??:0 > 0x4069df in <_start> at ??:0 > 0x800da3ffe in ?? at ??:0 In Debian/kFreeBSD, with GNAT 4.6, it looks like the following, which is what I consider as perfect: > 0x7fa993 in asis.ada_environments.open at asis-ada_environments.adb:241 > 0x481a57 in adactl at adactl.adb:90 > 0x417029 in main at b~adactl.adb:817 > 0x8015a4347 in ?? at ??:0 > 0x41706e in <_start> at ??:0 In Fedora 20, with GNAT 4.8.3, it looks like the following, which I find the worst: > 0x000000000069307D > 0x00000000004733BD > 0x0000000000410824 > 0x0000003CC5A21D63 > 0x000000000041086F > 0xFFFFFFFFFFFFFFFE Considering the versions, I doubt that's the cause for the discrepancy. I would rather wager on something related to addr2line. As a user, is there something I can do to improve the traceback representation on those platforms? Or is it completely in the hands of the GNAT packager/maintainer? Thanks in advance for your help, Natasha