[Bug 195465] New: lang/gcc-aux: Ada symbolic trace is broken

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Fri Nov 28 10:19:30 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=195465

            Bug ID: 195465
           Summary: lang/gcc-aux: Ada symbolic trace is broken
           Product: Ports Tree
           Version: Latest
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: marino at FreeBSD.org
          Reporter: natbsd at instinctive.eu
          Assignee: marino at FreeBSD.org
             Flags: maintainer-feedback?(marino at FreeBSD.org)

Created attachment 149950
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=149950&action=edit
patch on lang/gcc-aux to fix addr2line path

I have been developing on AdaControl, which uses
GNAT.Traceback.Symbolic.Symbolic_Traceback to report exceptions, and this is an
invaluable tool because code paths are so complex.

However, under FreeBSD, the output is less-than-useful, and looks like the
following:

> 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

with the first line being repeated hundreds of time.

As far as I can tell, the problems comes from the FreeBSD-specific version of
`convert_addresses()`, provided in `files/diff-ada`, which resolves the
traceback by spawning `/usr/bin/addr2line`. This is the addr2line that comes
with binutils from base, and it is significantly older than
`/usr/local/bin/addr2line` provided by `devel/binutils` on which `gcc-aux`
depends.

The attached patch bumps port revision number and fixes the hardcoded
`addr2line` path. With it, in the same situation as above, I get the following
output:

> 0x69e403 in asis.ada_environments.open at asis-ada_environments.adb:241
> 0x46a58a in adactl at adactl.adb:90 (discriminator 1)
> 0x4065de in main at b~adactl.adb:1536
> 0x40677d in <_start> at ??:?
> 0x800da3ffe in ?? at ??:0

without any dwarf-related error message.

--- Comment #1 from Bugzilla Automation <bugzilla at FreeBSD.org> ---
Auto-assigned to maintainer marino at FreeBSD.org

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list