| ... | ... | @@ -22,6 +22,12 @@ else |
| 22 | 22 | const long_double_is_f128 = builtin.target.longDoubleIsF128(); |
| 23 | 23 | |
| 24 | 24 | comptime { |
| 25 | // These files do their own comptime exporting logic. |
| 26 | if (!builtin.zig_is_stage2) { |
| 27 | _ = @import("compiler_rt/atomics.zig"); |
| 28 | } |
| 29 | _ = @import("compiler_rt/clear_cache.zig").clear_cache; |
| 30 | |
| 25 | 31 | const __extenddftf2 = @import("compiler_rt/extendXfYf2.zig").__extenddftf2; |
| 26 | 32 | @export(__extenddftf2, .{ .name = "__extenddftf2", .linkage = linkage }); |
| 27 | 33 | const __extendsftf2 = @import("compiler_rt/extendXfYf2.zig").__extendsftf2; |
| ... | ... | @@ -171,16 +177,16 @@ comptime { |
| 171 | 177 | const __truncdfsf2 = @import("compiler_rt/truncXfYf2.zig").__truncdfsf2; |
| 172 | 178 | @export(__truncdfsf2, .{ .name = "__truncdfsf2", .linkage = linkage }); |
| 173 | 179 | |
| 174 | | if (!builtin.zig_is_stage2) { |
| 175 | | if (!long_double_is_f128) { |
| 176 | | // TODO implement these |
| 177 | | //const __extendxftf2 = @import("compiler_rt/extendXfYf2.zig").__extendxftf2; |
| 178 | | //@export(__extendxftf2, .{ .name = "__extendxftf2", .linkage = linkage }); |
| 180 | if (!long_double_is_f128) { |
| 181 | // TODO implement these |
| 182 | //const __extendxftf2 = @import("compiler_rt/extendXfYf2.zig").__extendxftf2; |
| 183 | //@export(__extendxftf2, .{ .name = "__extendxftf2", .linkage = linkage }); |
| 179 | 184 | |
| 180 | | //const __trunctfxf2 = @import("compiler_rt/truncXfYf2.zig").__trunctfxf2; |
| 181 | | //@export(__trunctfxf2, .{ .name = "__trunctfxf2", .linkage = linkage }); |
| 182 | | } |
| 185 | //const __trunctfxf2 = @import("compiler_rt/truncXfYf2.zig").__trunctfxf2; |
| 186 | //@export(__trunctfxf2, .{ .name = "__trunctfxf2", .linkage = linkage }); |
| 187 | } |
| 183 | 188 | |
| 189 | if (!builtin.zig_is_stage2) { |
| 184 | 190 | switch (arch) { |
| 185 | 191 | .i386, |
| 186 | 192 | .x86_64, |
| ... | ... | @@ -193,30 +199,29 @@ comptime { |
| 193 | 199 | }, |
| 194 | 200 | else => {}, |
| 195 | 201 | } |
| 202 | } |
| 196 | 203 | |
| 197 | | // __clear_cache manages its own logic about whether to be exported or not. |
| 198 | | _ = @import("compiler_rt/clear_cache.zig").clear_cache; |
| 199 | | |
| 200 | | const __unordsf2 = @import("compiler_rt/compareXf2.zig").__unordsf2; |
| 201 | | @export(__unordsf2, .{ .name = "__unordsf2", .linkage = linkage }); |
| 202 | | const __unorddf2 = @import("compiler_rt/compareXf2.zig").__unorddf2; |
| 203 | | @export(__unorddf2, .{ .name = "__unorddf2", .linkage = linkage }); |
| 204 | | const __unordtf2 = @import("compiler_rt/compareXf2.zig").__unordtf2; |
| 205 | | @export(__unordtf2, .{ .name = "__unordtf2", .linkage = linkage }); |
| 206 | | |
| 207 | | const __addsf3 = @import("compiler_rt/addXf3.zig").__addsf3; |
| 208 | | @export(__addsf3, .{ .name = "__addsf3", .linkage = linkage }); |
| 209 | | const __adddf3 = @import("compiler_rt/addXf3.zig").__adddf3; |
| 210 | | @export(__adddf3, .{ .name = "__adddf3", .linkage = linkage }); |
| 211 | | const __addtf3 = @import("compiler_rt/addXf3.zig").__addtf3; |
| 212 | | @export(__addtf3, .{ .name = "__addtf3", .linkage = linkage }); |
| 213 | | const __subsf3 = @import("compiler_rt/addXf3.zig").__subsf3; |
| 214 | | @export(__subsf3, .{ .name = "__subsf3", .linkage = linkage }); |
| 215 | | const __subdf3 = @import("compiler_rt/addXf3.zig").__subdf3; |
| 216 | | @export(__subdf3, .{ .name = "__subdf3", .linkage = linkage }); |
| 217 | | const __subtf3 = @import("compiler_rt/addXf3.zig").__subtf3; |
| 218 | | @export(__subtf3, .{ .name = "__subtf3", .linkage = linkage }); |
| 204 | const __unordsf2 = @import("compiler_rt/compareXf2.zig").__unordsf2; |
| 205 | @export(__unordsf2, .{ .name = "__unordsf2", .linkage = linkage }); |
| 206 | const __unorddf2 = @import("compiler_rt/compareXf2.zig").__unorddf2; |
| 207 | @export(__unorddf2, .{ .name = "__unorddf2", .linkage = linkage }); |
| 208 | const __unordtf2 = @import("compiler_rt/compareXf2.zig").__unordtf2; |
| 209 | @export(__unordtf2, .{ .name = "__unordtf2", .linkage = linkage }); |
| 210 | |
| 211 | const __addsf3 = @import("compiler_rt/addXf3.zig").__addsf3; |
| 212 | @export(__addsf3, .{ .name = "__addsf3", .linkage = linkage }); |
| 213 | const __adddf3 = @import("compiler_rt/addXf3.zig").__adddf3; |
| 214 | @export(__adddf3, .{ .name = "__adddf3", .linkage = linkage }); |
| 215 | const __addtf3 = @import("compiler_rt/addXf3.zig").__addtf3; |
| 216 | @export(__addtf3, .{ .name = "__addtf3", .linkage = linkage }); |
| 217 | const __subsf3 = @import("compiler_rt/addXf3.zig").__subsf3; |
| 218 | @export(__subsf3, .{ .name = "__subsf3", .linkage = linkage }); |
| 219 | const __subdf3 = @import("compiler_rt/addXf3.zig").__subdf3; |
| 220 | @export(__subdf3, .{ .name = "__subdf3", .linkage = linkage }); |
| 221 | const __subtf3 = @import("compiler_rt/addXf3.zig").__subtf3; |
| 222 | @export(__subtf3, .{ .name = "__subtf3", .linkage = linkage }); |
| 219 | 223 | |
| 224 | if (!builtin.zig_is_stage2) { |
| 220 | 225 | const __mulsf3 = @import("compiler_rt/mulXf3.zig").__mulsf3; |
| 221 | 226 | @export(__mulsf3, .{ .name = "__mulsf3", .linkage = linkage }); |
| 222 | 227 | const __muldf3 = @import("compiler_rt/mulXf3.zig").__muldf3; |
| ... | ... | @@ -230,21 +235,23 @@ comptime { |
| 230 | 235 | @export(__divdf3, .{ .name = "__divdf3", .linkage = linkage }); |
| 231 | 236 | const __divtf3 = @import("compiler_rt/divtf3.zig").__divtf3; |
| 232 | 237 | @export(__divtf3, .{ .name = "__divtf3", .linkage = linkage }); |
| 238 | } |
| 233 | 239 | |
| 234 | | // Integral bit manipulation |
| 235 | | const __ashldi3 = @import("compiler_rt/shift.zig").__ashldi3; |
| 236 | | @export(__ashldi3, .{ .name = "__ashldi3", .linkage = linkage }); |
| 237 | | const __ashlti3 = @import("compiler_rt/shift.zig").__ashlti3; |
| 238 | | @export(__ashlti3, .{ .name = "__ashlti3", .linkage = linkage }); |
| 239 | | const __ashrdi3 = @import("compiler_rt/shift.zig").__ashrdi3; |
| 240 | | @export(__ashrdi3, .{ .name = "__ashrdi3", .linkage = linkage }); |
| 241 | | const __ashrti3 = @import("compiler_rt/shift.zig").__ashrti3; |
| 242 | | @export(__ashrti3, .{ .name = "__ashrti3", .linkage = linkage }); |
| 243 | | const __lshrdi3 = @import("compiler_rt/shift.zig").__lshrdi3; |
| 244 | | @export(__lshrdi3, .{ .name = "__lshrdi3", .linkage = linkage }); |
| 245 | | const __lshrti3 = @import("compiler_rt/shift.zig").__lshrti3; |
| 246 | | @export(__lshrti3, .{ .name = "__lshrti3", .linkage = linkage }); |
| 240 | // Integral bit manipulation |
| 241 | const __ashldi3 = @import("compiler_rt/shift.zig").__ashldi3; |
| 242 | @export(__ashldi3, .{ .name = "__ashldi3", .linkage = linkage }); |
| 243 | const __ashlti3 = @import("compiler_rt/shift.zig").__ashlti3; |
| 244 | @export(__ashlti3, .{ .name = "__ashlti3", .linkage = linkage }); |
| 245 | const __ashrdi3 = @import("compiler_rt/shift.zig").__ashrdi3; |
| 246 | @export(__ashrdi3, .{ .name = "__ashrdi3", .linkage = linkage }); |
| 247 | const __ashrti3 = @import("compiler_rt/shift.zig").__ashrti3; |
| 248 | @export(__ashrti3, .{ .name = "__ashrti3", .linkage = linkage }); |
| 249 | const __lshrdi3 = @import("compiler_rt/shift.zig").__lshrdi3; |
| 250 | @export(__lshrdi3, .{ .name = "__lshrdi3", .linkage = linkage }); |
| 251 | const __lshrti3 = @import("compiler_rt/shift.zig").__lshrti3; |
| 252 | @export(__lshrti3, .{ .name = "__lshrti3", .linkage = linkage }); |
| 247 | 253 | |
| 254 | if (!builtin.zig_is_stage2) { |
| 248 | 255 | const __clzsi2 = @import("compiler_rt/count0bits.zig").__clzsi2; |
| 249 | 256 | @export(__clzsi2, .{ .name = "__clzsi2", .linkage = linkage }); |
| 250 | 257 | const __clzdi2 = @import("compiler_rt/count0bits.zig").__clzdi2; |
| ... | ... | @@ -263,461 +270,466 @@ comptime { |
| 263 | 270 | @export(__ffsdi2, .{ .name = "__ffsdi2", .linkage = linkage }); |
| 264 | 271 | const __ffsti2 = @import("compiler_rt/count0bits.zig").__ffsti2; |
| 265 | 272 | @export(__ffsti2, .{ .name = "__ffsti2", .linkage = linkage }); |
| 273 | } |
| 266 | 274 | |
| 267 | | const __paritysi2 = @import("compiler_rt/parity.zig").__paritysi2; |
| 268 | | @export(__paritysi2, .{ .name = "__paritysi2", .linkage = linkage }); |
| 269 | | const __paritydi2 = @import("compiler_rt/parity.zig").__paritydi2; |
| 270 | | @export(__paritydi2, .{ .name = "__paritydi2", .linkage = linkage }); |
| 271 | | const __parityti2 = @import("compiler_rt/parity.zig").__parityti2; |
| 272 | | @export(__parityti2, .{ .name = "__parityti2", .linkage = linkage }); |
| 273 | | const __popcountsi2 = @import("compiler_rt/popcount.zig").__popcountsi2; |
| 274 | | @export(__popcountsi2, .{ .name = "__popcountsi2", .linkage = linkage }); |
| 275 | | const __popcountdi2 = @import("compiler_rt/popcount.zig").__popcountdi2; |
| 276 | | @export(__popcountdi2, .{ .name = "__popcountdi2", .linkage = linkage }); |
| 277 | | const __popcountti2 = @import("compiler_rt/popcount.zig").__popcountti2; |
| 278 | | @export(__popcountti2, .{ .name = "__popcountti2", .linkage = linkage }); |
| 279 | | const __bswapsi2 = @import("compiler_rt/bswap.zig").__bswapsi2; |
| 280 | | @export(__bswapsi2, .{ .name = "__bswapsi2", .linkage = linkage }); |
| 281 | | const __bswapdi2 = @import("compiler_rt/bswap.zig").__bswapdi2; |
| 282 | | @export(__bswapdi2, .{ .name = "__bswapdi2", .linkage = linkage }); |
| 283 | | const __bswapti2 = @import("compiler_rt/bswap.zig").__bswapti2; |
| 284 | | @export(__bswapti2, .{ .name = "__bswapti2", .linkage = linkage }); |
| 285 | | |
| 286 | | // Integral / floating point conversion (part 1/2) |
| 287 | | const __floatsidf = @import("compiler_rt/floatsiXf.zig").__floatsidf; |
| 288 | | @export(__floatsidf, .{ .name = "__floatsidf", .linkage = linkage }); |
| 289 | | const __floatsisf = @import("compiler_rt/floatsiXf.zig").__floatsisf; |
| 290 | | @export(__floatsisf, .{ .name = "__floatsisf", .linkage = linkage }); |
| 291 | | const __floatdidf = @import("compiler_rt/floatdidf.zig").__floatdidf; |
| 292 | | @export(__floatdidf, .{ .name = "__floatdidf", .linkage = linkage }); |
| 293 | | const __floatsitf = @import("compiler_rt/floatsiXf.zig").__floatsitf; |
| 294 | | @export(__floatsitf, .{ .name = "__floatsitf", .linkage = linkage }); |
| 295 | | |
| 296 | | const __floatunsisf = @import("compiler_rt/floatunsisf.zig").__floatunsisf; |
| 297 | | @export(__floatunsisf, .{ .name = "__floatunsisf", .linkage = linkage }); |
| 275 | const __paritysi2 = @import("compiler_rt/parity.zig").__paritysi2; |
| 276 | @export(__paritysi2, .{ .name = "__paritysi2", .linkage = linkage }); |
| 277 | const __paritydi2 = @import("compiler_rt/parity.zig").__paritydi2; |
| 278 | @export(__paritydi2, .{ .name = "__paritydi2", .linkage = linkage }); |
| 279 | const __parityti2 = @import("compiler_rt/parity.zig").__parityti2; |
| 280 | @export(__parityti2, .{ .name = "__parityti2", .linkage = linkage }); |
| 281 | |
| 282 | const __popcountsi2 = @import("compiler_rt/popcount.zig").__popcountsi2; |
| 283 | @export(__popcountsi2, .{ .name = "__popcountsi2", .linkage = linkage }); |
| 284 | const __popcountdi2 = @import("compiler_rt/popcount.zig").__popcountdi2; |
| 285 | @export(__popcountdi2, .{ .name = "__popcountdi2", .linkage = linkage }); |
| 286 | const __popcountti2 = @import("compiler_rt/popcount.zig").__popcountti2; |
| 287 | @export(__popcountti2, .{ .name = "__popcountti2", .linkage = linkage }); |
| 288 | |
| 289 | const __bswapsi2 = @import("compiler_rt/bswap.zig").__bswapsi2; |
| 290 | @export(__bswapsi2, .{ .name = "__bswapsi2", .linkage = linkage }); |
| 291 | const __bswapdi2 = @import("compiler_rt/bswap.zig").__bswapdi2; |
| 292 | @export(__bswapdi2, .{ .name = "__bswapdi2", .linkage = linkage }); |
| 293 | const __bswapti2 = @import("compiler_rt/bswap.zig").__bswapti2; |
| 294 | @export(__bswapti2, .{ .name = "__bswapti2", .linkage = linkage }); |
| 295 | |
| 296 | // Integral / floating point conversion (part 1/2) |
| 297 | const __floatsidf = @import("compiler_rt/floatsiXf.zig").__floatsidf; |
| 298 | @export(__floatsidf, .{ .name = "__floatsidf", .linkage = linkage }); |
| 299 | const __floatsisf = @import("compiler_rt/floatsiXf.zig").__floatsisf; |
| 300 | @export(__floatsisf, .{ .name = "__floatsisf", .linkage = linkage }); |
| 301 | const __floatdidf = @import("compiler_rt/floatdidf.zig").__floatdidf; |
| 302 | @export(__floatdidf, .{ .name = "__floatdidf", .linkage = linkage }); |
| 303 | const __floatsitf = @import("compiler_rt/floatsiXf.zig").__floatsitf; |
| 304 | @export(__floatsitf, .{ .name = "__floatsitf", .linkage = linkage }); |
| 305 | |
| 306 | const __floatunsisf = @import("compiler_rt/floatunsisf.zig").__floatunsisf; |
| 307 | @export(__floatunsisf, .{ .name = "__floatunsisf", .linkage = linkage }); |
| 308 | if (!builtin.zig_is_stage2) { |
| 298 | 309 | const __floatundisf = @import("compiler_rt/floatundisf.zig").__floatundisf; |
| 299 | 310 | @export(__floatundisf, .{ .name = "__floatundisf", .linkage = linkage }); |
| 300 | | const __floatunsidf = @import("compiler_rt/floatunsidf.zig").__floatunsidf; |
| 301 | | @export(__floatunsidf, .{ .name = "__floatunsidf", .linkage = linkage }); |
| 302 | | const __floatundidf = @import("compiler_rt/floatundidf.zig").__floatundidf; |
| 303 | | @export(__floatundidf, .{ .name = "__floatundidf", .linkage = linkage }); |
| 304 | | |
| 305 | | const __floatditf = @import("compiler_rt/floatditf.zig").__floatditf; |
| 306 | | @export(__floatditf, .{ .name = "__floatditf", .linkage = linkage }); |
| 307 | | const __floattitf = @import("compiler_rt/floattitf.zig").__floattitf; |
| 308 | | @export(__floattitf, .{ .name = "__floattitf", .linkage = linkage }); |
| 309 | | const __floattidf = @import("compiler_rt/floattidf.zig").__floattidf; |
| 310 | | @export(__floattidf, .{ .name = "__floattidf", .linkage = linkage }); |
| 311 | | const __floattisf = @import("compiler_rt/floatXisf.zig").__floattisf; |
| 312 | | @export(__floattisf, .{ .name = "__floattisf", .linkage = linkage }); |
| 313 | | const __floatdisf = @import("compiler_rt/floatXisf.zig").__floatdisf; |
| 314 | | @export(__floatdisf, .{ .name = "__floatdisf", .linkage = linkage }); |
| 315 | | |
| 316 | | const __floatunditf = @import("compiler_rt/floatunditf.zig").__floatunditf; |
| 317 | | @export(__floatunditf, .{ .name = "__floatunditf", .linkage = linkage }); |
| 318 | | const __floatunsitf = @import("compiler_rt/floatunsitf.zig").__floatunsitf; |
| 319 | | @export(__floatunsitf, .{ .name = "__floatunsitf", .linkage = linkage }); |
| 320 | | |
| 321 | | const __floatuntitf = @import("compiler_rt/floatuntitf.zig").__floatuntitf; |
| 322 | | @export(__floatuntitf, .{ .name = "__floatuntitf", .linkage = linkage }); |
| 323 | | const __floatuntidf = @import("compiler_rt/floatuntidf.zig").__floatuntidf; |
| 324 | | @export(__floatuntidf, .{ .name = "__floatuntidf", .linkage = linkage }); |
| 325 | | const __floatuntisf = @import("compiler_rt/floatuntisf.zig").__floatuntisf; |
| 326 | | @export(__floatuntisf, .{ .name = "__floatuntisf", .linkage = linkage }); |
| 327 | | |
| 328 | | const __truncsfhf2 = @import("compiler_rt/truncXfYf2.zig").__truncsfhf2; |
| 329 | | @export(__truncsfhf2, .{ .name = "__truncsfhf2", .linkage = linkage }); |
| 330 | | if (!is_test) { |
| 331 | | @export(__truncsfhf2, .{ .name = "__gnu_f2h_ieee", .linkage = linkage }); |
| 332 | | } |
| 333 | | const __extendsfdf2 = @import("compiler_rt/extendXfYf2.zig").__extendsfdf2; |
| 334 | | @export(__extendsfdf2, .{ .name = "__extendsfdf2", .linkage = linkage }); |
| 335 | | |
| 336 | | // Integral / floating point conversion (part 2/2) |
| 337 | | const __fixunssfsi = @import("compiler_rt/fixunssfsi.zig").__fixunssfsi; |
| 338 | | @export(__fixunssfsi, .{ .name = "__fixunssfsi", .linkage = linkage }); |
| 339 | | const __fixunssfdi = @import("compiler_rt/fixunssfdi.zig").__fixunssfdi; |
| 340 | | @export(__fixunssfdi, .{ .name = "__fixunssfdi", .linkage = linkage }); |
| 341 | | const __fixunssfti = @import("compiler_rt/fixunssfti.zig").__fixunssfti; |
| 342 | | @export(__fixunssfti, .{ .name = "__fixunssfti", .linkage = linkage }); |
| 343 | | |
| 344 | | const __fixunsdfsi = @import("compiler_rt/fixunsdfsi.zig").__fixunsdfsi; |
| 345 | | @export(__fixunsdfsi, .{ .name = "__fixunsdfsi", .linkage = linkage }); |
| 346 | | const __fixunsdfdi = @import("compiler_rt/fixunsdfdi.zig").__fixunsdfdi; |
| 347 | | @export(__fixunsdfdi, .{ .name = "__fixunsdfdi", .linkage = linkage }); |
| 348 | | const __fixunsdfti = @import("compiler_rt/fixunsdfti.zig").__fixunsdfti; |
| 349 | | @export(__fixunsdfti, .{ .name = "__fixunsdfti", .linkage = linkage }); |
| 350 | | |
| 351 | | const __fixunstfsi = @import("compiler_rt/fixunstfsi.zig").__fixunstfsi; |
| 352 | | @export(__fixunstfsi, .{ .name = "__fixunstfsi", .linkage = linkage }); |
| 353 | | const __fixunstfdi = @import("compiler_rt/fixunstfdi.zig").__fixunstfdi; |
| 354 | | @export(__fixunstfdi, .{ .name = "__fixunstfdi", .linkage = linkage }); |
| 355 | | const __fixunstfti = @import("compiler_rt/fixunstfti.zig").__fixunstfti; |
| 356 | | @export(__fixunstfti, .{ .name = "__fixunstfti", .linkage = linkage }); |
| 357 | | |
| 358 | | const __fixdfdi = @import("compiler_rt/fixdfdi.zig").__fixdfdi; |
| 359 | | @export(__fixdfdi, .{ .name = "__fixdfdi", .linkage = linkage }); |
| 360 | | const __fixdfsi = @import("compiler_rt/fixdfsi.zig").__fixdfsi; |
| 361 | | @export(__fixdfsi, .{ .name = "__fixdfsi", .linkage = linkage }); |
| 362 | | const __fixdfti = @import("compiler_rt/fixdfti.zig").__fixdfti; |
| 363 | | @export(__fixdfti, .{ .name = "__fixdfti", .linkage = linkage }); |
| 364 | | const __fixsfdi = @import("compiler_rt/fixsfdi.zig").__fixsfdi; |
| 365 | | @export(__fixsfdi, .{ .name = "__fixsfdi", .linkage = linkage }); |
| 366 | | const __fixsfsi = @import("compiler_rt/fixsfsi.zig").__fixsfsi; |
| 367 | | @export(__fixsfsi, .{ .name = "__fixsfsi", .linkage = linkage }); |
| 368 | | const __fixsfti = @import("compiler_rt/fixsfti.zig").__fixsfti; |
| 369 | | @export(__fixsfti, .{ .name = "__fixsfti", .linkage = linkage }); |
| 370 | | const __fixtfdi = @import("compiler_rt/fixtfdi.zig").__fixtfdi; |
| 371 | | @export(__fixtfdi, .{ .name = "__fixtfdi", .linkage = linkage }); |
| 372 | | const __fixtfsi = @import("compiler_rt/fixtfsi.zig").__fixtfsi; |
| 373 | | @export(__fixtfsi, .{ .name = "__fixtfsi", .linkage = linkage }); |
| 374 | | const __fixtfti = @import("compiler_rt/fixtfti.zig").__fixtfti; |
| 375 | | @export(__fixtfti, .{ .name = "__fixtfti", .linkage = linkage }); |
| 376 | | |
| 377 | | const __udivmoddi4 = @import("compiler_rt/int.zig").__udivmoddi4; |
| 378 | | @export(__udivmoddi4, .{ .name = "__udivmoddi4", .linkage = linkage }); |
| 379 | | |
| 380 | | if (is_darwin) { |
| 381 | | const __isPlatformVersionAtLeast = @import("compiler_rt/os_version_check.zig").__isPlatformVersionAtLeast; |
| 382 | | @export(__isPlatformVersionAtLeast, .{ .name = "__isPlatformVersionAtLeast", .linkage = linkage }); |
| 383 | | } |
| 311 | } |
| 312 | const __floatunsidf = @import("compiler_rt/floatunsidf.zig").__floatunsidf; |
| 313 | @export(__floatunsidf, .{ .name = "__floatunsidf", .linkage = linkage }); |
| 314 | const __floatundidf = @import("compiler_rt/floatundidf.zig").__floatundidf; |
| 315 | @export(__floatundidf, .{ .name = "__floatundidf", .linkage = linkage }); |
| 316 | |
| 317 | const __floatditf = @import("compiler_rt/floatditf.zig").__floatditf; |
| 318 | @export(__floatditf, .{ .name = "__floatditf", .linkage = linkage }); |
| 319 | const __floattitf = @import("compiler_rt/floattitf.zig").__floattitf; |
| 320 | @export(__floattitf, .{ .name = "__floattitf", .linkage = linkage }); |
| 321 | const __floattidf = @import("compiler_rt/floattidf.zig").__floattidf; |
| 322 | @export(__floattidf, .{ .name = "__floattidf", .linkage = linkage }); |
| 323 | const __floattisf = @import("compiler_rt/floatXisf.zig").__floattisf; |
| 324 | @export(__floattisf, .{ .name = "__floattisf", .linkage = linkage }); |
| 325 | const __floatdisf = @import("compiler_rt/floatXisf.zig").__floatdisf; |
| 326 | @export(__floatdisf, .{ .name = "__floatdisf", .linkage = linkage }); |
| 327 | |
| 328 | const __floatunditf = @import("compiler_rt/floatunditf.zig").__floatunditf; |
| 329 | @export(__floatunditf, .{ .name = "__floatunditf", .linkage = linkage }); |
| 330 | const __floatunsitf = @import("compiler_rt/floatunsitf.zig").__floatunsitf; |
| 331 | @export(__floatunsitf, .{ .name = "__floatunsitf", .linkage = linkage }); |
| 332 | |
| 333 | const __floatuntitf = @import("compiler_rt/floatuntitf.zig").__floatuntitf; |
| 334 | @export(__floatuntitf, .{ .name = "__floatuntitf", .linkage = linkage }); |
| 335 | const __floatuntidf = @import("compiler_rt/floatuntidf.zig").__floatuntidf; |
| 336 | @export(__floatuntidf, .{ .name = "__floatuntidf", .linkage = linkage }); |
| 337 | const __floatuntisf = @import("compiler_rt/floatuntisf.zig").__floatuntisf; |
| 338 | @export(__floatuntisf, .{ .name = "__floatuntisf", .linkage = linkage }); |
| 339 | |
| 340 | const __truncsfhf2 = @import("compiler_rt/truncXfYf2.zig").__truncsfhf2; |
| 341 | @export(__truncsfhf2, .{ .name = "__truncsfhf2", .linkage = linkage }); |
| 342 | if (!is_test) { |
| 343 | @export(__truncsfhf2, .{ .name = "__gnu_f2h_ieee", .linkage = linkage }); |
| 344 | } |
| 345 | const __extendsfdf2 = @import("compiler_rt/extendXfYf2.zig").__extendsfdf2; |
| 346 | @export(__extendsfdf2, .{ .name = "__extendsfdf2", .linkage = linkage }); |
| 347 | |
| 348 | // Integral / floating point conversion (part 2/2) |
| 349 | const __fixunssfsi = @import("compiler_rt/fixunssfsi.zig").__fixunssfsi; |
| 350 | @export(__fixunssfsi, .{ .name = "__fixunssfsi", .linkage = linkage }); |
| 351 | const __fixunssfdi = @import("compiler_rt/fixunssfdi.zig").__fixunssfdi; |
| 352 | @export(__fixunssfdi, .{ .name = "__fixunssfdi", .linkage = linkage }); |
| 353 | const __fixunssfti = @import("compiler_rt/fixunssfti.zig").__fixunssfti; |
| 354 | @export(__fixunssfti, .{ .name = "__fixunssfti", .linkage = linkage }); |
| 355 | |
| 356 | const __fixunsdfsi = @import("compiler_rt/fixunsdfsi.zig").__fixunsdfsi; |
| 357 | @export(__fixunsdfsi, .{ .name = "__fixunsdfsi", .linkage = linkage }); |
| 358 | const __fixunsdfdi = @import("compiler_rt/fixunsdfdi.zig").__fixunsdfdi; |
| 359 | @export(__fixunsdfdi, .{ .name = "__fixunsdfdi", .linkage = linkage }); |
| 360 | const __fixunsdfti = @import("compiler_rt/fixunsdfti.zig").__fixunsdfti; |
| 361 | @export(__fixunsdfti, .{ .name = "__fixunsdfti", .linkage = linkage }); |
| 362 | |
| 363 | const __fixunstfsi = @import("compiler_rt/fixunstfsi.zig").__fixunstfsi; |
| 364 | @export(__fixunstfsi, .{ .name = "__fixunstfsi", .linkage = linkage }); |
| 365 | const __fixunstfdi = @import("compiler_rt/fixunstfdi.zig").__fixunstfdi; |
| 366 | @export(__fixunstfdi, .{ .name = "__fixunstfdi", .linkage = linkage }); |
| 367 | const __fixunstfti = @import("compiler_rt/fixunstfti.zig").__fixunstfti; |
| 368 | @export(__fixunstfti, .{ .name = "__fixunstfti", .linkage = linkage }); |
| 369 | |
| 370 | const __fixdfdi = @import("compiler_rt/fixdfdi.zig").__fixdfdi; |
| 371 | @export(__fixdfdi, .{ .name = "__fixdfdi", .linkage = linkage }); |
| 372 | const __fixdfsi = @import("compiler_rt/fixdfsi.zig").__fixdfsi; |
| 373 | @export(__fixdfsi, .{ .name = "__fixdfsi", .linkage = linkage }); |
| 374 | const __fixdfti = @import("compiler_rt/fixdfti.zig").__fixdfti; |
| 375 | @export(__fixdfti, .{ .name = "__fixdfti", .linkage = linkage }); |
| 376 | const __fixsfdi = @import("compiler_rt/fixsfdi.zig").__fixsfdi; |
| 377 | @export(__fixsfdi, .{ .name = "__fixsfdi", .linkage = linkage }); |
| 378 | const __fixsfsi = @import("compiler_rt/fixsfsi.zig").__fixsfsi; |
| 379 | @export(__fixsfsi, .{ .name = "__fixsfsi", .linkage = linkage }); |
| 380 | const __fixsfti = @import("compiler_rt/fixsfti.zig").__fixsfti; |
| 381 | @export(__fixsfti, .{ .name = "__fixsfti", .linkage = linkage }); |
| 382 | const __fixtfdi = @import("compiler_rt/fixtfdi.zig").__fixtfdi; |
| 383 | @export(__fixtfdi, .{ .name = "__fixtfdi", .linkage = linkage }); |
| 384 | const __fixtfsi = @import("compiler_rt/fixtfsi.zig").__fixtfsi; |
| 385 | @export(__fixtfsi, .{ .name = "__fixtfsi", .linkage = linkage }); |
| 386 | const __fixtfti = @import("compiler_rt/fixtfti.zig").__fixtfti; |
| 387 | @export(__fixtfti, .{ .name = "__fixtfti", .linkage = linkage }); |
| 388 | |
| 389 | const __udivmoddi4 = @import("compiler_rt/int.zig").__udivmoddi4; |
| 390 | @export(__udivmoddi4, .{ .name = "__udivmoddi4", .linkage = linkage }); |
| 391 | |
| 392 | if (is_darwin) { |
| 393 | const __isPlatformVersionAtLeast = @import("compiler_rt/os_version_check.zig").__isPlatformVersionAtLeast; |
| 394 | @export(__isPlatformVersionAtLeast, .{ .name = "__isPlatformVersionAtLeast", .linkage = linkage }); |
| 395 | } |
| 384 | 396 | |
| 385 | | // Integral arithmetic |
| 386 | | const __negsi2 = @import("compiler_rt/negXi2.zig").__negsi2; |
| 387 | | @export(__negsi2, .{ .name = "__negsi2", .linkage = linkage }); |
| 388 | | const __negdi2 = @import("compiler_rt/negXi2.zig").__negdi2; |
| 389 | | @export(__negdi2, .{ .name = "__negdi2", .linkage = linkage }); |
| 390 | | const __negti2 = @import("compiler_rt/negXi2.zig").__negti2; |
| 391 | | @export(__negti2, .{ .name = "__negti2", .linkage = linkage }); |
| 392 | | const __mulsi3 = @import("compiler_rt/int.zig").__mulsi3; |
| 393 | | @export(__mulsi3, .{ .name = "__mulsi3", .linkage = linkage }); |
| 394 | | const __muldi3 = @import("compiler_rt/muldi3.zig").__muldi3; |
| 395 | | @export(__muldi3, .{ .name = "__muldi3", .linkage = linkage }); |
| 396 | | const __divmoddi4 = @import("compiler_rt/int.zig").__divmoddi4; |
| 397 | | @export(__divmoddi4, .{ .name = "__divmoddi4", .linkage = linkage }); |
| 398 | | const __divsi3 = @import("compiler_rt/int.zig").__divsi3; |
| 399 | | @export(__divsi3, .{ .name = "__divsi3", .linkage = linkage }); |
| 400 | | const __divdi3 = @import("compiler_rt/int.zig").__divdi3; |
| 401 | | @export(__divdi3, .{ .name = "__divdi3", .linkage = linkage }); |
| 402 | | const __udivsi3 = @import("compiler_rt/int.zig").__udivsi3; |
| 403 | | @export(__udivsi3, .{ .name = "__udivsi3", .linkage = linkage }); |
| 404 | | const __udivdi3 = @import("compiler_rt/int.zig").__udivdi3; |
| 405 | | @export(__udivdi3, .{ .name = "__udivdi3", .linkage = linkage }); |
| 406 | | const __modsi3 = @import("compiler_rt/int.zig").__modsi3; |
| 407 | | @export(__modsi3, .{ .name = "__modsi3", .linkage = linkage }); |
| 408 | | const __moddi3 = @import("compiler_rt/int.zig").__moddi3; |
| 409 | | @export(__moddi3, .{ .name = "__moddi3", .linkage = linkage }); |
| 410 | | const __umodsi3 = @import("compiler_rt/int.zig").__umodsi3; |
| 411 | | @export(__umodsi3, .{ .name = "__umodsi3", .linkage = linkage }); |
| 412 | | const __umoddi3 = @import("compiler_rt/int.zig").__umoddi3; |
| 413 | | @export(__umoddi3, .{ .name = "__umoddi3", .linkage = linkage }); |
| 414 | | const __divmodsi4 = @import("compiler_rt/int.zig").__divmodsi4; |
| 415 | | @export(__divmodsi4, .{ .name = "__divmodsi4", .linkage = linkage }); |
| 416 | | const __udivmodsi4 = @import("compiler_rt/int.zig").__udivmodsi4; |
| 417 | | @export(__udivmodsi4, .{ .name = "__udivmodsi4", .linkage = linkage }); |
| 418 | | |
| 419 | | // Integral arithmetic with trapping overflow |
| 420 | | const __absvsi2 = @import("compiler_rt/absv.zig").__absvsi2; |
| 421 | | @export(__absvsi2, .{ .name = "__absvsi2", .linkage = linkage }); |
| 422 | | const __absvdi2 = @import("compiler_rt/absv.zig").__absvdi2; |
| 423 | | @export(__absvdi2, .{ .name = "__absvdi2", .linkage = linkage }); |
| 424 | | const __absvti2 = @import("compiler_rt/absv.zig").__absvti2; |
| 425 | | @export(__absvti2, .{ .name = "__absvti2", .linkage = linkage }); |
| 426 | | const __negvsi2 = @import("compiler_rt/negv.zig").__negvsi2; |
| 427 | | @export(__negvsi2, .{ .name = "__negvsi2", .linkage = linkage }); |
| 428 | | const __negvdi2 = @import("compiler_rt/negv.zig").__negvdi2; |
| 429 | | @export(__negvdi2, .{ .name = "__negvdi2", .linkage = linkage }); |
| 430 | | const __negvti2 = @import("compiler_rt/negv.zig").__negvti2; |
| 431 | | @export(__negvti2, .{ .name = "__negvti2", .linkage = linkage }); |
| 432 | | |
| 433 | | // missing: Integral arithmetic which returns if overflow |
| 434 | | |
| 435 | | // Integral comparison |
| 436 | | // (a < b) => 0 |
| 437 | | // (a == b) => 1 |
| 438 | | // (a > b) => 2 |
| 439 | | const __cmpsi2 = @import("compiler_rt/cmp.zig").__cmpsi2; |
| 440 | | @export(__cmpsi2, .{ .name = "__cmpsi2", .linkage = linkage }); |
| 441 | | const __cmpdi2 = @import("compiler_rt/cmp.zig").__cmpdi2; |
| 442 | | @export(__cmpdi2, .{ .name = "__cmpdi2", .linkage = linkage }); |
| 443 | | const __cmpti2 = @import("compiler_rt/cmp.zig").__cmpti2; |
| 444 | | @export(__cmpti2, .{ .name = "__cmpti2", .linkage = linkage }); |
| 445 | | const __ucmpsi2 = @import("compiler_rt/cmp.zig").__ucmpsi2; |
| 446 | | @export(__ucmpsi2, .{ .name = "__ucmpsi2", .linkage = linkage }); |
| 447 | | const __ucmpdi2 = @import("compiler_rt/cmp.zig").__ucmpdi2; |
| 448 | | @export(__ucmpdi2, .{ .name = "__ucmpdi2", .linkage = linkage }); |
| 449 | | const __ucmpti2 = @import("compiler_rt/cmp.zig").__ucmpti2; |
| 450 | | @export(__ucmpti2, .{ .name = "__ucmpti2", .linkage = linkage }); |
| 451 | | |
| 452 | | // missing: Floating point raised to integer power |
| 453 | | |
| 454 | | // missing: Complex arithmetic |
| 455 | | // (a + ib) * (c + id) |
| 456 | | // (a + ib) / (c + id) |
| 457 | | |
| 458 | | const __negsf2 = @import("compiler_rt/negXf2.zig").__negsf2; |
| 459 | | @export(__negsf2, .{ .name = "__negsf2", .linkage = linkage }); |
| 460 | | const __negdf2 = @import("compiler_rt/negXf2.zig").__negdf2; |
| 461 | | @export(__negdf2, .{ .name = "__negdf2", .linkage = linkage }); |
| 462 | | |
| 463 | | if (builtin.link_libc and os_tag == .openbsd) { |
| 464 | | const __emutls_get_address = @import("compiler_rt/emutls.zig").__emutls_get_address; |
| 465 | | @export(__emutls_get_address, .{ .name = "__emutls_get_address", .linkage = linkage }); |
| 466 | | } |
| 397 | // Integral arithmetic |
| 398 | const __negsi2 = @import("compiler_rt/negXi2.zig").__negsi2; |
| 399 | @export(__negsi2, .{ .name = "__negsi2", .linkage = linkage }); |
| 400 | const __negdi2 = @import("compiler_rt/negXi2.zig").__negdi2; |
| 401 | @export(__negdi2, .{ .name = "__negdi2", .linkage = linkage }); |
| 402 | const __negti2 = @import("compiler_rt/negXi2.zig").__negti2; |
| 403 | @export(__negti2, .{ .name = "__negti2", .linkage = linkage }); |
| 404 | const __mulsi3 = @import("compiler_rt/int.zig").__mulsi3; |
| 405 | @export(__mulsi3, .{ .name = "__mulsi3", .linkage = linkage }); |
| 406 | const __muldi3 = @import("compiler_rt/muldi3.zig").__muldi3; |
| 407 | @export(__muldi3, .{ .name = "__muldi3", .linkage = linkage }); |
| 408 | const __divmoddi4 = @import("compiler_rt/int.zig").__divmoddi4; |
| 409 | @export(__divmoddi4, .{ .name = "__divmoddi4", .linkage = linkage }); |
| 410 | const __divsi3 = @import("compiler_rt/int.zig").__divsi3; |
| 411 | @export(__divsi3, .{ .name = "__divsi3", .linkage = linkage }); |
| 412 | const __divdi3 = @import("compiler_rt/int.zig").__divdi3; |
| 413 | @export(__divdi3, .{ .name = "__divdi3", .linkage = linkage }); |
| 414 | const __udivsi3 = @import("compiler_rt/int.zig").__udivsi3; |
| 415 | @export(__udivsi3, .{ .name = "__udivsi3", .linkage = linkage }); |
| 416 | const __udivdi3 = @import("compiler_rt/int.zig").__udivdi3; |
| 417 | @export(__udivdi3, .{ .name = "__udivdi3", .linkage = linkage }); |
| 418 | const __modsi3 = @import("compiler_rt/int.zig").__modsi3; |
| 419 | @export(__modsi3, .{ .name = "__modsi3", .linkage = linkage }); |
| 420 | const __moddi3 = @import("compiler_rt/int.zig").__moddi3; |
| 421 | @export(__moddi3, .{ .name = "__moddi3", .linkage = linkage }); |
| 422 | const __umodsi3 = @import("compiler_rt/int.zig").__umodsi3; |
| 423 | @export(__umodsi3, .{ .name = "__umodsi3", .linkage = linkage }); |
| 424 | const __umoddi3 = @import("compiler_rt/int.zig").__umoddi3; |
| 425 | @export(__umoddi3, .{ .name = "__umoddi3", .linkage = linkage }); |
| 426 | const __divmodsi4 = @import("compiler_rt/int.zig").__divmodsi4; |
| 427 | @export(__divmodsi4, .{ .name = "__divmodsi4", .linkage = linkage }); |
| 428 | const __udivmodsi4 = @import("compiler_rt/int.zig").__udivmodsi4; |
| 429 | @export(__udivmodsi4, .{ .name = "__udivmodsi4", .linkage = linkage }); |
| 430 | |
| 431 | // Integral arithmetic with trapping overflow |
| 432 | const __absvsi2 = @import("compiler_rt/absv.zig").__absvsi2; |
| 433 | @export(__absvsi2, .{ .name = "__absvsi2", .linkage = linkage }); |
| 434 | const __absvdi2 = @import("compiler_rt/absv.zig").__absvdi2; |
| 435 | @export(__absvdi2, .{ .name = "__absvdi2", .linkage = linkage }); |
| 436 | const __absvti2 = @import("compiler_rt/absv.zig").__absvti2; |
| 437 | @export(__absvti2, .{ .name = "__absvti2", .linkage = linkage }); |
| 438 | const __negvsi2 = @import("compiler_rt/negv.zig").__negvsi2; |
| 439 | @export(__negvsi2, .{ .name = "__negvsi2", .linkage = linkage }); |
| 440 | const __negvdi2 = @import("compiler_rt/negv.zig").__negvdi2; |
| 441 | @export(__negvdi2, .{ .name = "__negvdi2", .linkage = linkage }); |
| 442 | const __negvti2 = @import("compiler_rt/negv.zig").__negvti2; |
| 443 | @export(__negvti2, .{ .name = "__negvti2", .linkage = linkage }); |
| 444 | |
| 445 | // missing: Integral arithmetic which returns if overflow |
| 446 | |
| 447 | // Integral comparison |
| 448 | // (a < b) => 0 |
| 449 | // (a == b) => 1 |
| 450 | // (a > b) => 2 |
| 451 | const __cmpsi2 = @import("compiler_rt/cmp.zig").__cmpsi2; |
| 452 | @export(__cmpsi2, .{ .name = "__cmpsi2", .linkage = linkage }); |
| 453 | const __cmpdi2 = @import("compiler_rt/cmp.zig").__cmpdi2; |
| 454 | @export(__cmpdi2, .{ .name = "__cmpdi2", .linkage = linkage }); |
| 455 | const __cmpti2 = @import("compiler_rt/cmp.zig").__cmpti2; |
| 456 | @export(__cmpti2, .{ .name = "__cmpti2", .linkage = linkage }); |
| 457 | const __ucmpsi2 = @import("compiler_rt/cmp.zig").__ucmpsi2; |
| 458 | @export(__ucmpsi2, .{ .name = "__ucmpsi2", .linkage = linkage }); |
| 459 | const __ucmpdi2 = @import("compiler_rt/cmp.zig").__ucmpdi2; |
| 460 | @export(__ucmpdi2, .{ .name = "__ucmpdi2", .linkage = linkage }); |
| 461 | const __ucmpti2 = @import("compiler_rt/cmp.zig").__ucmpti2; |
| 462 | @export(__ucmpti2, .{ .name = "__ucmpti2", .linkage = linkage }); |
| 463 | |
| 464 | // missing: Floating point raised to integer power |
| 465 | |
| 466 | // missing: Complex arithmetic |
| 467 | // (a + ib) * (c + id) |
| 468 | // (a + ib) / (c + id) |
| 469 | |
| 470 | const __negsf2 = @import("compiler_rt/negXf2.zig").__negsf2; |
| 471 | @export(__negsf2, .{ .name = "__negsf2", .linkage = linkage }); |
| 472 | const __negdf2 = @import("compiler_rt/negXf2.zig").__negdf2; |
| 473 | @export(__negdf2, .{ .name = "__negdf2", .linkage = linkage }); |
| 474 | |
| 475 | if (builtin.link_libc and os_tag == .openbsd) { |
| 476 | const __emutls_get_address = @import("compiler_rt/emutls.zig").__emutls_get_address; |
| 477 | @export(__emutls_get_address, .{ .name = "__emutls_get_address", .linkage = linkage }); |
| 478 | } |
| 467 | 479 | |
| 468 | | if ((arch.isARM() or arch.isThumb()) and !is_test) { |
| 469 | | const __aeabi_unwind_cpp_pr0 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr0; |
| 470 | | @export(__aeabi_unwind_cpp_pr0, .{ .name = "__aeabi_unwind_cpp_pr0", .linkage = linkage }); |
| 471 | | const __aeabi_unwind_cpp_pr1 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr1; |
| 472 | | @export(__aeabi_unwind_cpp_pr1, .{ .name = "__aeabi_unwind_cpp_pr1", .linkage = linkage }); |
| 473 | | const __aeabi_unwind_cpp_pr2 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr2; |
| 474 | | @export(__aeabi_unwind_cpp_pr2, .{ .name = "__aeabi_unwind_cpp_pr2", .linkage = linkage }); |
| 475 | | |
| 476 | | @export(__muldi3, .{ .name = "__aeabi_lmul", .linkage = linkage }); |
| 477 | | |
| 478 | | const __aeabi_ldivmod = @import("compiler_rt/arm.zig").__aeabi_ldivmod; |
| 479 | | @export(__aeabi_ldivmod, .{ .name = "__aeabi_ldivmod", .linkage = linkage }); |
| 480 | | const __aeabi_uldivmod = @import("compiler_rt/arm.zig").__aeabi_uldivmod; |
| 481 | | @export(__aeabi_uldivmod, .{ .name = "__aeabi_uldivmod", .linkage = linkage }); |
| 482 | | |
| 483 | | @export(__divsi3, .{ .name = "__aeabi_idiv", .linkage = linkage }); |
| 484 | | const __aeabi_idivmod = @import("compiler_rt/arm.zig").__aeabi_idivmod; |
| 485 | | @export(__aeabi_idivmod, .{ .name = "__aeabi_idivmod", .linkage = linkage }); |
| 486 | | @export(__udivsi3, .{ .name = "__aeabi_uidiv", .linkage = linkage }); |
| 487 | | const __aeabi_uidivmod = @import("compiler_rt/arm.zig").__aeabi_uidivmod; |
| 488 | | @export(__aeabi_uidivmod, .{ .name = "__aeabi_uidivmod", .linkage = linkage }); |
| 489 | | |
| 490 | | const __aeabi_memcpy = @import("compiler_rt/arm.zig").__aeabi_memcpy; |
| 491 | | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy", .linkage = linkage }); |
| 492 | | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy4", .linkage = linkage }); |
| 493 | | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy8", .linkage = linkage }); |
| 494 | | |
| 495 | | const __aeabi_memmove = @import("compiler_rt/arm.zig").__aeabi_memmove; |
| 496 | | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove", .linkage = linkage }); |
| 497 | | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove4", .linkage = linkage }); |
| 498 | | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove8", .linkage = linkage }); |
| 499 | | |
| 500 | | const __aeabi_memset = @import("compiler_rt/arm.zig").__aeabi_memset; |
| 501 | | @export(__aeabi_memset, .{ .name = "__aeabi_memset", .linkage = linkage }); |
| 502 | | @export(__aeabi_memset, .{ .name = "__aeabi_memset4", .linkage = linkage }); |
| 503 | | @export(__aeabi_memset, .{ .name = "__aeabi_memset8", .linkage = linkage }); |
| 504 | | |
| 505 | | const __aeabi_memclr = @import("compiler_rt/arm.zig").__aeabi_memclr; |
| 506 | | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr", .linkage = linkage }); |
| 507 | | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr4", .linkage = linkage }); |
| 508 | | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr8", .linkage = linkage }); |
| 509 | | |
| 510 | | if (os_tag == .linux) { |
| 511 | | const __aeabi_read_tp = @import("compiler_rt/arm.zig").__aeabi_read_tp; |
| 512 | | @export(__aeabi_read_tp, .{ .name = "__aeabi_read_tp", .linkage = linkage }); |
| 513 | | } |
| 514 | | |
| 515 | | const __aeabi_f2d = @import("compiler_rt/extendXfYf2.zig").__aeabi_f2d; |
| 516 | | @export(__aeabi_f2d, .{ .name = "__aeabi_f2d", .linkage = linkage }); |
| 517 | | const __aeabi_i2d = @import("compiler_rt/floatsiXf.zig").__aeabi_i2d; |
| 518 | | @export(__aeabi_i2d, .{ .name = "__aeabi_i2d", .linkage = linkage }); |
| 519 | | const __aeabi_l2d = @import("compiler_rt/floatdidf.zig").__aeabi_l2d; |
| 520 | | @export(__aeabi_l2d, .{ .name = "__aeabi_l2d", .linkage = linkage }); |
| 521 | | const __aeabi_l2f = @import("compiler_rt/floatXisf.zig").__aeabi_l2f; |
| 522 | | @export(__aeabi_l2f, .{ .name = "__aeabi_l2f", .linkage = linkage }); |
| 523 | | const __aeabi_ui2d = @import("compiler_rt/floatunsidf.zig").__aeabi_ui2d; |
| 524 | | @export(__aeabi_ui2d, .{ .name = "__aeabi_ui2d", .linkage = linkage }); |
| 525 | | const __aeabi_ul2d = @import("compiler_rt/floatundidf.zig").__aeabi_ul2d; |
| 526 | | @export(__aeabi_ul2d, .{ .name = "__aeabi_ul2d", .linkage = linkage }); |
| 527 | | const __aeabi_ui2f = @import("compiler_rt/floatunsisf.zig").__aeabi_ui2f; |
| 528 | | @export(__aeabi_ui2f, .{ .name = "__aeabi_ui2f", .linkage = linkage }); |
| 529 | | const __aeabi_ul2f = @import("compiler_rt/floatundisf.zig").__aeabi_ul2f; |
| 530 | | @export(__aeabi_ul2f, .{ .name = "__aeabi_ul2f", .linkage = linkage }); |
| 531 | | |
| 532 | | const __aeabi_fneg = @import("compiler_rt/negXf2.zig").__aeabi_fneg; |
| 533 | | @export(__aeabi_fneg, .{ .name = "__aeabi_fneg", .linkage = linkage }); |
| 534 | | const __aeabi_dneg = @import("compiler_rt/negXf2.zig").__aeabi_dneg; |
| 535 | | @export(__aeabi_dneg, .{ .name = "__aeabi_dneg", .linkage = linkage }); |
| 536 | | |
| 537 | | const __aeabi_fmul = @import("compiler_rt/mulXf3.zig").__aeabi_fmul; |
| 538 | | @export(__aeabi_fmul, .{ .name = "__aeabi_fmul", .linkage = linkage }); |
| 539 | | const __aeabi_dmul = @import("compiler_rt/mulXf3.zig").__aeabi_dmul; |
| 540 | | @export(__aeabi_dmul, .{ .name = "__aeabi_dmul", .linkage = linkage }); |
| 541 | | |
| 542 | | const __aeabi_d2h = @import("compiler_rt/truncXfYf2.zig").__aeabi_d2h; |
| 543 | | @export(__aeabi_d2h, .{ .name = "__aeabi_d2h", .linkage = linkage }); |
| 544 | | |
| 545 | | const __aeabi_f2ulz = @import("compiler_rt/fixunssfdi.zig").__aeabi_f2ulz; |
| 546 | | @export(__aeabi_f2ulz, .{ .name = "__aeabi_f2ulz", .linkage = linkage }); |
| 547 | | const __aeabi_d2ulz = @import("compiler_rt/fixunsdfdi.zig").__aeabi_d2ulz; |
| 548 | | @export(__aeabi_d2ulz, .{ .name = "__aeabi_d2ulz", .linkage = linkage }); |
| 549 | | |
| 550 | | const __aeabi_f2lz = @import("compiler_rt/fixsfdi.zig").__aeabi_f2lz; |
| 551 | | @export(__aeabi_f2lz, .{ .name = "__aeabi_f2lz", .linkage = linkage }); |
| 552 | | const __aeabi_d2lz = @import("compiler_rt/fixdfdi.zig").__aeabi_d2lz; |
| 553 | | @export(__aeabi_d2lz, .{ .name = "__aeabi_d2lz", .linkage = linkage }); |
| 554 | | |
| 555 | | const __aeabi_d2uiz = @import("compiler_rt/fixunsdfsi.zig").__aeabi_d2uiz; |
| 556 | | @export(__aeabi_d2uiz, .{ .name = "__aeabi_d2uiz", .linkage = linkage }); |
| 557 | | |
| 558 | | const __aeabi_h2f = @import("compiler_rt/extendXfYf2.zig").__aeabi_h2f; |
| 559 | | @export(__aeabi_h2f, .{ .name = "__aeabi_h2f", .linkage = linkage }); |
| 560 | | const __aeabi_f2h = @import("compiler_rt/truncXfYf2.zig").__aeabi_f2h; |
| 561 | | @export(__aeabi_f2h, .{ .name = "__aeabi_f2h", .linkage = linkage }); |
| 562 | | |
| 563 | | const __aeabi_i2f = @import("compiler_rt/floatsiXf.zig").__aeabi_i2f; |
| 564 | | @export(__aeabi_i2f, .{ .name = "__aeabi_i2f", .linkage = linkage }); |
| 565 | | const __aeabi_d2f = @import("compiler_rt/truncXfYf2.zig").__aeabi_d2f; |
| 566 | | @export(__aeabi_d2f, .{ .name = "__aeabi_d2f", .linkage = linkage }); |
| 567 | | |
| 568 | | const __aeabi_fadd = @import("compiler_rt/addXf3.zig").__aeabi_fadd; |
| 569 | | @export(__aeabi_fadd, .{ .name = "__aeabi_fadd", .linkage = linkage }); |
| 570 | | const __aeabi_dadd = @import("compiler_rt/addXf3.zig").__aeabi_dadd; |
| 571 | | @export(__aeabi_dadd, .{ .name = "__aeabi_dadd", .linkage = linkage }); |
| 572 | | const __aeabi_fsub = @import("compiler_rt/addXf3.zig").__aeabi_fsub; |
| 573 | | @export(__aeabi_fsub, .{ .name = "__aeabi_fsub", .linkage = linkage }); |
| 574 | | const __aeabi_dsub = @import("compiler_rt/addXf3.zig").__aeabi_dsub; |
| 575 | | @export(__aeabi_dsub, .{ .name = "__aeabi_dsub", .linkage = linkage }); |
| 576 | | |
| 577 | | const __aeabi_f2uiz = @import("compiler_rt/fixunssfsi.zig").__aeabi_f2uiz; |
| 578 | | @export(__aeabi_f2uiz, .{ .name = "__aeabi_f2uiz", .linkage = linkage }); |
| 579 | | |
| 580 | | const __aeabi_f2iz = @import("compiler_rt/fixsfsi.zig").__aeabi_f2iz; |
| 581 | | @export(__aeabi_f2iz, .{ .name = "__aeabi_f2iz", .linkage = linkage }); |
| 582 | | const __aeabi_d2iz = @import("compiler_rt/fixdfsi.zig").__aeabi_d2iz; |
| 583 | | @export(__aeabi_d2iz, .{ .name = "__aeabi_d2iz", .linkage = linkage }); |
| 584 | | |
| 585 | | const __aeabi_fdiv = @import("compiler_rt/divsf3.zig").__aeabi_fdiv; |
| 586 | | @export(__aeabi_fdiv, .{ .name = "__aeabi_fdiv", .linkage = linkage }); |
| 587 | | const __aeabi_ddiv = @import("compiler_rt/divdf3.zig").__aeabi_ddiv; |
| 588 | | @export(__aeabi_ddiv, .{ .name = "__aeabi_ddiv", .linkage = linkage }); |
| 589 | | |
| 590 | | const __aeabi_llsl = @import("compiler_rt/shift.zig").__aeabi_llsl; |
| 591 | | @export(__aeabi_llsl, .{ .name = "__aeabi_llsl", .linkage = linkage }); |
| 592 | | const __aeabi_lasr = @import("compiler_rt/shift.zig").__aeabi_lasr; |
| 593 | | @export(__aeabi_lasr, .{ .name = "__aeabi_lasr", .linkage = linkage }); |
| 594 | | const __aeabi_llsr = @import("compiler_rt/shift.zig").__aeabi_llsr; |
| 595 | | @export(__aeabi_llsr, .{ .name = "__aeabi_llsr", .linkage = linkage }); |
| 596 | | |
| 597 | | const __aeabi_fcmpeq = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpeq; |
| 598 | | @export(__aeabi_fcmpeq, .{ .name = "__aeabi_fcmpeq", .linkage = linkage }); |
| 599 | | const __aeabi_fcmplt = @import("compiler_rt/compareXf2.zig").__aeabi_fcmplt; |
| 600 | | @export(__aeabi_fcmplt, .{ .name = "__aeabi_fcmplt", .linkage = linkage }); |
| 601 | | const __aeabi_fcmple = @import("compiler_rt/compareXf2.zig").__aeabi_fcmple; |
| 602 | | @export(__aeabi_fcmple, .{ .name = "__aeabi_fcmple", .linkage = linkage }); |
| 603 | | const __aeabi_fcmpge = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpge; |
| 604 | | @export(__aeabi_fcmpge, .{ .name = "__aeabi_fcmpge", .linkage = linkage }); |
| 605 | | const __aeabi_fcmpgt = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpgt; |
| 606 | | @export(__aeabi_fcmpgt, .{ .name = "__aeabi_fcmpgt", .linkage = linkage }); |
| 607 | | const __aeabi_fcmpun = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpun; |
| 608 | | @export(__aeabi_fcmpun, .{ .name = "__aeabi_fcmpun", .linkage = linkage }); |
| 609 | | |
| 610 | | const __aeabi_dcmpeq = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpeq; |
| 611 | | @export(__aeabi_dcmpeq, .{ .name = "__aeabi_dcmpeq", .linkage = linkage }); |
| 612 | | const __aeabi_dcmplt = @import("compiler_rt/compareXf2.zig").__aeabi_dcmplt; |
| 613 | | @export(__aeabi_dcmplt, .{ .name = "__aeabi_dcmplt", .linkage = linkage }); |
| 614 | | const __aeabi_dcmple = @import("compiler_rt/compareXf2.zig").__aeabi_dcmple; |
| 615 | | @export(__aeabi_dcmple, .{ .name = "__aeabi_dcmple", .linkage = linkage }); |
| 616 | | const __aeabi_dcmpge = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpge; |
| 617 | | @export(__aeabi_dcmpge, .{ .name = "__aeabi_dcmpge", .linkage = linkage }); |
| 618 | | const __aeabi_dcmpgt = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpgt; |
| 619 | | @export(__aeabi_dcmpgt, .{ .name = "__aeabi_dcmpgt", .linkage = linkage }); |
| 620 | | const __aeabi_dcmpun = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpun; |
| 621 | | @export(__aeabi_dcmpun, .{ .name = "__aeabi_dcmpun", .linkage = linkage }); |
| 480 | if ((arch.isARM() or arch.isThumb()) and !is_test) { |
| 481 | const __aeabi_unwind_cpp_pr0 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr0; |
| 482 | @export(__aeabi_unwind_cpp_pr0, .{ .name = "__aeabi_unwind_cpp_pr0", .linkage = linkage }); |
| 483 | const __aeabi_unwind_cpp_pr1 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr1; |
| 484 | @export(__aeabi_unwind_cpp_pr1, .{ .name = "__aeabi_unwind_cpp_pr1", .linkage = linkage }); |
| 485 | const __aeabi_unwind_cpp_pr2 = @import("compiler_rt/arm.zig").__aeabi_unwind_cpp_pr2; |
| 486 | @export(__aeabi_unwind_cpp_pr2, .{ .name = "__aeabi_unwind_cpp_pr2", .linkage = linkage }); |
| 487 | |
| 488 | @export(__muldi3, .{ .name = "__aeabi_lmul", .linkage = linkage }); |
| 489 | |
| 490 | const __aeabi_ldivmod = @import("compiler_rt/arm.zig").__aeabi_ldivmod; |
| 491 | @export(__aeabi_ldivmod, .{ .name = "__aeabi_ldivmod", .linkage = linkage }); |
| 492 | const __aeabi_uldivmod = @import("compiler_rt/arm.zig").__aeabi_uldivmod; |
| 493 | @export(__aeabi_uldivmod, .{ .name = "__aeabi_uldivmod", .linkage = linkage }); |
| 494 | |
| 495 | @export(__divsi3, .{ .name = "__aeabi_idiv", .linkage = linkage }); |
| 496 | const __aeabi_idivmod = @import("compiler_rt/arm.zig").__aeabi_idivmod; |
| 497 | @export(__aeabi_idivmod, .{ .name = "__aeabi_idivmod", .linkage = linkage }); |
| 498 | @export(__udivsi3, .{ .name = "__aeabi_uidiv", .linkage = linkage }); |
| 499 | const __aeabi_uidivmod = @import("compiler_rt/arm.zig").__aeabi_uidivmod; |
| 500 | @export(__aeabi_uidivmod, .{ .name = "__aeabi_uidivmod", .linkage = linkage }); |
| 501 | |
| 502 | const __aeabi_memcpy = @import("compiler_rt/arm.zig").__aeabi_memcpy; |
| 503 | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy", .linkage = linkage }); |
| 504 | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy4", .linkage = linkage }); |
| 505 | @export(__aeabi_memcpy, .{ .name = "__aeabi_memcpy8", .linkage = linkage }); |
| 506 | |
| 507 | const __aeabi_memmove = @import("compiler_rt/arm.zig").__aeabi_memmove; |
| 508 | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove", .linkage = linkage }); |
| 509 | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove4", .linkage = linkage }); |
| 510 | @export(__aeabi_memmove, .{ .name = "__aeabi_memmove8", .linkage = linkage }); |
| 511 | |
| 512 | const __aeabi_memset = @import("compiler_rt/arm.zig").__aeabi_memset; |
| 513 | @export(__aeabi_memset, .{ .name = "__aeabi_memset", .linkage = linkage }); |
| 514 | @export(__aeabi_memset, .{ .name = "__aeabi_memset4", .linkage = linkage }); |
| 515 | @export(__aeabi_memset, .{ .name = "__aeabi_memset8", .linkage = linkage }); |
| 516 | |
| 517 | const __aeabi_memclr = @import("compiler_rt/arm.zig").__aeabi_memclr; |
| 518 | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr", .linkage = linkage }); |
| 519 | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr4", .linkage = linkage }); |
| 520 | @export(__aeabi_memclr, .{ .name = "__aeabi_memclr8", .linkage = linkage }); |
| 521 | |
| 522 | if (os_tag == .linux) { |
| 523 | const __aeabi_read_tp = @import("compiler_rt/arm.zig").__aeabi_read_tp; |
| 524 | @export(__aeabi_read_tp, .{ .name = "__aeabi_read_tp", .linkage = linkage }); |
| 622 | 525 | } |
| 623 | 526 | |
| 624 | | if (arch == .i386 and abi == .msvc) { |
| 625 | | // Don't let LLVM apply the stdcall name mangling on those MSVC builtins |
| 626 | | const _alldiv = @import("compiler_rt/aulldiv.zig")._alldiv; |
| 627 | | @export(_alldiv, .{ .name = "\x01__alldiv", .linkage = strong_linkage }); |
| 628 | | const _aulldiv = @import("compiler_rt/aulldiv.zig")._aulldiv; |
| 629 | | @export(_aulldiv, .{ .name = "\x01__aulldiv", .linkage = strong_linkage }); |
| 630 | | const _allrem = @import("compiler_rt/aullrem.zig")._allrem; |
| 631 | | @export(_allrem, .{ .name = "\x01__allrem", .linkage = strong_linkage }); |
| 632 | | const _aullrem = @import("compiler_rt/aullrem.zig")._aullrem; |
| 633 | | @export(_aullrem, .{ .name = "\x01__aullrem", .linkage = strong_linkage }); |
| 634 | | } |
| 527 | const __aeabi_f2d = @import("compiler_rt/extendXfYf2.zig").__aeabi_f2d; |
| 528 | @export(__aeabi_f2d, .{ .name = "__aeabi_f2d", .linkage = linkage }); |
| 529 | const __aeabi_i2d = @import("compiler_rt/floatsiXf.zig").__aeabi_i2d; |
| 530 | @export(__aeabi_i2d, .{ .name = "__aeabi_i2d", .linkage = linkage }); |
| 531 | const __aeabi_l2d = @import("compiler_rt/floatdidf.zig").__aeabi_l2d; |
| 532 | @export(__aeabi_l2d, .{ .name = "__aeabi_l2d", .linkage = linkage }); |
| 533 | const __aeabi_l2f = @import("compiler_rt/floatXisf.zig").__aeabi_l2f; |
| 534 | @export(__aeabi_l2f, .{ .name = "__aeabi_l2f", .linkage = linkage }); |
| 535 | const __aeabi_ui2d = @import("compiler_rt/floatunsidf.zig").__aeabi_ui2d; |
| 536 | @export(__aeabi_ui2d, .{ .name = "__aeabi_ui2d", .linkage = linkage }); |
| 537 | const __aeabi_ul2d = @import("compiler_rt/floatundidf.zig").__aeabi_ul2d; |
| 538 | @export(__aeabi_ul2d, .{ .name = "__aeabi_ul2d", .linkage = linkage }); |
| 539 | const __aeabi_ui2f = @import("compiler_rt/floatunsisf.zig").__aeabi_ui2f; |
| 540 | @export(__aeabi_ui2f, .{ .name = "__aeabi_ui2f", .linkage = linkage }); |
| 541 | const __aeabi_ul2f = @import("compiler_rt/floatundisf.zig").__aeabi_ul2f; |
| 542 | @export(__aeabi_ul2f, .{ .name = "__aeabi_ul2f", .linkage = linkage }); |
| 543 | |
| 544 | const __aeabi_fneg = @import("compiler_rt/negXf2.zig").__aeabi_fneg; |
| 545 | @export(__aeabi_fneg, .{ .name = "__aeabi_fneg", .linkage = linkage }); |
| 546 | const __aeabi_dneg = @import("compiler_rt/negXf2.zig").__aeabi_dneg; |
| 547 | @export(__aeabi_dneg, .{ .name = "__aeabi_dneg", .linkage = linkage }); |
| 548 | |
| 549 | const __aeabi_fmul = @import("compiler_rt/mulXf3.zig").__aeabi_fmul; |
| 550 | @export(__aeabi_fmul, .{ .name = "__aeabi_fmul", .linkage = linkage }); |
| 551 | const __aeabi_dmul = @import("compiler_rt/mulXf3.zig").__aeabi_dmul; |
| 552 | @export(__aeabi_dmul, .{ .name = "__aeabi_dmul", .linkage = linkage }); |
| 553 | |
| 554 | const __aeabi_d2h = @import("compiler_rt/truncXfYf2.zig").__aeabi_d2h; |
| 555 | @export(__aeabi_d2h, .{ .name = "__aeabi_d2h", .linkage = linkage }); |
| 556 | |
| 557 | const __aeabi_f2ulz = @import("compiler_rt/fixunssfdi.zig").__aeabi_f2ulz; |
| 558 | @export(__aeabi_f2ulz, .{ .name = "__aeabi_f2ulz", .linkage = linkage }); |
| 559 | const __aeabi_d2ulz = @import("compiler_rt/fixunsdfdi.zig").__aeabi_d2ulz; |
| 560 | @export(__aeabi_d2ulz, .{ .name = "__aeabi_d2ulz", .linkage = linkage }); |
| 561 | |
| 562 | const __aeabi_f2lz = @import("compiler_rt/fixsfdi.zig").__aeabi_f2lz; |
| 563 | @export(__aeabi_f2lz, .{ .name = "__aeabi_f2lz", .linkage = linkage }); |
| 564 | const __aeabi_d2lz = @import("compiler_rt/fixdfdi.zig").__aeabi_d2lz; |
| 565 | @export(__aeabi_d2lz, .{ .name = "__aeabi_d2lz", .linkage = linkage }); |
| 566 | |
| 567 | const __aeabi_d2uiz = @import("compiler_rt/fixunsdfsi.zig").__aeabi_d2uiz; |
| 568 | @export(__aeabi_d2uiz, .{ .name = "__aeabi_d2uiz", .linkage = linkage }); |
| 569 | |
| 570 | const __aeabi_h2f = @import("compiler_rt/extendXfYf2.zig").__aeabi_h2f; |
| 571 | @export(__aeabi_h2f, .{ .name = "__aeabi_h2f", .linkage = linkage }); |
| 572 | const __aeabi_f2h = @import("compiler_rt/truncXfYf2.zig").__aeabi_f2h; |
| 573 | @export(__aeabi_f2h, .{ .name = "__aeabi_f2h", .linkage = linkage }); |
| 574 | |
| 575 | const __aeabi_i2f = @import("compiler_rt/floatsiXf.zig").__aeabi_i2f; |
| 576 | @export(__aeabi_i2f, .{ .name = "__aeabi_i2f", .linkage = linkage }); |
| 577 | const __aeabi_d2f = @import("compiler_rt/truncXfYf2.zig").__aeabi_d2f; |
| 578 | @export(__aeabi_d2f, .{ .name = "__aeabi_d2f", .linkage = linkage }); |
| 579 | |
| 580 | const __aeabi_fadd = @import("compiler_rt/addXf3.zig").__aeabi_fadd; |
| 581 | @export(__aeabi_fadd, .{ .name = "__aeabi_fadd", .linkage = linkage }); |
| 582 | const __aeabi_dadd = @import("compiler_rt/addXf3.zig").__aeabi_dadd; |
| 583 | @export(__aeabi_dadd, .{ .name = "__aeabi_dadd", .linkage = linkage }); |
| 584 | const __aeabi_fsub = @import("compiler_rt/addXf3.zig").__aeabi_fsub; |
| 585 | @export(__aeabi_fsub, .{ .name = "__aeabi_fsub", .linkage = linkage }); |
| 586 | const __aeabi_dsub = @import("compiler_rt/addXf3.zig").__aeabi_dsub; |
| 587 | @export(__aeabi_dsub, .{ .name = "__aeabi_dsub", .linkage = linkage }); |
| 588 | |
| 589 | const __aeabi_f2uiz = @import("compiler_rt/fixunssfsi.zig").__aeabi_f2uiz; |
| 590 | @export(__aeabi_f2uiz, .{ .name = "__aeabi_f2uiz", .linkage = linkage }); |
| 591 | |
| 592 | const __aeabi_f2iz = @import("compiler_rt/fixsfsi.zig").__aeabi_f2iz; |
| 593 | @export(__aeabi_f2iz, .{ .name = "__aeabi_f2iz", .linkage = linkage }); |
| 594 | const __aeabi_d2iz = @import("compiler_rt/fixdfsi.zig").__aeabi_d2iz; |
| 595 | @export(__aeabi_d2iz, .{ .name = "__aeabi_d2iz", .linkage = linkage }); |
| 596 | |
| 597 | const __aeabi_fdiv = @import("compiler_rt/divsf3.zig").__aeabi_fdiv; |
| 598 | @export(__aeabi_fdiv, .{ .name = "__aeabi_fdiv", .linkage = linkage }); |
| 599 | const __aeabi_ddiv = @import("compiler_rt/divdf3.zig").__aeabi_ddiv; |
| 600 | @export(__aeabi_ddiv, .{ .name = "__aeabi_ddiv", .linkage = linkage }); |
| 601 | |
| 602 | const __aeabi_llsl = @import("compiler_rt/shift.zig").__aeabi_llsl; |
| 603 | @export(__aeabi_llsl, .{ .name = "__aeabi_llsl", .linkage = linkage }); |
| 604 | const __aeabi_lasr = @import("compiler_rt/shift.zig").__aeabi_lasr; |
| 605 | @export(__aeabi_lasr, .{ .name = "__aeabi_lasr", .linkage = linkage }); |
| 606 | const __aeabi_llsr = @import("compiler_rt/shift.zig").__aeabi_llsr; |
| 607 | @export(__aeabi_llsr, .{ .name = "__aeabi_llsr", .linkage = linkage }); |
| 608 | |
| 609 | const __aeabi_fcmpeq = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpeq; |
| 610 | @export(__aeabi_fcmpeq, .{ .name = "__aeabi_fcmpeq", .linkage = linkage }); |
| 611 | const __aeabi_fcmplt = @import("compiler_rt/compareXf2.zig").__aeabi_fcmplt; |
| 612 | @export(__aeabi_fcmplt, .{ .name = "__aeabi_fcmplt", .linkage = linkage }); |
| 613 | const __aeabi_fcmple = @import("compiler_rt/compareXf2.zig").__aeabi_fcmple; |
| 614 | @export(__aeabi_fcmple, .{ .name = "__aeabi_fcmple", .linkage = linkage }); |
| 615 | const __aeabi_fcmpge = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpge; |
| 616 | @export(__aeabi_fcmpge, .{ .name = "__aeabi_fcmpge", .linkage = linkage }); |
| 617 | const __aeabi_fcmpgt = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpgt; |
| 618 | @export(__aeabi_fcmpgt, .{ .name = "__aeabi_fcmpgt", .linkage = linkage }); |
| 619 | const __aeabi_fcmpun = @import("compiler_rt/compareXf2.zig").__aeabi_fcmpun; |
| 620 | @export(__aeabi_fcmpun, .{ .name = "__aeabi_fcmpun", .linkage = linkage }); |
| 621 | |
| 622 | const __aeabi_dcmpeq = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpeq; |
| 623 | @export(__aeabi_dcmpeq, .{ .name = "__aeabi_dcmpeq", .linkage = linkage }); |
| 624 | const __aeabi_dcmplt = @import("compiler_rt/compareXf2.zig").__aeabi_dcmplt; |
| 625 | @export(__aeabi_dcmplt, .{ .name = "__aeabi_dcmplt", .linkage = linkage }); |
| 626 | const __aeabi_dcmple = @import("compiler_rt/compareXf2.zig").__aeabi_dcmple; |
| 627 | @export(__aeabi_dcmple, .{ .name = "__aeabi_dcmple", .linkage = linkage }); |
| 628 | const __aeabi_dcmpge = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpge; |
| 629 | @export(__aeabi_dcmpge, .{ .name = "__aeabi_dcmpge", .linkage = linkage }); |
| 630 | const __aeabi_dcmpgt = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpgt; |
| 631 | @export(__aeabi_dcmpgt, .{ .name = "__aeabi_dcmpgt", .linkage = linkage }); |
| 632 | const __aeabi_dcmpun = @import("compiler_rt/compareXf2.zig").__aeabi_dcmpun; |
| 633 | @export(__aeabi_dcmpun, .{ .name = "__aeabi_dcmpun", .linkage = linkage }); |
| 634 | } |
| 635 | 635 | |
| 636 | | if (arch.isSPARC()) { |
| 637 | | // SPARC systems use a different naming scheme |
| 638 | | const _Qp_add = @import("compiler_rt/sparc.zig")._Qp_add; |
| 639 | | @export(_Qp_add, .{ .name = "_Qp_add", .linkage = linkage }); |
| 640 | | const _Qp_div = @import("compiler_rt/sparc.zig")._Qp_div; |
| 641 | | @export(_Qp_div, .{ .name = "_Qp_div", .linkage = linkage }); |
| 642 | | const _Qp_mul = @import("compiler_rt/sparc.zig")._Qp_mul; |
| 643 | | @export(_Qp_mul, .{ .name = "_Qp_mul", .linkage = linkage }); |
| 644 | | const _Qp_sub = @import("compiler_rt/sparc.zig")._Qp_sub; |
| 645 | | @export(_Qp_sub, .{ .name = "_Qp_sub", .linkage = linkage }); |
| 646 | | |
| 647 | | const _Qp_cmp = @import("compiler_rt/sparc.zig")._Qp_cmp; |
| 648 | | @export(_Qp_cmp, .{ .name = "_Qp_cmp", .linkage = linkage }); |
| 649 | | const _Qp_feq = @import("compiler_rt/sparc.zig")._Qp_feq; |
| 650 | | @export(_Qp_feq, .{ .name = "_Qp_feq", .linkage = linkage }); |
| 651 | | const _Qp_fne = @import("compiler_rt/sparc.zig")._Qp_fne; |
| 652 | | @export(_Qp_fne, .{ .name = "_Qp_fne", .linkage = linkage }); |
| 653 | | const _Qp_flt = @import("compiler_rt/sparc.zig")._Qp_flt; |
| 654 | | @export(_Qp_flt, .{ .name = "_Qp_flt", .linkage = linkage }); |
| 655 | | const _Qp_fle = @import("compiler_rt/sparc.zig")._Qp_fle; |
| 656 | | @export(_Qp_fle, .{ .name = "_Qp_fle", .linkage = linkage }); |
| 657 | | const _Qp_fgt = @import("compiler_rt/sparc.zig")._Qp_fgt; |
| 658 | | @export(_Qp_fgt, .{ .name = "_Qp_fgt", .linkage = linkage }); |
| 659 | | const _Qp_fge = @import("compiler_rt/sparc.zig")._Qp_fge; |
| 660 | | @export(_Qp_fge, .{ .name = "_Qp_fge", .linkage = linkage }); |
| 661 | | |
| 662 | | const _Qp_itoq = @import("compiler_rt/sparc.zig")._Qp_itoq; |
| 663 | | @export(_Qp_itoq, .{ .name = "_Qp_itoq", .linkage = linkage }); |
| 664 | | const _Qp_uitoq = @import("compiler_rt/sparc.zig")._Qp_uitoq; |
| 665 | | @export(_Qp_uitoq, .{ .name = "_Qp_uitoq", .linkage = linkage }); |
| 666 | | const _Qp_xtoq = @import("compiler_rt/sparc.zig")._Qp_xtoq; |
| 667 | | @export(_Qp_xtoq, .{ .name = "_Qp_xtoq", .linkage = linkage }); |
| 668 | | const _Qp_uxtoq = @import("compiler_rt/sparc.zig")._Qp_uxtoq; |
| 669 | | @export(_Qp_uxtoq, .{ .name = "_Qp_uxtoq", .linkage = linkage }); |
| 670 | | const _Qp_stoq = @import("compiler_rt/sparc.zig")._Qp_stoq; |
| 671 | | @export(_Qp_stoq, .{ .name = "_Qp_stoq", .linkage = linkage }); |
| 672 | | const _Qp_dtoq = @import("compiler_rt/sparc.zig")._Qp_dtoq; |
| 673 | | @export(_Qp_dtoq, .{ .name = "_Qp_dtoq", .linkage = linkage }); |
| 674 | | const _Qp_qtoi = @import("compiler_rt/sparc.zig")._Qp_qtoi; |
| 675 | | @export(_Qp_qtoi, .{ .name = "_Qp_qtoi", .linkage = linkage }); |
| 676 | | const _Qp_qtoui = @import("compiler_rt/sparc.zig")._Qp_qtoui; |
| 677 | | @export(_Qp_qtoui, .{ .name = "_Qp_qtoui", .linkage = linkage }); |
| 678 | | const _Qp_qtox = @import("compiler_rt/sparc.zig")._Qp_qtox; |
| 679 | | @export(_Qp_qtox, .{ .name = "_Qp_qtox", .linkage = linkage }); |
| 680 | | const _Qp_qtoux = @import("compiler_rt/sparc.zig")._Qp_qtoux; |
| 681 | | @export(_Qp_qtoux, .{ .name = "_Qp_qtoux", .linkage = linkage }); |
| 682 | | const _Qp_qtos = @import("compiler_rt/sparc.zig")._Qp_qtos; |
| 683 | | @export(_Qp_qtos, .{ .name = "_Qp_qtos", .linkage = linkage }); |
| 684 | | const _Qp_qtod = @import("compiler_rt/sparc.zig")._Qp_qtod; |
| 685 | | @export(_Qp_qtod, .{ .name = "_Qp_qtod", .linkage = linkage }); |
| 686 | | } |
| 636 | if (arch == .i386 and abi == .msvc) { |
| 637 | // Don't let LLVM apply the stdcall name mangling on those MSVC builtins |
| 638 | const _alldiv = @import("compiler_rt/aulldiv.zig")._alldiv; |
| 639 | @export(_alldiv, .{ .name = "\x01__alldiv", .linkage = strong_linkage }); |
| 640 | const _aulldiv = @import("compiler_rt/aulldiv.zig")._aulldiv; |
| 641 | @export(_aulldiv, .{ .name = "\x01__aulldiv", .linkage = strong_linkage }); |
| 642 | const _allrem = @import("compiler_rt/aullrem.zig")._allrem; |
| 643 | @export(_allrem, .{ .name = "\x01__allrem", .linkage = strong_linkage }); |
| 644 | const _aullrem = @import("compiler_rt/aullrem.zig")._aullrem; |
| 645 | @export(_aullrem, .{ .name = "\x01__aullrem", .linkage = strong_linkage }); |
| 646 | } |
| 687 | 647 | |
| 688 | | if ((arch == .powerpc or arch.isPPC64()) and !is_test) { |
| 689 | | @export(__addtf3, .{ .name = "__addkf3", .linkage = linkage }); |
| 690 | | @export(__subtf3, .{ .name = "__subkf3", .linkage = linkage }); |
| 691 | | @export(__multf3, .{ .name = "__mulkf3", .linkage = linkage }); |
| 692 | | @export(__divtf3, .{ .name = "__divkf3", .linkage = linkage }); |
| 693 | | @export(__extendsftf2, .{ .name = "__extendsfkf2", .linkage = linkage }); |
| 694 | | @export(__extenddftf2, .{ .name = "__extenddfkf2", .linkage = linkage }); |
| 695 | | @export(__trunctfsf2, .{ .name = "__trunckfsf2", .linkage = linkage }); |
| 696 | | @export(__trunctfdf2, .{ .name = "__trunckfdf2", .linkage = linkage }); |
| 697 | | @export(__fixtfdi, .{ .name = "__fixkfdi", .linkage = linkage }); |
| 698 | | @export(__fixtfsi, .{ .name = "__fixkfsi", .linkage = linkage }); |
| 699 | | @export(__fixunstfsi, .{ .name = "__fixunskfsi", .linkage = linkage }); |
| 700 | | @export(__fixunstfdi, .{ .name = "__fixunskfdi", .linkage = linkage }); |
| 701 | | @export(__floatsitf, .{ .name = "__floatsikf", .linkage = linkage }); |
| 702 | | @export(__floatditf, .{ .name = "__floatdikf", .linkage = linkage }); |
| 703 | | @export(__floatunditf, .{ .name = "__floatundikf", .linkage = linkage }); |
| 704 | | @export(__floatunsitf, .{ .name = "__floatunsikf", .linkage = linkage }); |
| 705 | | |
| 706 | | @export(__letf2, .{ .name = "__eqkf2", .linkage = linkage }); |
| 707 | | @export(__letf2, .{ .name = "__nekf2", .linkage = linkage }); |
| 708 | | @export(__getf2, .{ .name = "__gekf2", .linkage = linkage }); |
| 709 | | @export(__letf2, .{ .name = "__ltkf2", .linkage = linkage }); |
| 710 | | @export(__letf2, .{ .name = "__lekf2", .linkage = linkage }); |
| 711 | | @export(__getf2, .{ .name = "__gtkf2", .linkage = linkage }); |
| 712 | | @export(__unordtf2, .{ .name = "__unordkf2", .linkage = linkage }); |
| 713 | | } |
| 648 | if (arch.isSPARC()) { |
| 649 | // SPARC systems use a different naming scheme |
| 650 | const _Qp_add = @import("compiler_rt/sparc.zig")._Qp_add; |
| 651 | @export(_Qp_add, .{ .name = "_Qp_add", .linkage = linkage }); |
| 652 | const _Qp_div = @import("compiler_rt/sparc.zig")._Qp_div; |
| 653 | @export(_Qp_div, .{ .name = "_Qp_div", .linkage = linkage }); |
| 654 | const _Qp_mul = @import("compiler_rt/sparc.zig")._Qp_mul; |
| 655 | @export(_Qp_mul, .{ .name = "_Qp_mul", .linkage = linkage }); |
| 656 | const _Qp_sub = @import("compiler_rt/sparc.zig")._Qp_sub; |
| 657 | @export(_Qp_sub, .{ .name = "_Qp_sub", .linkage = linkage }); |
| 658 | |
| 659 | const _Qp_cmp = @import("compiler_rt/sparc.zig")._Qp_cmp; |
| 660 | @export(_Qp_cmp, .{ .name = "_Qp_cmp", .linkage = linkage }); |
| 661 | const _Qp_feq = @import("compiler_rt/sparc.zig")._Qp_feq; |
| 662 | @export(_Qp_feq, .{ .name = "_Qp_feq", .linkage = linkage }); |
| 663 | const _Qp_fne = @import("compiler_rt/sparc.zig")._Qp_fne; |
| 664 | @export(_Qp_fne, .{ .name = "_Qp_fne", .linkage = linkage }); |
| 665 | const _Qp_flt = @import("compiler_rt/sparc.zig")._Qp_flt; |
| 666 | @export(_Qp_flt, .{ .name = "_Qp_flt", .linkage = linkage }); |
| 667 | const _Qp_fle = @import("compiler_rt/sparc.zig")._Qp_fle; |
| 668 | @export(_Qp_fle, .{ .name = "_Qp_fle", .linkage = linkage }); |
| 669 | const _Qp_fgt = @import("compiler_rt/sparc.zig")._Qp_fgt; |
| 670 | @export(_Qp_fgt, .{ .name = "_Qp_fgt", .linkage = linkage }); |
| 671 | const _Qp_fge = @import("compiler_rt/sparc.zig")._Qp_fge; |
| 672 | @export(_Qp_fge, .{ .name = "_Qp_fge", .linkage = linkage }); |
| 673 | |
| 674 | const _Qp_itoq = @import("compiler_rt/sparc.zig")._Qp_itoq; |
| 675 | @export(_Qp_itoq, .{ .name = "_Qp_itoq", .linkage = linkage }); |
| 676 | const _Qp_uitoq = @import("compiler_rt/sparc.zig")._Qp_uitoq; |
| 677 | @export(_Qp_uitoq, .{ .name = "_Qp_uitoq", .linkage = linkage }); |
| 678 | const _Qp_xtoq = @import("compiler_rt/sparc.zig")._Qp_xtoq; |
| 679 | @export(_Qp_xtoq, .{ .name = "_Qp_xtoq", .linkage = linkage }); |
| 680 | const _Qp_uxtoq = @import("compiler_rt/sparc.zig")._Qp_uxtoq; |
| 681 | @export(_Qp_uxtoq, .{ .name = "_Qp_uxtoq", .linkage = linkage }); |
| 682 | const _Qp_stoq = @import("compiler_rt/sparc.zig")._Qp_stoq; |
| 683 | @export(_Qp_stoq, .{ .name = "_Qp_stoq", .linkage = linkage }); |
| 684 | const _Qp_dtoq = @import("compiler_rt/sparc.zig")._Qp_dtoq; |
| 685 | @export(_Qp_dtoq, .{ .name = "_Qp_dtoq", .linkage = linkage }); |
| 686 | const _Qp_qtoi = @import("compiler_rt/sparc.zig")._Qp_qtoi; |
| 687 | @export(_Qp_qtoi, .{ .name = "_Qp_qtoi", .linkage = linkage }); |
| 688 | const _Qp_qtoui = @import("compiler_rt/sparc.zig")._Qp_qtoui; |
| 689 | @export(_Qp_qtoui, .{ .name = "_Qp_qtoui", .linkage = linkage }); |
| 690 | const _Qp_qtox = @import("compiler_rt/sparc.zig")._Qp_qtox; |
| 691 | @export(_Qp_qtox, .{ .name = "_Qp_qtox", .linkage = linkage }); |
| 692 | const _Qp_qtoux = @import("compiler_rt/sparc.zig")._Qp_qtoux; |
| 693 | @export(_Qp_qtoux, .{ .name = "_Qp_qtoux", .linkage = linkage }); |
| 694 | const _Qp_qtos = @import("compiler_rt/sparc.zig")._Qp_qtos; |
| 695 | @export(_Qp_qtos, .{ .name = "_Qp_qtos", .linkage = linkage }); |
| 696 | const _Qp_qtod = @import("compiler_rt/sparc.zig")._Qp_qtod; |
| 697 | @export(_Qp_qtod, .{ .name = "_Qp_qtod", .linkage = linkage }); |
| 698 | } |
| 714 | 699 | |
| 715 | | _ = @import("compiler_rt/atomics.zig"); |
| 700 | if ((arch == .powerpc or arch.isPPC64()) and !is_test) { |
| 701 | @export(__addtf3, .{ .name = "__addkf3", .linkage = linkage }); |
| 702 | @export(__subtf3, .{ .name = "__subkf3", .linkage = linkage }); |
| 703 | @export(__multf3, .{ .name = "__mulkf3", .linkage = linkage }); |
| 704 | @export(__divtf3, .{ .name = "__divkf3", .linkage = linkage }); |
| 705 | @export(__extendsftf2, .{ .name = "__extendsfkf2", .linkage = linkage }); |
| 706 | @export(__extenddftf2, .{ .name = "__extenddfkf2", .linkage = linkage }); |
| 707 | @export(__trunctfsf2, .{ .name = "__trunckfsf2", .linkage = linkage }); |
| 708 | @export(__trunctfdf2, .{ .name = "__trunckfdf2", .linkage = linkage }); |
| 709 | @export(__fixtfdi, .{ .name = "__fixkfdi", .linkage = linkage }); |
| 710 | @export(__fixtfsi, .{ .name = "__fixkfsi", .linkage = linkage }); |
| 711 | @export(__fixunstfsi, .{ .name = "__fixunskfsi", .linkage = linkage }); |
| 712 | @export(__fixunstfdi, .{ .name = "__fixunskfdi", .linkage = linkage }); |
| 713 | @export(__floatsitf, .{ .name = "__floatsikf", .linkage = linkage }); |
| 714 | @export(__floatditf, .{ .name = "__floatdikf", .linkage = linkage }); |
| 715 | @export(__floatunditf, .{ .name = "__floatundikf", .linkage = linkage }); |
| 716 | @export(__floatunsitf, .{ .name = "__floatunsikf", .linkage = linkage }); |
| 717 | |
| 718 | @export(__letf2, .{ .name = "__eqkf2", .linkage = linkage }); |
| 719 | @export(__letf2, .{ .name = "__nekf2", .linkage = linkage }); |
| 720 | @export(__getf2, .{ .name = "__gekf2", .linkage = linkage }); |
| 721 | @export(__letf2, .{ .name = "__ltkf2", .linkage = linkage }); |
| 722 | @export(__letf2, .{ .name = "__lekf2", .linkage = linkage }); |
| 723 | @export(__getf2, .{ .name = "__gtkf2", .linkage = linkage }); |
| 724 | @export(__unordtf2, .{ .name = "__unordkf2", .linkage = linkage }); |
| 725 | } |
| 716 | 726 | |
| 727 | @export(floorf, .{ .name = "floorf", .linkage = linkage }); |
| 728 | @export(floor, .{ .name = "floor", .linkage = linkage }); |
| 729 | @export(floorl, .{ .name = "floorl", .linkage = linkage }); |
| 730 | |
| 731 | if (!builtin.zig_is_stage2) { |
| 717 | 732 | @export(fmaq, .{ .name = "fmaq", .linkage = linkage }); |
| 718 | | @export(floorf, .{ .name = "floorf", .linkage = linkage }); |
| 719 | | @export(floor, .{ .name = "floor", .linkage = linkage }); |
| 720 | | @export(floorl, .{ .name = "floorl", .linkage = linkage }); |
| 721 | 733 | } |
| 722 | 734 | } |
| 723 | 735 | |