511 Commits
Author SHA1 Message Date
Michał Kowalczyk e98be31b00 [LibOS] test/apps: Add work-in-progress disclaimers to unfinished integrations 2019-09-11 17:15:20 +02:00
Dmitrii Kuvaiskii 17a2fbc770 [LibOS] test/apps: Add top-level README.md 2019-09-10 23:33:59 -07:00
Dmitrii Kuvaiskii 77de90aedd [LibOS] test/apps: Add Redis example 2019-09-10 17:33:20 -07:00
borysp df2f8d2de7 [LibOS] test/apps: Rewrite BusyBox example 2019-09-10 10:28:30 -07:00
Michał Kowalczyk de42ebabe1 Reformat repository to our clang-format rules 2019-09-09 22:11:23 +02:00
Michał Kowalczyk 6356559e39 Fix header dependencies 2019-09-09 22:11:23 +02:00
borysp 62ecb4bc79 [Makefile] Prevent gcc from generating trampolines 2019-09-04 03:10:33 +02:00
borysp 52b3525bab [LibOS] Fix nested function callbacks segfaulting 2019-09-04 03:10:33 +02:00
Chia-Che Tsai 34384c6bb2 [LibOS] test/apps: Rewrite R example 2019-09-04 01:51:48 +02:00
borysp 289ac3af4d [LibOS] Fix get_new_dentry reference count semantics
If `get_new_dentry` returns successfully, it increases returned dentry's
reference counter by one, which matches other similar functions' behavior.
2019-09-03 21:52:55 +02:00
borysp e23684bc3d [LibOS] Rewrite rename* syscalls
Present implementation is utterly broken, does not work even
in simplest cases.
2019-09-03 21:52:55 +02:00
Isaku Yamahata e83a5ec6fe [LibOS] Simplify shim/test/Makefile 2019-09-03 20:06:59 +02:00
Isaku Yamahata 3d19670374 [lighttpd] Add missing dependencies required by .manifest.sgx 2019-08-27 13:18:09 +02:00
Chia-Che Tsai d875e2eba7 [LibOS] Disable the warning when GIPC is not supported 2019-08-26 23:10:09 +02:00
Thomas Knauth 9af670d99f [LibOS] test/apps: Add TensorFlow Lite label_image example 2019-08-26 21:04:25 +02:00
Isaku Yamahata 1089dd015e [LibOS] Use implicit pattern rule in benchmark/Makefile
Static pattern rule isn't needed in benchmark/Makefile.
2019-08-26 00:17:10 +02:00
Isaku Yamahata aef0f4ab64 [LibOS] Use implicit pattern rule in native/Makefile
Static pattern rule isn't needed in native/Makefile.
2019-08-26 00:16:59 +02:00
Isaku Yamahata e277a05585 [LibOS] Rename {CFLAGS, CXXFLAGS, LDFLAGS}-debug to *-libos-debug
For clarity, rename {CFLAGS, CXXFLAGS, LDFLAGS}-debug to
{CFLAGS, CXXFLAGS, LDFLAGS}-libos-debug.
Also related clean up of LibOS/shim/test/inline/Makefile.
2019-08-25 11:38:02 -07:00
Isaku Yamahata 7696fc327b [LibOS] Remove CFLAGS-libos from LibOS/shim/test/benchmark/Makefile
It's already defined in LibOS/shim/test/Makefile.Test.
2019-08-25 11:38:02 -07:00
Isaku Yamahata dabaad826d [LibOS] Make test/inline build 2019-08-25 11:38:02 -07:00
Isaku Yamahata 53cb9d3e71 [LibOS] Eliminate level variable from makefiles 2019-08-25 11:38:02 -07:00
Isaku Yamahata 2ea23a298b [LibOS] Remove the reference of level variable from Makefile.Test
Remove the reference of level variable from Makefile.Test.
After this patch, level variable in Makefile's of tests can be removed.
2019-08-25 11:38:02 -07:00
Isaku Yamahata 0513886e56 [LibOS] Remove subdirs from Makefile.Test
It isn't used by Makefile in tests.
2019-08-25 11:38:02 -07:00
Isaku Yamahata 353f1f609f [LibOS/shim/test] Copy Makefile to Makefile.Test and use it
LibOS/shim/test/Makefile has confusion. It's makefile for test/ directory
and common functions for each test directory.
As a first step to untangle the confusion, copy Makefile.Test for
common functions and have test directories to use it.
Later once grapene-tests is updated, LibOS/shim/test/Makefile
will have only submake rules.
2019-08-25 11:38:02 -07:00
Isaku Yamahata 94d2197720 [LibOS] Use Makefile.rules to simplify Makefile
Simplify shim/test/{regression, native, benchmark, inline}/Makefile.
2019-08-24 01:50:58 +02:00
Wojtek Porczyk 3928126a70 [Doc] Add Documentation/ stub 2019-08-21 18:30:16 +02:00
Isaku Yamahata 9af27a82b0 [Makefile, Pal/Linux-SGX] Calculate dependencies for *.manifest.sgx 2019-08-21 14:37:13 +02:00
Michał Kowalczyk 6ece11d347 [LibOS] Add Memcached example to shim/test/apps 2019-08-21 00:26:34 +02:00
Chia-Che Tsai edb0888988 [LibOS] Remove shim/test/apps/web-data 2019-08-20 20:43:49 +02:00
Chia-Che Tsai eb253b0b3c [LibOS] Remove make and openjdk from LibOS/shim/test/apps 2019-08-20 17:06:12 +02:00
Li Lei 30e0b8bfba [PAL/Linux-SGX] Reuse TLS/TCS pages for newly created threads after previous threads exit 2019-08-16 18:17:24 -07:00
Isaku Yamahata a3e0aba7ec [LibOS] Use $(MAKE) for sub-makes instead of raw make in LibOS/shim/Makefile 2019-08-16 13:36:30 -07:00
Isaku Yamahata b82d838b7e [LibOS] Remove setting PARALELLMFLAGS for Glibc build
Previously, PARALLELMFLAGS variable caused warnings during Glibc build:
"-jN forced in submake: disabling jobserver mode". Since make supports
the jobserver such that passing -jN to parent make automatically allows
its child make to parallelize its jobs, we do not have to pass -j flags
to the child make.
2019-08-16 13:36:30 -07:00
Michał Kowalczyk 09907126ed [LibOS] test/apps: Fix up apache and lighttpd tests 2019-08-16 02:33:34 +02:00
Chia-Che Tsai dc8b63ce62 [Glibc] Update Glibc version to 2.23 and 2.27
Previously, Graphene supported Glibc version 2.19 only. This commit
adds support for Glibc v2.23 (default in Ubuntu 16.04) and Glibc
v2.27 (default in Ubuntu 18.04). The exact version can be chosen by
specifying GLIBC_VERSION during Graphene build. The default version
to be built is v2.27.

Note that for the best GDB experience it is advised to build Graphene
with the same Glibc version as installed on the host OS.
2019-08-15 13:30:53 -07:00
Isaku Yamahata 072f1bbb8a [LibOS] test/native: Remove static.c and pie.c
Those tests are duplicates of regression/bootstrap_static.c and
regression/bootstrap_pie.c.
2019-08-15 14:31:03 +02:00
Isaku Yamahata 0cb0db9e35 [LibOS] regression: Run bootstrap_static and bootstrap_pie
Add bootstrap_static for SGX and bootstrap_pie tests to test_libos.py as
they now work correctly (after adding VDSO support).
2019-08-15 14:31:03 +02:00
Isaku Yamahata e8cbd4a50a [LibOS] test/regression: Clean up Makefile to use Makefile.rules 2019-08-15 14:31:03 +02:00
Isaku Yamahata 350b522263 [LibOS/Glibc] Remove Glibc modification which disabled vDSO
vDSO is supported by Graphene now, so this commit removes the
modification of Glibc which disabled vDSO in Graphene. Currently,
compile-time option GLIBC_DISABLE_VDSO is introduced to be able
to revert to the old behaviour (disabled by default).
2019-08-14 18:51:59 -07:00
Dmitrii Kuvaiskii 61882a1c4c [LTP] Update submodule to reference improved-timeout asyncio02 2019-08-14 17:54:32 -07:00
Isaku Yamahata 5f5bc5af56 [Pal, LibOS] Consolidate elf.h
There is no point in keeping the same elf.h in both Pal and LibOS.
2019-08-14 01:47:57 +02:00
Simon Gaiser 2c340b75d5 [Makefile] Check vdso.so only when it has been built 2019-08-14 00:50:29 +02:00
Simon Gaiser 517be2a241 [LibOS,Pal] Improve recursive Make calls
Do not declare the result of the recursive Make call as "phony" to avoid
unnecessary rebuilds. Due to the missing dependency information we of
course still need to always recurse.
2019-08-14 00:44:17 +02:00
Simon Gaiser 64e46adcc0 [Makefile] Use generated header dependencies
Fixes #189.
2019-08-14 00:44:17 +02:00
Simon Gaiser 1ff85d10a3 [Makefile] Move building of tests to a separate target
Fixes #204.
2019-08-14 00:44:17 +02:00
Simon Gaiser 4e33068678 [Makefile] Drop unused targets 2019-08-14 00:44:17 +02:00
borysp 004c2fe9a4 [LibOS] Remove opened reference counter from struct shim_handle
Inside `struct shim_handle` `opened` reference counter is used incorrectly.
Additionally at this moment it guards the same resource (handle) as `ref_counter`,
making it obsolete. This patch removes `opened` counter and moves `close_handle`
logic into `put_handle`.
2019-08-13 16:20:44 -07:00
Isaku Yamahata a9681fd20c [LibOS] Do not queue unmasked SIG_IGN'ed signals to prevent memory leak
When signal is unmasked and its handler is SIG_IGN, this signal must not
be queued, otherwise such queued but unused signals result in memory leak.
Additionally, SIGCHLD signal can be discarded even if it is unmasked. For
reference, see Linux code (do_notify_parent() @ linux/kernel/signal.c).
2019-08-13 15:47:54 -07:00
Isaku Yamahata bc715c2081 [LibOS] Fix memory leak in shim_do_execve_rtld()
__libcc_tcb_t is leaked. It should be allocated from stack.
2019-08-13 20:47:34 +02:00
Isaku Yamahata 1e977ecc71 [LibOS] shim_do_execve_rtld(): defer disabling preemption
Defer disabling preemption until a point of no-return. Otherwise on
return path the function can return with preemption disabled.
2019-08-13 20:47:34 +02:00