Re: Please revert b2e843161d
Andrew Turner <[email protected]> Thu, 25 Jun 2026 18:57:54 +0100
| Newsgroups | gmane.os.freebsd.devel.hackers |
|---|---|
| Message-ID | <[email protected]> |
> On 25 Jun 2026, at 17:42, Steve Kargl <[email protected]> wrote: > > On 6/25/26 01:15, Andrew Turner wrote: >>> On 24 Jun 2026, at 19:58, Steve Kargl <[email protected]> wrote: >>> >>> Can someone with commit access please revert b2e843161dc3b? >>> >>> git log -r b2e843161dc3b79777e873183447c92ed9c3703a >>> Author: Andrew Turner <[email protected]> >>> Date: Tue Nov 2 11:31:17 2021 +0000 >>> >>> Use a builtin where possible in msun >>> >>> >>> If one has a libm built with, e.g., -DUSE_BUILTIN_FMAF, >>> and then tries to debug code that uses fmaf() where the >>> compiler options include -fno-builtin, a segfault >>> occurs. I suggest purging all of the recent additions >>> of USE_BUILTIN_*. These are simply not needed as a compiler >>> will use a builtin (if available) instead of a function from >>> libm. >> What architecture and compiler are you using to build libm? >> I only enabled it on arm64 as both llvm and gcc will generate the optimal assembly instruction. Other architectures and compilers the builtin may generate a call to fmaf creating an infinite loop. > > I'm using > > % uname -a > FreeBSD hotrats 16.0-CURRENT FreeBSD 16.0-CURRENT #0 main-n284956-de9fe28ab847: Fri Apr 10 10:15:09 PDT 2026 kargl@hotrats:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 I don’t expect it to work on amd64 in the general case. Godbolt shows both GCC and Clang generating an infinite loop jumping to its self [1]. It may work on some architecture levels, however I don’t know enough about amd64 to know if it’s safe to enable. The USE_BUILTIN_* flags aren’t intended on being set by users as you found. Andrew [1] https://godbolt.org/z/c5W5hq35d