[Bug 282574] lang/gcc13-devel: aarch64 output files do not have ELFOSABI_FREEBSD set

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 05 Nov 2024 21:44:05 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=282574

            Bug ID: 282574
           Summary: lang/gcc13-devel: aarch64 output files do not have
                    ELFOSABI_FREEBSD set
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: salvadore@freebsd.org
          Reporter: jfc@mit.edu
             Flags: maintainer-feedback?(salvadore@freebsd.org)
          Assignee: salvadore@freebsd.org

On 64 bit ARM (but not amd64) a program or shared library built with gcc13 from
gcc13-devel does not have ELFOSABI_FREEBSD set in the e_ident field of the ELF
header.  This upsets ldd, which complains

ldd: lib/libclang.so.18.1.8: not a FreeBSD ELF shared object

The difference can be observed with file, which reports (FreeBSD) or (SYSV)
depending on compiler used.

ELF 64-bit LSB shared object, ARM aarch64, version 1 (FreeBSD), dynamically
linked, with debug_info, not stripped
ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically
linked, with debug_info, not stripped

The difference can be observed with elfdump -e, which reports ELFOSABI_FREEBSD
or ELFOSABI_NONE.

        e_ident: ELFCLASS64 ELFDATA2LSB ELFOSABI_FREEBSD
        e_ident: ELFCLASS64 ELFDATA2LSB ELFOSABI_NONE

This also affects gcc14-devel and perhaps all gcc packages.

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