Commit Graph

1246 Commits

Author SHA1 Message Date
Isaku Yamahata 43ef9982e2 [Runtime] Fix pal_loader bash script for shellcheck 2020-02-05 23:21:06 -08:00
Isaku Yamahata 8db9c73431 [Pal] Error out on unsupported platforms in regression/ and test/ 2020-02-05 23:21:06 -08:00
Isaku Yamahata 0a7e3dd127 [LibOS,Pal] Move header files from Pal/lib/ under Pal/include/ 2020-02-05 23:21:06 -08:00
Isaku Yamahata 07722756e5 [Scripts] Include dependency file for .c in Makefile.Test 2020-02-05 23:21:06 -08:00
Isaku Yamahata 05e42acbc6 [Pal] Move header files under include/ and adjust the include directive 2020-02-05 23:21:06 -08:00
Isaku Yamahata d524bd7e30 [Pal/Skeleton] Remove header dependency from Makefile 2020-02-05 23:21:06 -08:00
Isaku Yamahata 8d65898d91 [LibOS,Pal] Eliminate creation of host_endian.h symlink
This file should be included via include path, not via a symlink.
2020-02-05 23:21:06 -08:00
Isaku Yamahata cff1146892 [LibOS,Pal] Modify Makefiles' logic to simplify checks on SYS
The goal of `$(SYS)` check in Makefiles is to skip all targets on
unsupported systems. This commit defines a default goal `all` as
a no-op for simplicity.
2020-02-05 23:21:06 -08:00
Isaku Yamahata fc0b5c4012 [LibOS,Pal] remove unnecessary .PHONY: default in Makefiles 2020-02-05 23:21:05 -08:00
Isaku Yamahata fa2ed00153 [LibOS] Include Makefile.{config, rule} in test/*/Makefile 2020-02-05 23:21:05 -08:00
Isaku Yamahata 647a8f3953 [LibOS,Pal] Consolidate common CFLAGS in Makefile.configs 2020-02-05 23:21:05 -08:00
Isaku Yamahata 72ddedc065 [Scripts] Remove PAL_LOADER variable from Makefile.test 2020-02-05 23:21:05 -08:00
Isaku Yamahata 6d30b68be6 [Pal] regression/Makefile: Remove unused variable extra_rules 2020-02-05 23:21:05 -08:00
Isaku Yamahata 29d907a573 [LibOS,Pal] Consolidate DEBUG, WERROR, PROFILE in Makefile.configs 2020-02-05 23:21:05 -08:00
Isaku Yamahata 88ea5164d6 [LibOS,Pal] Makefiles: use += instead of = in CFLAGS/LDFLAGS/etc 2020-02-05 23:21:05 -08:00
Isaku Yamahata b7e336e15e [Pal/lib] Remove useless setting of CFLAGS in Makefile
Makefile.am overwrites CFLAGS, so setting CFLAGS before including
Makefile.am is useles.
2020-02-05 23:21:05 -08:00
Isaku Yamahata 86afe662f3 [Pal/Linux-SGX] Add rule cmulti to build executable from multiple .o files 2020-02-05 23:21:05 -08:00
Isaku Yamahata 22043ce260 [Pal] Makefile: Remove unnecessary dependencies 2020-02-05 23:21:05 -08:00
Isaku Yamahata c126c10452 [Pal] Move user_start.S under Pal/crt_init/ directory 2020-02-05 23:21:05 -08:00
Isaku Yamahata 5961d999d2 [Pal] Remove redundant HOST_DIR definitions in Makefiles 2020-02-05 23:21:05 -08:00
Isaku Yamahata 50bdec8a23 [LibOS,Pal] Move Makefile.Host under Scripts/ 2020-02-05 23:21:05 -08:00
Isaku Yamahata 419b5c5a11 [Pal] Introduce common Makefile.manifest and remove Pal/src/Makefile.Test 2020-02-05 23:21:05 -08:00
Isaku Yamahata 08ae3a241c [Pal] Use expand_target_to_{sig,sgx,token} instead of expand_target() 2020-02-05 23:21:05 -08:00
Isaku Yamahata d9fa901e17 [Pal/Linux-SGX] Move rules from Makefile.Test to Makefile.manifest 2020-02-05 23:21:05 -08:00
Isaku Yamahata 8fc9f0d948 [LibOS] native/Makefile, benchmark/Makefile: Use implicit pattern rules 2020-02-05 23:21:05 -08:00
Isaku Yamahata 35dd8c9423 [LibOS,Pal] Consolidate export DEBUG in Makefile.configs 2020-02-05 23:21:05 -08:00
Isaku Yamahata 0912f20ccf [LibOS,Pal] Unify the setting of CC and remove raw gcc invocations 2020-02-05 23:21:05 -08:00
Isaku Yamahata dd086816b5 [LibOS,Pal] Define AR and ARFLAGS properly 2020-02-05 23:21:05 -08:00
Isaku Yamahata 0612fc8657 [LibOS] Cleanup test/inline/Makefile 2020-02-05 23:21:05 -08:00
Isaku Yamahata a1c534ec56 [LibOS/shim/test] Rename .*.c files to .c files 2020-02-05 23:21:05 -08:00
Isaku Yamahata 58e5139e74 [Pal/regression] Rename .so.c files to .c files 2020-02-05 23:21:05 -08:00
Isaku Yamahata 9ef2251d66 [LibOS,Pal,Scripts] Add and use recipe to create manifest from template 2020-02-05 23:21:05 -08:00
Isaku Yamahata 732712e23e [LibOS,Pal] Move makefile libraries under Scripts/
This commit moves Makefile.configs, Makefile.rules, and Makefile.Test
under Scripts/ and adjusts their includes.
2020-02-05 23:21:04 -08:00
Isaku Yamahata e6d90c5bd8 [LibOS] test/apps: Update LTP to use its own Makefile.Test
This removes the dependency of test/apps/ on LibOS/shim/tests/Makefile.Test.
Thus, a follow-up commit can safely remove that file.
2020-02-05 23:21:04 -08:00
Isaku Yamahata d4c402d0ac [Pal/regression] Hex.c: Define __abort() and warn() not exported by Pal
Previously, Hex.c used __abort() and warn() not exported by PAL. This
led to linking errors during build.
2020-02-05 23:16:32 -08:00
Isaku Yamahata 220ae79695 [Pal/lib] printfmt.c: Add static to inline functions 2020-02-05 23:16:32 -08:00
Isaku Yamahata 98f94654bf [Pal] user_start.S: Preserve %rbp since it is callee-saved
Previously, if Pal was compiled with `-O2`, regression tests failed
because %rbp was not preserved.
2020-02-05 23:16:32 -08:00
Isaku Yamahata a09c0897f5 [LibOS] Cleanup of shim_thread::shim_signal_logs
- Make struct shim_signal_log opaque.
- Introduce signal_logs_alloc() and signal_logs_free() to properly
  initialize and free signal_logs.
- Introduce helper signal_logs_pending() to simplify signal_logs check.
- Rename shim_signal_log's {head, tail} to {tail, head}.
- Fix PID leak during get_new_thread().
2020-02-05 13:16:12 -08:00
Simon Gaiser 330432aed9 [Pal/Linux-SGX] Make pal-sgx-sign code importable
This moves the Python implementation of pal-sgx-sign into
pal_sgx_sign.py and replaces the cmdline tool with a tiny wrapper. This
allows other code to import it as a module and thereby re-use its code.

Designing an API and then putting it into a proper Python package is left
for the future.
2020-02-05 12:27:09 +01:00
Simon Gaiser 0daeed847f [Jenkins] Check for missing gitignores and fix found issues 2020-02-05 02:46:13 +01:00
Dmitrii Kuvaiskii c43cb19179 [Jenkins] Add missing timeouts to apps on all pipelines 2020-02-04 18:27:37 -08:00
Dmitrii Kuvaiskii bca88eb94d [LibOS] test/apps: Allow SSL/TLS connections in Apache httpd 2020-02-04 18:25:40 -08:00
Dmitrii Kuvaiskii c685e56e67 [LibOS] Update TYPE_DEV handles with correct function pointers in dev_ops
For device handles, `info.dev.dev_ops` contains function pointers into
LibOS. They may become invalid due to relocation of LibOS text section
in the child process on fork. This commit forces an update of these
function pointers.
2020-02-04 18:25:00 -08:00
Simon Gaiser 9052837dfc [Make] Improve download handling
Instead of implementing downloading of external resources in every
Makefile again, use one script. This script adds the following
features:

 - Always check the download against a known SHA-256 hash.

 - Support caching of downloaded resources (set DL_CACHE=/some/dir).

 - Allow offline builds if all files are cached. If DL_OFFLINE=true the
   build will never attempt to download anything.
2020-02-05 00:41:10 +01:00
Simon Gaiser 75619fe760 [Scripts/clean-check] Ignore git repos
Newer git versions update some cache in .git/index even on read-only
calls (like git status). So ignore any changes in .git when checking
make clean.
2020-02-04 01:15:59 -08:00
Simon Gaiser 2316c6fb52 [CI] Remove clean-check scripts from ignore list 2020-02-04 01:15:59 -08:00
Simon Gaiser 0eae1e2517 [Jenkins] Test 'make clean' also on Ubuntu 18.04 2020-02-04 01:15:59 -08:00
Isaku Yamahata d379bba600 [LibOS] test: Add missing dependencies in Makefiles 2020-02-04 02:49:18 +01:00
Simon Gaiser 7377a787bc [Makefile] Add distclean target
Before, there was no target that cleaned up downloaded sources. This
commit adds a distclean target to match the 'apps' Makefiles.
2020-02-04 01:15:08 +01:00
borysp 5c37c4d21a [LibOS] Miscellaneous bugfixes, mostly found by the previous commit
The previous commit added some asserts on locks state, which unveiled
a bunch of bugs. This fixes all of them and a bit more found in the
process.
2020-02-02 17:58:51 +01:00