[Bug 257638] lld fails to parse big endian compressed debug sections

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 08 Aug 2021 17:36:08 UTC

--- Comment #6 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:


commit 47363e99d3d312c510902b68d5cf3094ddc7bb76
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2021-08-07 14:46:07 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2021-08-08 17:31:28 +0000

    Enable compressed debug on little-endian targets

    Compressed debug was enabled by default in commit c910570e7573, but
    broke the build on big-endian targets, and so was disabled in

    Older versions of LLD fail with big-endian compressed debug sections.
    This was fixed in LLD upstream (commit c6ebc651b6fa) and merged to
    FreeBSD main (commit d69d07569ee2) by dim.

    External toolchains (e.g. the llvm12 package) will not yet have the fix.
    These may be used to link against base system .a archives, so compressed
    debug sections would cause trouble even though the base system is fixed.

    Enable compressed debug sections again, for little-endian targets only.
    As discussed on freebsd-hackers[1] I expect to undo this in the future
    (using compressed debug everywhere), once fixed versions of lld are
    widely available.

    Note that to be pedantically correct we should check both the compiler
    and the linker for compressed debug support, but given the external
    toolchain constraint the extra complexity does not seem worthwhile.


    PR:             257638
    Reported by:    jrtc27 [impact of .a archives]
    Discussed with: imp
    Relnotes:       Yes
    Sponsored by:   The FreeBSD Foundation
    Differential Revision:  https://reviews.freebsd.org/D31454

    Revert "Disable compressed debug by default"

    This reverts commit 89ed2ecb14ceabc27883282cf96559a9e7d52717.

 share/mk/bsd.compiler.mk | 9 ++++++++-
 share/mk/bsd.sys.mk      | 2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)

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