Commit Graph

1154 Commits

Author SHA1 Message Date
LI Qing
81c53a7097 Fix the "occlum init" command's failure on CentOS 2020-12-19 19:53:31 +08:00
He Sun
ea1272f69a Update the lcov source for centos docker image 2020-12-19 19:53:31 +08:00
He Sun
ba48e65428 Install lcov in occlum docker images
Lcov will be used for code coverage generation.
2020-12-17 16:42:11 +08:00
LI Qing
a53562adea Add support to mount FS at any existing directories 2020-12-17 15:55:40 +08:00
zongmin.gu
ce174e1496 Fix the UDS path too long issue 2020-12-16 23:28:24 +08:00
LI Qing
22b02850a3 Add Glibc as an optional libc and fix test cases 2020-12-16 19:21:22 +08:00
LI Qing
1a00884e1c Optimize the loading process of the ELF file
1. Load ld.so according to the executable automatically
2. Add the position-independent check for ELF file
2020-12-16 19:21:22 +08:00
LI Qing
318f1e6a4f Add posix_spawn support for Glibc 2020-12-16 19:21:22 +08:00
LI Qing
40a52b56be Initialize a randon number on stack for the stack protector 2020-12-16 19:21:22 +08:00
Shirong Hao
0c5843492b Enhance rune CI test
Resolve cargo network error when there is too much concurrency
2020-12-16 19:18:56 +08:00
Hui, Chunyang
2d27837123 Expand SGX hardware mode CI test trigger type
Expands the trigger type to pull request with specific label.
2020-12-16 19:09:36 +08:00
He Sun
3b915db774 Refactor Unix socket
1. Implement type-safe functions;
2. Improve the correctness of nearly all the functions;
3. Improve the readability by introducing Listener and Endpoint for StreamUnix;
4. Substitue RingBuf with Channel in Unix socket.
2020-12-16 01:28:53 +08:00
zongmin.gu
a09c01819b Enlarge the kernel heap size in make test 2020-12-16 01:03:15 +08:00
Shirong Hao
7cb164c1e2 Enhance rune CI test
1. Always run pods
2. Always clean the docker
3. Support parallel jobs
2020-12-14 16:28:39 +08:00
zongmin.gu
1f1502c7d5 Bump to 0.18.1 2020-12-03 10:57:22 +08:00
Hui, Chunyang
92a8db7938 Enhance SGX hardware mode CI test
1. Add FISH and XGBoost demo test
2. Resolve cargo network error when there is too much concurrency
3. Add git proxy for git download
2020-12-03 10:57:02 +08:00
LI Qing
4301d6dfe6 Fix the mode of root inode in SEFS 2020-12-02 15:15:05 +08:00
zongmin.gu
f699ff3efd Fix Occlum memory leak issue
The enable_backtrace function should only be used in the init function.
2020-12-02 15:08:50 +08:00
zongmin.gu
b5e3558f5f Enable EPC usage measurement feature 2020-12-02 15:08:50 +08:00
He Sun
5285e3b55d Fix the insufficient output buffer in SIOCGIFCONF ioctl test 2020-12-02 14:56:14 +08:00
Tate, Hongliang Tian
9809d81c4e Fix a bug of channels
This bugfix ensures that when an object of Producer/Consumer for
channels is dropped, its shutdown method is called automatically. This ensures
that the peer of a Producer/Consumer gets notified and won't wait indefinitely.
2020-12-02 14:51:26 +08:00
Hui, Chunyang
ea64939cac Fix json parse debuggable flag 2020-12-02 13:29:41 +08:00
Hui, Chunyang
0a810b9b58 Add return error code for ecall 2020-12-02 13:29:41 +08:00
zongmin.gu
928cfecf9d Change Tcmalloc as optional feature
The current Tcmalloc has memory leak issue. So change it as optional. By
default, dlmalloc is used. Enable tcmalloc with below command:
make TCMALLOC=Y
2020-11-23 21:26:41 +08:00
Hui, Chunyang
d4e6518eaf Add new CI status badge for different workflow 2020-11-23 13:01:50 +08:00
Hui, Chunyang
932987e039 Ignore the result for grpc demo test in CI
Due to the incomplete implementation of SGX simulation mode, Occlum gRPC demo keeps failing in CI.
Since this is also tested in SGX hardware mode, just ignore the result in simulation mode for now.
This commit can be reverted once the SGX simulation mode is flawless.
2020-11-23 13:01:50 +08:00
zongmin.gu
3163a62963 Bump version to 0.18.0 2020-11-20 09:24:24 +08:00
Hui, Chunyang
9c3f595f0e Add support for building docker image with specific Occlum branch 2020-11-20 09:24:24 +08:00
LI Qing
4769a2600e Add FUTEX_WAIT_BITSET and FUTEX_WAKE_BITSET options for futex syscall 2020-11-20 09:24:24 +08:00
Hui, Chunyang
52fcc622ea Enhance SGX hardware mode CI test
1. Enable gRPC test
2. Always clean the docker
3. Support parallel jobs
2020-11-20 09:24:24 +08:00
Tate, Hongliang Tian
34288a5e37 Use HostFd to manage the lifetime of host OS resources 2020-11-19 08:13:57 +08:00
Tate, Hongliang Tian
83ce318f6c Unregister a file from epoll files when the file is closed
Usually, files are unregistered from an epoll file via the EPOLL_CTL_DEL command
explicitly. But for the sake of users' convenience, Linux supports
unregistering a file automatically from the epoll files that monitor the file
when the file is closed. This commit adds this capability.
2020-11-18 22:17:23 +08:00
Hui, Chunyang
787df74be0 Fix Python test malloc failure on SGX machine
Using tcmalloc could consume more heap. Enlarging kernel heap allocation
can fix this.
Also print result for Python test.
2020-11-18 22:13:34 +08:00
Tate, Hongliang Tian
1de089ac7d Rewrite the select syscall using the new poll implementation 2020-11-18 19:35:04 +08:00
Tate, Hongliang Tian
a857cf9bfb Fix a design flaw in handling events of host files 2020-11-18 19:35:04 +08:00
Tate, Hongliang Tian
798cbfd843 Fix pushing/popping zero-length slices to/from Channel 2020-11-18 19:35:04 +08:00
Tate, Hongliang Tian
10f3ffa9e6 Fix Channel's notifier being inconsistent with poll/epoll 2020-11-18 19:35:04 +08:00
Tate, Hongliang Tian
5b6d06b808 Fix a bug in poll's handling of input pollfds 2020-11-18 19:35:04 +08:00
Hui, Chunyang
554f7dd2c5 Add SGX hardware mode test
Currently, only a subset of tests are enabled. Other tests will be
enabled in the future.
2020-11-18 17:18:31 +08:00
zongmin.gu
0490164a8f Replace dlmalloc with tcmalloc 2020-11-18 16:46:38 +08:00
LI Qing
9bf2a77e16 Add getdents syscall 2020-11-18 16:44:11 +08:00
Hui, Chunyang
4d4caa2265 Add CentOS test for CI 2020-11-18 11:54:22 +08:00
Hui, Chunyang
72ad448cf9 Fix cargo fmt error 2020-11-18 11:54:22 +08:00
zongmin.gu
9504e8f681 Enable optimized string and math lib in Occlum 2020-11-17 14:42:39 +08:00
zongmin.gu
d63bfac61c Remove the FP area initialization code
When using the optimized string lib in Occlum, the memset function would
use xmm0 register, as the result, the FP area initialization code would
modify the FP area before saving it. So just ignor the FP area
initialization code.
2020-11-17 14:42:39 +08:00
LI Qing
5f05c16700 Init the memory for elf to zero 2020-11-16 15:04:13 +08:00
Hui, Chunyang
300518a101 Use new env configuration for github action 2020-11-16 11:55:10 +08:00
Shirong Hao
2e0e8d602f Add Rune Demo test 2020-11-13 18:59:02 +08:00
Tate, Hongliang Tian
71df1cf2c8 Add the new poll implementation 2020-11-12 15:49:20 +08:00
Tate, Hongliang Tian
7133315f46 Make the IoEvents type to more complete and robust 2020-11-12 15:49:20 +08:00