@@ -35,7 +35,7 @@ ifeq ($(CFG_OSTYPE), Linux)
35
35
CFG_RUNTIME := librustrt.so
36
36
CFG_STDLIB := libstd.so
37
37
CFG_GCC_CFLAGS += -fPIC
38
- CFG_GCC_LINK_FLAGS += -shared -fPIC -ldl -lpthread
38
+ CFG_GCC_LINK_FLAGS += -shared -fPIC -ldl -lpthread -lrt
39
39
ifeq ($(CFG_CPUTYPE), x86_64)
40
40
CFG_GCC_CFLAGS += -m32
41
41
CFG_GCC_LINK_FLAGS += -m32
@@ -245,7 +245,9 @@ BOOT_CMXS := $(BOOT_MLS:.ml=.cmx)
245
245
BOOT_OBJS := $(BOOT_MLS:.ml=.o )
246
246
BOOT_CMIS := $(BOOT_MLS:.ml=.cmi )
247
247
248
- RUNTIME_CS := rt/sync/spin_lock.cpp \
248
+ RUNTIME_CS := rt/sync/timer.cpp \
249
+ rt/sync/sync.cpp \
250
+ rt/sync/spin_lock.cpp \
249
251
rt/sync/lock_free_queue.cpp \
250
252
rt/sync/condition_variable.cpp \
251
253
rt/rust.cpp \
@@ -263,7 +265,9 @@ RUNTIME_CS := rt/sync/spin_lock.cpp \
263
265
rt/rust_message.cpp \
264
266
rt/rust_timer.cpp \
265
267
rt/circular_buffer.cpp \
266
- rt/isaac/randport.cpp
268
+ rt/isaac/randport.cpp \
269
+ rt/rust_srv.cpp \
270
+ rt/memory_region.cpp
267
271
268
272
RUNTIME_HDR := rt/globals.h \
269
273
rt/rust.h \
@@ -279,7 +283,12 @@ RUNTIME_HDR := rt/globals.h \
279
283
rt/rust_message.h \
280
284
rt/circular_buffer.h \
281
285
rt/util/array_list.h \
282
- rt/util/hash_map.h
286
+ rt/util/hash_map.h \
287
+ rt/sync/sync.h \
288
+ rt/sync/timer.h \
289
+ rt/rust_srv.h \
290
+ rt/memory_region.h \
291
+ rt/memory.h
283
292
284
293
RUNTIME_INCS := -Irt/isaac -Irt/uthash
285
294
RUNTIME_OBJS := $(RUNTIME_CS:.cpp=$(CFG_OBJ_SUFFIX ) )
@@ -296,7 +305,7 @@ all: $(CFG_COMPILER) $(MKFILES) $(GENERATED)
296
305
297
306
boot/util/version.ml : Makefile
298
307
$(CFG_QUIET ) git log -1 \
299
- --format ='let version = "prerelease (%h %ci)";;' >$@
308
+ --format ='let version = "prerelease (%h %ci)";;' >$@ || exit 1
300
309
301
310
loc :
302
311
$(CFG_QUIET ) wc -l $(BOOT_MLS ) $(RUNTIME_CS ) $(RUNTIME_HDR )
@@ -362,7 +371,6 @@ self: $(CFG_COMPILER)
362
371
# of inter-task shutdown races introduced with notification proxies.
363
372
364
373
TASK_XFAILS := test/run-pass/acyclic-unwind.rs \
365
- test/run-pass/alt-type-simple.rs \
366
374
test/run-pass/basic.rs \
367
375
test/run-pass/clone-with-exterior.rs \
368
376
test/run-pass/comm.rs \
@@ -380,13 +388,14 @@ TASK_XFAILS := test/run-pass/acyclic-unwind.rs \
380
388
test/run-pass/task-comm-7.rs \
381
389
test/run-pass/task-comm-8.rs \
382
390
test/run-pass/task-comm-9.rs \
391
+ test/run-pass/task-comm-10.rs \
392
+ test/run-pass/task-comm-11.rs \
393
+ test/run-pass/task-life-0.rs \
383
394
test/run-pass/task-comm.rs \
384
395
test/run-pass/threads.rs \
385
396
test/run-pass/yield.rs
386
397
387
398
TEST_XFAILS_X86 := $(TASK_XFAILS ) \
388
- test/run-pass/arithmetic-interference.rs \
389
- test/run-pass/bind-obj-ctor.rs \
390
399
test/run-pass/child-outlives-parent.rs \
391
400
test/run-pass/clone-with-exterior.rs \
392
401
test/run-pass/constrained-type.rs \
@@ -398,16 +407,13 @@ TEST_XFAILS_X86 := $(TASK_XFAILS) \
398
407
test/run-pass/generic-recursive-tag.rs \
399
408
test/run-pass/int-lib.rs \
400
409
test/run-pass/iter-ret.rs \
401
- test/run-pass/lib-deque .rs \
410
+ test/run-pass/lib-io .rs \
402
411
test/run-pass/lib-map.rs \
403
412
test/run-pass/mlist-cycle.rs \
404
413
test/run-pass/obj-as.rs \
405
414
test/run-pass/task-comm.rs \
406
415
test/run-pass/vec-slice.rs \
407
- test/run-pass/task-comm-2.rs \
408
416
test/run-pass/task-comm-3.rs \
409
- test/run-pass/task-comm-5.rs \
410
- test/run-pass/task-comm-6.rs \
411
417
test/compile-fail/bad-recv.rs \
412
418
test/compile-fail/bad-send.rs \
413
419
test/compile-fail/infinite-tag-type-recursion.rs \
@@ -416,14 +422,17 @@ TEST_XFAILS_X86 := $(TASK_XFAILS) \
416
422
417
423
TEST_XFAILS_LLVM := $(TASK_XFAILS ) \
418
424
$(addprefix test/run-pass/, \
425
+ arith-1.rs \
419
426
acyclic-unwind.rs \
420
427
alt-pattern-simple.rs \
421
428
alt-tag.rs \
422
- arithmetic-interference .rs \
429
+ append-units .rs \
423
430
argv.rs \
424
431
autoderef-full-lval.rs \
425
432
autoderef-objfn.rs \
426
433
basic.rs \
434
+ basic-1.rs \
435
+ basic-2.rs \
427
436
bind-obj-ctor.rs \
428
437
bind-thunk.rs \
429
438
bind-trivial.rs \
@@ -464,7 +473,6 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
464
473
i32-sub.rs \
465
474
i8-incr.rs \
466
475
import.rs \
467
- inner-module.rs \
468
476
integral-indexing.rs \
469
477
int-lib.rs \
470
478
iter-range.rs \
@@ -474,8 +482,10 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
474
482
lazy-init.rs \
475
483
lazychan.rs \
476
484
lib-deque.rs \
485
+ lib-io.rs \
477
486
lib-map.rs \
478
487
lib-rand.rs \
488
+ lib-vec-str-conversions.rs \
479
489
linear-for-loop.rs \
480
490
list.rs \
481
491
many.rs \
@@ -500,6 +510,7 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
500
510
rec-tup.rs \
501
511
rec.rs \
502
512
simple-obj.rs \
513
+ size-and-align.rs \
503
514
spawn-fn.rs \
504
515
spawn-module-qualified.rs \
505
516
spawn.rs \
@@ -508,6 +519,7 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
508
519
str-concat.rs \
509
520
str-idx.rs \
510
521
str-lib.rs \
522
+ task-lib.rs \
511
523
tag.rs \
512
524
tail-cps.rs \
513
525
tail-direct.rs \
@@ -522,6 +534,9 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
522
534
task-comm-7.rs \
523
535
task-comm-8.rs \
524
536
task-comm-9.rs \
537
+ task-comm-10.rs \
538
+ task-comm-11.rs \
539
+ task-life-0.rs \
525
540
threads.rs \
526
541
type-sizes.rs \
527
542
u8-incr.rs \
@@ -541,6 +556,7 @@ TEST_XFAILS_LLVM := $(TASK_XFAILS) \
541
556
vec-lib.rs \
542
557
vec-slice.rs \
543
558
vec.rs \
559
+ while-flow-graph.rs \
544
560
writealias.rs \
545
561
yield.rs \
546
562
yield2.rs \
@@ -602,6 +618,10 @@ TEST_RPASS_OUTS_X86 := \
602
618
$(TEST_RPASS_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86.out )
603
619
TEST_RPASS_OUTS_LLVM := \
604
620
$(TEST_RPASS_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
621
+ TEST_RPASS_TMPS_X86 := \
622
+ $(TEST_RPASS_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86$(CFG_EXE_SUFFIX ) .tmp )
623
+ TEST_RPASS_TMPS_LLVM := \
624
+ $(TEST_RPASS_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
605
625
606
626
607
627
TEST_RFAIL_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86 ) , $(RFAIL_RC ) )
@@ -619,6 +639,10 @@ TEST_RFAIL_OUTS_X86 := \
619
639
$(TEST_RFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86.out )
620
640
TEST_RFAIL_OUTS_LLVM := \
621
641
$(TEST_RFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
642
+ TEST_RFAIL_TMPS_X86 := \
643
+ $(TEST_RFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86$(CFG_EXE_SUFFIX ) .tmp )
644
+ TEST_RFAIL_TMPS_LLVM := \
645
+ $(TEST_RFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
622
646
623
647
624
648
TEST_CFAIL_CRATES_X86 := $(filter-out $(TEST_XFAILS_X86 ) , $(CFAIL_RC ) )
@@ -636,6 +660,11 @@ TEST_CFAIL_OUTS_X86 := \
636
660
$(TEST_CFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86.out )
637
661
TEST_CFAIL_OUTS_LLVM := \
638
662
$(TEST_CFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm.out )
663
+ TEST_CFAIL_TMPS_X86 := \
664
+ $(TEST_CFAIL_EXES_X86:.x86$(CFG_EXE_SUFFIX ) =.x86$(CFG_EXE_SUFFIX ) .tmp )
665
+ TEST_CFAIL_TMPS_LLVM := \
666
+ $(TEST_CFAIL_EXES_LLVM:.llvm$(CFG_EXE_SUFFIX ) =.llvm$(CFG_EXE_SUFFIX ) .tmp )
667
+
639
668
640
669
ALL_TEST_CRATES := $(TEST_CFAIL_CRATES_X86 ) \
641
670
$(TEST_RFAIL_CRATES_X86 ) \
@@ -690,10 +719,12 @@ BOOT := $(CFG_QUIET)OCAMLRUNPARAM="b1" $(CFG_BOOT) $(CFG_BOOT_FLAGS)
690
719
$(CFG_QUIET ) mv $< $@
691
720
692
721
test/run-pass/% .out.tmp : test/run-pass/% $(CFG_EXE_SUFFIX ) $(CFG_RUNTIME )
722
+ $(CFG_QUIET ) rm -f $< .tmp
693
723
@$(call CFG_ECHO, run: $< )
694
724
$(CFG_QUIET )$(call CFG_RUN_TARG, $< ) > $@
695
725
696
726
test/run-fail/% .out.tmp : test/run-fail/% $(CFG_EXE_SUFFIX ) $(CFG_RUNTIME )
727
+ $(CFG_QUIET ) rm -f $< .tmp
697
728
@$(call CFG_ECHO, run: $< )
698
729
$(CFG_QUIET ) rm -f $@
699
730
$(CFG_QUIET )$(call CFG_RUN_TARG, $< ) > $@ 2>&1 ; X=$$? ; \
@@ -886,12 +917,18 @@ clean:
886
917
$(CFG_QUIET ) rm -f $(ML_DEPFILES ) $(C_DEPFILES ) $(CRATE_DEPFILES )
887
918
$(CFG_QUIET ) rm -f $(GENERATED )
888
919
$(CFG_QUIET ) rm -f $(CFG_BOOT ) $(CFG_RUNTIME ) $(CFG_STDLIB )
889
- $(CFG_QUIET ) rm -f $(TEST_RPASS_EXES_X86 ) $(TEST_RPASS_OUTS_X86 )
890
- $(CFG_QUIET ) rm -f $(TEST_RPASS_EXES_LLVM ) $(TEST_RPASS_OUTS_LLVM )
891
- $(CFG_QUIET ) rm -f $(TEST_RFAIL_EXES_X86 ) $(TEST_RFAIL_OUTS_X86 )
892
- $(CFG_QUIET ) rm -f $(TEST_RFAIL_EXES_LLVM ) $(TEST_RFAIL_OUTS_LLVM )
893
- $(CFG_QUIET ) rm -f $(TEST_CFAIL_EXES_X86 ) $(TEST_CFAIL_OUTS_X86 )
894
- $(CFG_QUIET ) rm -f $(TEST_CFAIL_EXES_LLVM ) $(TEST_CFAIL_OUTS_LLVM )
920
+ $(CFG_QUIET ) rm -f $(TEST_RPASS_EXES_X86 ) $(TEST_RPASS_OUTS_X86 ) \
921
+ $(TEST_RPASS_TMPS_X86)
922
+ $(CFG_QUIET)rm -f $(TEST_RPASS_EXES_LLVM) $(TEST_RPASS_OUTS_LLVM) \
923
+ $(TEST_RPASS_TMPS_LLVM)
924
+ $(CFG_QUIET)rm -f $(TEST_RFAIL_EXES_X86) $(TEST_RFAIL_OUTS_X86) \
925
+ $(TEST_RFAIL_TMPS_X86)
926
+ $(CFG_QUIET)rm -f $(TEST_RFAIL_EXES_LLVM) $(TEST_RFAIL_OUTS_LLVM) \
927
+ $(TEST_RFAIL_TMPS_LLVM)
928
+ $(CFG_QUIET)rm -f $(TEST_CFAIL_EXES_X86) $(TEST_CFAIL_OUTS_X86) \
929
+ $(TEST_CFAIL_TMPS_X86)
930
+ $(CFG_QUIET)rm -f $(TEST_CFAIL_EXES_LLVM) $(TEST_CFAIL_OUTS_LLVM) \
931
+ $(TEST_CFAIL_TMPS_LLVM)
895
932
$(CFG_QUIET)rm -rf $(TEST_RPASS_EXES_LLVM:.llvm=.llvm.dSYM)
896
933
$(CFG_QUIET)rm -rf $(TEST_RFAIL_EXES_LLVM:.llvm=.llvm.dSYM)
897
934
$(CFG_QUIET)rm -Rf $(PKG_NAME)-*.tar.gz dist
0 commit comments