https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125182

            Bug ID: 125182
           Summary: libgcc/config/aarch64/cpuinfo.c now presumes linux
                    ABI's AT_HWCAP, other ABI's need not match
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libgcc
          Assignee: unassigned at gcc dot gnu.org
          Reporter: markmigm at gmail dot com
  Target Milestone: ---

This is tied to:

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

for aarch65 lang/gcc16-devel builds not working after the
libgcc/config/aarch64/cpuinfo.c changes.

FreeBSD had 16 in use in its list of values before it added
AT_HWCAP (for example) and has historically used the cpuinfo.c
#ifndef . . . #endif structure to deal with providing such
differences by predefining the value. Now the example value
is hardwired to exactly match Linux and overrides the
FreeBSD OS value.

asm/hwcap.h was a linux header. So a change being something
that avoids looking for that file and instead uses some path
that would be expected to not already exist unless deliberately
being newly created would work for them avoiding the linux
header.

May be such a change could involve a name something like:

hwcap_os_specific_abi_value_overrides.h

that would be unlikely to otherwise be created.

For FreeBSD use, as an example, that file could exist and in
turn #include the normal FreeBSD source of values. But normal
gcc16+ could avoid the linux header use as well.

Overall: this suggests making an allowance for having OS
specific ABI values that need not always match the Linux ABI
values, even if it not via the specific type of handing
referenced above.

Reply via email to