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