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

--- Comment #3 from Mark Millard <marklmi26-f...@yahoo.com> ---
It appears that the floating point ld.lld error reports
are no longer an issue for at least main [so: 15] .

But I make new notes about the -triple/-target issue,
trying to correct my not previously being careful about
the -triple vs. -target notation usage:

# cc -v -m32 basic_double_use.c

in an aarch64 context reports using:

"/usr/bin/cc" -cc1 -triple armv4t-unknown-freebsd15.0

So: not armv7 and no -gnueabihf

The context has:

# cc -v
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git
llvmorg-19.1.7-0-gcd708029e0b2)
Target: aarch64-unknown-freebsd15.0
Thread model: posix
InstalledDir: /usr/bin
Build config: +assertions

By contrast, in an armv7 context:

# cc -v
FreeBSD clang version 19.1.7 (https://github.com/llvm/llvm-project.git
llvmorg-19.1.7-0-gcd708029e0b2)
Target: armv7-unknown-freebsd15.0-gnueabihf
Thread model: posix
InstalledDir: /usr/bin
Build config: +assertions

But . . .

# cc -v -m32 basic_double_use.c

reports using:

"/usr/bin/cc" -cc1 -triple armv7-unknown-freebsd15.0-gnueabihf . . .

as expected: armv7 and -gnueabihf in use. 

Thus on aarch64, one needs to be explicit about -target ,
unlike on armv7:

# cc -v -m32 -target armv7-unknown-freebsd15.0-gnueabihf basic_double_use.c

reports using:

"/usr/bin/cc" -cc1 -triple armv7-unknown-freebsd15.0-gnueabihf

In summary: -m32 ends up with the wrong default -target
for the modern aarch64 FreeBSD type of context.


For reference:

# cat basic_double_use.c
int main(void)
{
    volatile double a=10;
    volatile double b=13;
    return (a*b<b/a) ? 0 : 1;
}

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

Reply via email to