aboutsummaryrefslogtreecommitdiff
path: root/lib/compiler_rt.zig
AgeCommit message (Collapse)Author
2022-06-30stage2: lower float negation explicitlyAndrew Kelley
Rather than lowering float negation as `0.0 - x`. * Add AIR instruction for float negation. * Add compiler-rt functions for f128, f80 negation closes #11853
2022-06-22Add missing adddf3frmdstryr
``` LLD Link... ld.lld: error: undefined symbol: __aeabi_dadd >>> referenced by errol.zig:366 (/home/usr/projects/zig/build/lib/zig/std/fmt/errol.zig:366) ```
2022-06-17compiler-rt: move SPARC functions into appropriate compilation unitsAndrew Kelley
2022-06-17compiler-rt: break up functions even moreAndrew Kelley
The purpose of this branch is to switch to using an object file for each independent function, in order to make linking simpler - instead of relying on `-ffunction-sections` and `--gc-sections`, which involves the linker doing the work of linking everything and then undoing work via garbage collection, this will allow the linker to only include the compilation units that are depended on in the first place. This commit makes progress towards that goal.
2022-06-17compiler_rt: shuffle order of imports to mark relevant symbols for exportJakub Konka
2022-06-17compiler_rt: correctly export allrem and aullrem for i386-windows-msvcJakub Konka
2022-06-17compiler_rt: compile each unit separately for improved archivingJakub Konka
2022-05-16stage2: add runtime safety for unwrapping errorVeikka Tuominen
2022-05-08compiler_rt: avoid weak aliases on WindowsAndrew Kelley
When exporting math functions for Windows, we provide weak exports of 'l' variants rather than weak aliases. We still use aliases on other operating systems so that the 'l' variants have one less jump instruction in this case.
2022-05-07compiler-rt: avoid symbol collisions with Windows libcAndrew Kelley
closes #11600
2022-05-06flatten lib/std/special and improve "pkg inside another" logicAndrew Kelley
stage2: change logic for detecting whether the main package is inside the std package. Previously it relied on realpath() which is not portable. This uses resolve() which is how imports already work. * stage2: fix cleanup bug when creating Module * flatten lib/std/special/* to lib/* - this was motivated by making main_pkg_is_inside_std false for compiler_rt & friends. * rename "mini libc" to "universal libc"