mirror of
https://github.com/clearlinux/graphene.git
synced 2026-08-26 01:25:56 +00:00
d21d75fd7c
- Fixing AES-CMAC algorithm - Using SHA512 to hash file stubs (much faster than SHA256 and AES-CMAC) - Hardening enclave interface (still work-in-progress); delt with issue #28 - Handling socket/pipe polling better - Allowing setting the lowest heap address in enclaves ('sgx.heap_min' in manifest) - Fixing the pipe between processes (for SGX) - Fixing race condition in futex handling in LibOS - Inheriting epoll handles in forked chilren - Assigning signal code (now only hard-coding FPE_INTDIV, BUS_ADRERR, SEGV_ACCERR, SEGV_MAPERR) - Fixing race condition in vma allocation (likely to fix bug() in bookkeep/shim_vma.c) - Clearer debug message in LibOS - Fixing calling convention in LibOS and glibc - Fixing futex behavior (FUTEX_WAIT takes relative time, FUTEX_WAIT_BITSET takes absolute time) - More system call implemented - More application working (NGINX)
70 lines
1.4 KiB
Bash
Executable File
70 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ "$1" == "SGX" ]; then
|
|
if [ "$SGX" != "0" ]; then
|
|
export SGX=1
|
|
# Sometimes, we end up with a stray SGX_RUN in the environment,
|
|
# which makes the Makefile.Host unhappy
|
|
unset SGX_RUN
|
|
# The interaction of SGX and SGX_RUN is getting pretty unwieldly.
|
|
# We should kill off SGX_RUN. Here, we can get in trouble
|
|
# if the make invocation below gets SGX_RUN via an MAKEFLAGS
|
|
# from a wrapper makefile (e.g., the regression tests)
|
|
unset MAKEFLAGS
|
|
fi
|
|
shift
|
|
fi
|
|
|
|
RUNTIME_DIR=$(/usr/bin/dirname $(readlink -f ${BASH_SOURCE[0]}))
|
|
PAL_HOST=$(/usr/bin/make --quiet -f $RUNTIME_DIR/../Pal/src/Makefile.Host print_host 2>&1)
|
|
|
|
MANIFEST=
|
|
PREFIX=
|
|
PAL_CMD=$RUNTIME_DIR/pal-$PAL_HOST
|
|
|
|
if [ "$GDB" == "1" ]; then
|
|
GDB=$RUNTIME_DIR/pal_gdb-$PAL_HOST
|
|
if [ ! -f $GDB ]; then
|
|
GDB="/usr/bin/gdb"
|
|
fi
|
|
fi
|
|
|
|
if [ "$GDB" != "" ] && [ "$GDB" != "0" ]; then
|
|
PREFIX="$GDB --args"
|
|
fi
|
|
|
|
if [ "$PERF" == "1" ]; then
|
|
PREFIX="perf stat"
|
|
fi
|
|
|
|
if [ "$MEMUSG" == "1" ]; then
|
|
PREFIX="$RUNTIME_DIR/../Scripts/memusg"
|
|
fi
|
|
|
|
if [ "$PERF" == "1" ]; then
|
|
GDB_CMD="perf stat"
|
|
fi
|
|
|
|
if [ "$SEC" == "1" ]; then
|
|
echo "Use reference monitor"
|
|
PAL_CMD=$RUNTIME_DIR/pal_sec-$PAL_HOST
|
|
fi
|
|
|
|
while [ "$1" != "" ];
|
|
do
|
|
if [ "$MANIFEST" == "" ]; then
|
|
MANIFEST=$1
|
|
shift
|
|
continue
|
|
fi
|
|
|
|
break
|
|
done
|
|
|
|
if [ ! -f "$PAL_CMD" ]; then
|
|
echo "$PAL_CMD is not built, or security mode is not supported"
|
|
exit 1
|
|
fi
|
|
|
|
exec $PREFIX $PAL_CMD $MANIFEST "$@"
|