Page MenuHomeFreeBSD

libgcc_s: __extendxftf2 and __trunctfxf2 are amd64-only
ClosedPublic

Authored by brooks on Wed, May 1, 10:00 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, May 6, 11:59 AM
Unknown Object (File)
Sat, May 4, 6:18 PM
Unknown Object (File)
Sat, May 4, 1:16 AM
Unknown Object (File)
Thu, May 2, 12:45 PM
Unknown Object (File)
Thu, May 2, 11:07 AM
Unknown Object (File)
Thu, May 2, 9:42 AM
Subscribers

Details

Summary

extendxftf2 and trunctfxf2 build on amd64 not aarch64 and riscv.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

lib/libgcc_s/Symbol.map
225

Shouldn't this be an or? Although I'm not entirely sure if it builds for i386 since it needs int128.

brooks retitled this revision from libgcc_s: __extendxftf2 and __trunctfxf2 are x86 symbols to libgcc_s: __extendxftf2 and __trunctfxf2 are amd64-only.Thu, May 2, 4:19 PM
brooks edited the summary of this revision. (Show Details)

These symbols are amd64-only

brooks added inline comments.
lib/libgcc_s/Symbol.map
225

*sigh* how did this even compile?

lib/libgcc_s/Symbol.map
225

the source files for these are in a .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" block in lib/libcompiler_rt/Makefile.inc?

brooks marked an inline comment as done.

Avoid a couple compiler invocations to create empty object files

lib/libgcc_s/Symbol.map
225

The pre-conditions aren't met when targeting i386 so the object files end up empty. I've tweaked the makefile to avoid those compiler invocations.

This revision is now accepted and ready to land.Thu, May 2, 5:10 PM