Size: a a a

WebAssembly — русскоговорящее сообщество

2019 November 19

M

MaxGraey in WebAssembly — русскоговорящее сообщество
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
это можно посмотреть хотя бы по mangled name:

$_ZN17compiler_builtins4math4libm14rem_pio2_large14rem_pio2_large17hcdc7a943051fc68eE
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
ты бы лучше прогрепил как cosf32 реализован в компиляторе, там мог бы быть hint
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
(как это вообще связано? не могу уловить связи)
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
lil pep
(как это вообще связано? не могу уловить связи)
Связь слабая, согласен, но это косвенно значит, что Rust зависит от внешней libm библиотеки и никак ее не реализовывает самостоятельно, иначе бы не нужно было линковать MinGW на win32 платформе
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
хотя это бутстрап
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
так что да вообще никак)
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
ну в целом это ты правильно подметил, набор библиотек которые линкуются - это target-specific логика
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
например, в армах где как это реализованно
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
энивей, моя теория сейчас что оно проходит так:

f32.cos() → intrinsics::f32() → llvm.cos.f32 intrinsic to libcall → cosf (compiler-builtins/libm)
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
если кто-то подтвердил или опровергунл было бы здорово )
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
lil pep
энивей, моя теория сейчас что оно проходит так:

f32.cos() → intrinsics::f32() → llvm.cos.f32 intrinsic to libcall → cosf (compiler-builtins/libm)
Ну вот я так тоже думаю
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
окей лол нашел
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
тут происходит ловеринг из llvm.cos.f32 в cosf
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
вот собственно пруф что rustc ловерит intrinsics::f32 в llvm.cos.f32
https://github.com/rust-lang/rust/blob/2cad8bb659066b42fc518c95def384956126bd3f/src/librustc_codegen_llvm/intrinsic.rs#L40
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
ну думаю должно быть убедительно уже
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
в итоге, я не вижу не единой причины линковаться против libc на данный момент
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
> Эмм, а же тогда вызывает llvm?)

не понял вопроса
источник