Build Tests in Travis (#406)

Always generate integration tests and then run the generated integration tests travis. We get around a lack of IDA by providing pre-built CFGs for examples.

Closes #407
This commit is contained in:
artemdinaburg
2018-05-22 21:13:43 -04:00
committed by GitHub
parent a708bafc42
commit d2582c7abd
231 changed files with 5902 additions and 13072 deletions
+1 -1
View File
@@ -100,7 +100,7 @@ endif()
#TODO(artem): this may need some logic to select only ABIs compatible with current os/arch
#TODO(kumarak): Disable the ABI libraries build till we don't have script to automate the generation of `ABI_libc.h`. Use pre-build library to test the --abi_libraries flag
#add_subdirectory(mcsema/OS/Linux)
add_subdirectory(mcsema/OS/Linux)
install(
TARGETS ${MCSEMA_LIFT}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+273 -267
View File
@@ -9,283 +9,289 @@
#define _REGEX_RE_COMP
#define _BSD_SOURCE 1
#include <aio.h>
#include <aliases.h>
#include <alloca.h>
#include <argp.h>
#include <argz.h>
#include <ar.h>
#include <arpa/inet.h>
#include <asm/prctl.h>
#include <assert.h>
#include <byteswap.h>
#include <com_err.h>
#include <complex.h>
#include <cpio.h>
#include <crypt.h>
#include <ctype.h>
#include <dirent.h>
#include <dlfcn.h>
#include <elf.h>
#include <endian.h>
#include <envz.h>
#include <err.h>
#include <errno.h>
#include <error.h>
#include <eti.h>
#include <execinfo.h>
#include <fcntl.h>
#include <features.h>
#include <fenv.h>
#include <float.h>
#include <fmtmsg.h>
#include <fnmatch.h>
#include <form.h>
#include <fpu_control.h>
#include <fstab.h>
#include <fts.h>
#include <ftw.h>
#include <gconv.h>
#include <gcrypt.h>
#include <getopt.h>
#include <glob.h>
#include <gnu/libc-version.h>
#include <gnumake.h>
#include <gnu-versions.h>
#include <grp.h>
#include <gshadow.h>
#include <gssapi.h>
#include <hwloc.h>
#include <iconv.h>
#include <ifaddrs.h>
#include <inttypes.h>
#include <iso646.h>
#include <kdb.h>
#include <krb5.h>
#include <langinfo.h>
#include <lastlog.h>
#include <lber.h>
#include <lber_types.h>
#include <ldap_cdefs.h>
#include <ldap_features.h>
#include <ldap.h>
#include <ldap_schema.h>
#include <ldap_utf8.h>
#include <ldif.h>
#include <libgen.h>
#include <libintl.h>
#include <libio.h>
#include <libsync.h>
#include <limits.h>
#include <link.h>
#include <locale.h>
#include <lz4frame.h>
#include <lz4.h>
#include <lz4hc.h>
#include <lzma.h>
#include <magic.h>
#include <malloc.h>
#include <math.h>
#include <nfs/nfs.h>
#include <mcheck.h>
#include <memory.h>
#include <menu.h>
#include <mntent.h>
#include <monetary.h>
#include <mpc.h>
#include <mpf2mpfr.h>
#include <mpfr.h>
#include <mqueue.h>
#include <nc_tparm.h>
#include <ncurses_dll.h>
#include <ncurses.h>
#include <netdb.h>
#include <net/if.h>
#include <netinet/ether.h>
#include <netinet/icmp6.h>
#include <netinet/if_ether.h>
#include <netinet/if_fddi.h>
#include <netinet/if_tr.h>
#include <netinet/igmp.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netinet/ip6.h>
#include <netinet/ip.h>
#include <features.h>
#include <dlfcn.h>
#include <unistd.h>
#include <argp.h>
#include <neteconet/ec.h>
#include <netinet/ip_icmp.h>
#include <netinet/tcp.h>
#include <netinet/if_ether.h>
#include <netinet/ip.h>
#include <netinet/udp.h>
#include <nl_types.h>
#include <netinet/in.h>
#include <netinet/ip6.h>
#include <netinet/ether.h>
#include <netinet/in_systm.h>
#include <netinet/tcp.h>
#include <netinet/if_tr.h>
#include <netinet/icmp6.h>
#include <netinet/igmp.h>
#include <netinet/if_fddi.h>
#include <wordexp.h>
#include <tgmath.h>
#include <complex.h>
#include <netatalk/at.h>
#include <ar.h>
#include <rpcsvc/spray.h>
#include <rpcsvc/nis_tags.h>
#include <rpcsvc/klm_prot.h>
#include <rpcsvc/sm_inter.h>
#include <rpcsvc/nlm_prot.h>
#include <rpcsvc/nis.h>
#include <rpcsvc/nis_callback.h>
//#include <rpcsvc/yppasswd.h>
#include <rpcsvc/key_prot.h>
#include <rpcsvc/rusers.h>
#include <rpcsvc/nislib.h>
#include <rpcsvc/ypclnt.h>
#include <rpcsvc/rex.h>
#include <rpcsvc/mount.h>
#include <rpcsvc/bootparam.h>
#include <rpcsvc/ypupd.h>
#include <rpcsvc/rstat.h>
//#include <rpcsvc/yp.h>
//#include <rpcsvc/nfs_prot.h>
#include <rpcsvc/rquota.h>
//#include <rpcsvc/yp_prot.h>
#include <rpcsvc/bootparam_prot.h>
#include <netipx/ipx.h>
#include <_G_config.h>
#include <libio.h>
#include <strings.h>
#include <nss.h>
#include <numa.h>
#include <obstack.h>
#include <panel.h>
#include <paths.h>
#include <netrom/netrom.h>
#include <malloc.h>
#include <x86_64-linux-gnu/ieee754.h>
#include <x86_64-linux-gnu/sys/timerfd.h>
#include <x86_64-linux-gnu/sys/timeb.h>
#include <x86_64-linux-gnu/sys/unistd.h>
#include <x86_64-linux-gnu/sys/debugreg.h>
#include <x86_64-linux-gnu/sys/utsname.h>
#include <x86_64-linux-gnu/sys/ioctl.h>
#include <x86_64-linux-gnu/sys/reg.h>
#include <x86_64-linux-gnu/sys/socketvar.h>
#include <x86_64-linux-gnu/sys/sysinfo.h>
#include <x86_64-linux-gnu/sys/socket.h>
#include <x86_64-linux-gnu/sys/poll.h>
#include <x86_64-linux-gnu/sys/vt.h>
#include <x86_64-linux-gnu/sys/uio.h>
#include <x86_64-linux-gnu/sys/msg.h>
#include <x86_64-linux-gnu/sys/stat.h>
#include <x86_64-linux-gnu/sys/klog.h>
#include <x86_64-linux-gnu/sys/termios.h>
#include <x86_64-linux-gnu/sys/ipc.h>
#include <x86_64-linux-gnu/sys/mtio.h>
#include <x86_64-linux-gnu/sys/ttychars.h>
#include <x86_64-linux-gnu/sys/select.h>
#include <x86_64-linux-gnu/sys/ultrasound.h>
#include <x86_64-linux-gnu/sys/times.h>
#include <x86_64-linux-gnu/sys/un.h>
#include <x86_64-linux-gnu/sys/eventfd.h>
#include <x86_64-linux-gnu/sys/xattr.h>
#include <x86_64-linux-gnu/sys/fanotify.h>
#include <x86_64-linux-gnu/sys/statvfs.h>
#include <x86_64-linux-gnu/sys/shm.h>
#include <x86_64-linux-gnu/sys/resource.h>
#include <x86_64-linux-gnu/sys/raw.h>
#include <x86_64-linux-gnu/sys/syslog.h>
#include <x86_64-linux-gnu/sys/syscall.h>
#include <x86_64-linux-gnu/sys/epoll.h>
#include <x86_64-linux-gnu/sys/quota.h>
#include <x86_64-linux-gnu/sys/ptrace.h>
#include <x86_64-linux-gnu/sys/stropts.h>
#include <x86_64-linux-gnu/sys/cdefs.h>
#include <x86_64-linux-gnu/sys/personality.h>
#include <x86_64-linux-gnu/sys/dir.h>
#include <x86_64-linux-gnu/sys/swap.h>
#include <x86_64-linux-gnu/sys/user.h>
#include <x86_64-linux-gnu/sys/ucontext.h>
#include <x86_64-linux-gnu/sys/bitypes.h>
#include <x86_64-linux-gnu/sys/vtimes.h>
#include <x86_64-linux-gnu/sys/gmon_out.h>
#include <x86_64-linux-gnu/sys/signal.h>
#include <x86_64-linux-gnu/sys/fcntl.h>
#include <x86_64-linux-gnu/sys/prctl.h>
#include <x86_64-linux-gnu/sys/inotify.h>
#include <x86_64-linux-gnu/sys/kd.h>
#include <x86_64-linux-gnu/sys/errno.h>
#include <x86_64-linux-gnu/sys/profil.h>
#include <x86_64-linux-gnu/sys/acct.h>
#include <x86_64-linux-gnu/sys/sem.h>
#include <x86_64-linux-gnu/sys/perm.h>
#include <x86_64-linux-gnu/sys/signalfd.h>
#include <x86_64-linux-gnu/sys/sysmacros.h>
#include <x86_64-linux-gnu/sys/param.h>
#include <x86_64-linux-gnu/sys/reboot.h>
//#include <x86_64-linux-gnu/sys/kdaemon.h>
#include <x86_64-linux-gnu/sys/auxv.h>
#include <x86_64-linux-gnu/sys/file.h>
#include <x86_64-linux-gnu/sys/sysctl.h>
#include <x86_64-linux-gnu/sys/wait.h>
#include <x86_64-linux-gnu/sys/mman.h>
#include <x86_64-linux-gnu/sys/mount.h>
#include <x86_64-linux-gnu/sys/sendfile.h>
#include <x86_64-linux-gnu/sys/soundcard.h>
#include <x86_64-linux-gnu/sys/ttydefaults.h>
#include <x86_64-linux-gnu/sys/gmon.h>
#include <x86_64-linux-gnu/sys/fsuid.h>
#include <x86_64-linux-gnu/sys/procfs.h>
#include <x86_64-linux-gnu/sys/timex.h>
#include <x86_64-linux-gnu/sys/vfs.h>
#include <x86_64-linux-gnu/sys/queue.h>
#include <x86_64-linux-gnu/sys/statfs.h>
#include <x86_64-linux-gnu/sys/pci.h>
#include <x86_64-linux-gnu/sys/types.h>
#include <x86_64-linux-gnu/sys/io.h>
#include <x86_64-linux-gnu/sys/ustat.h>
#include <x86_64-linux-gnu/sys/vlimit.h>
#include <x86_64-linux-gnu/sys/time.h>
#include <x86_64-linux-gnu/a.out.h>
#include <x86_64-linux-gnu/gnu/stubs.h>
#include <x86_64-linux-gnu/gnu/stubs-64.h>
#include <x86_64-linux-gnu/gnu/libc-version.h>
//#include <x86_64-linux-gnu/gnu/option-groups.h>
#include <x86_64-linux-gnu/gnu/lib-names.h>
#include <x86_64-linux-gnu/fpu_control.h>
#include <string.h>
#include <poll.h>
#include <printf.h>
#include <profile.h>
#include <pthread.h>
#include <locale.h>
#include <protocols/rwhod.h>
#include <protocols/routed.h>
#include <protocols/talkd.h>
#include <protocols/timed.h>
#include <utime.h>
#include <netrose/rose.h>
#include <dirent.h>
#include <gconv.h>
#include <ifaddrs.h>
#include <pty.h>
#include <pwd.h>
#include <re_comp.h>
#include <regex.h>
#include <limits.h>
#include <net/ppp_defs.h>
#include <net/if_arp.h>
#include <net/if_slip.h>
#include <net/if_packet.h>
#include <net/ethernet.h>
#include <net/if.h>
#include <net/if_ppp.h>
#include <net/ppp-comp.h>
#include <net/route.h>
#include <net/if_shaper.h>
#include <termios.h>
#include <mqueue.h>
#include <glob.h>
#include <resolv.h>
#include <rpc/auth_des.h>
#include <rpc/auth.h>
#include <rpc/auth_unix.h>
#include <rpc/clnt.h>
#include <rpc/des_crypt.h>
#include <rpc/key_prot.h>
#include <rpc/netdb.h>
#include <rpc/pmap_clnt.h>
#include <rpc/pmap_prot.h>
#include <rpc/pmap_rmt.h>
#include <rpc/rpc_des.h>
#include <rpc/rpc.h>
#include <rpc/rpc_msg.h>
#include <rpc/svc_auth.h>
#include <rpc/svc.h>
#include <rpc/types.h>
#include <rpc/xdr.h>
#include <sched.h>
#include <search.h>
#include <semaphore.h>
#include <netpacket/packet.h>
#include <obstack.h>
#include <sysexits.h>
#include <setjmp.h>
#include <sgtty.h>
#include <shadow.h>
#include <signal.h>
#include <spawn.h>
#include <stab.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stdc-predef.h>
#include <stddef.h>
#include <ttyent.h>
#include <utmp.h>
#include <fnmatch.h>
#include <arpa/tftp.h>
#include <arpa/ftp.h>
#include <arpa/inet.h>
#include <arpa/telnet.h>
#include <arpa/nameser.h>
#include <arpa/nameser_compat.h>
#include <memory.h>
#include <syslog.h>
#include <uchar.h>
#include <syscall.h>
#include <stdint.h>
#include <stdio_ext.h>
#include <paths.h>
#include <assert.h>
#include <fmtmsg.h>
#include <endian.h>
#include <stropts.h>
#include <values.h>
#include <crypt.h>
#include <xlocale.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <stropts.h>
#include <sudo_plugin.h>
#include <sys/acct.h>
#include <sys/acl.h>
#include <sys/auxv.h>
#include <sys/bitypes.h>
#include <syscall.h>
#include <sys/capability.h>
#include <sys/cdefs.h>
#include <sys/debugreg.h>
#include <sys/dir.h>
#include <sys/epoll.h>
#include <sys/errno.h>
#include <sys/eventfd.h>
#include <sysexits.h>
#include <sys/fanotify.h>
#include <sys/fcntl.h>
#include <sys/file.h>
#include <sys/fsuid.h>
#include <sys/gmon.h>
#include <sys/gmon_out.h>
#include <sys/inotify.h>
#include <sys/ioctl.h>
#include <sys/io.h>
#include <sys/ipc.h>
#include <sys/kd.h>
#include <sys/klog.h>
#include <syslog.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/msg.h>
#include <sys/mtio.h>
#include <sys/param.h>
#include <sys/pci.h>
#include <sys/perm.h>
#include <sys/personality.h>
#include <sys/poll.h>
#include <sys/prctl.h>
#include <sys/procfs.h>
#include <sys/profil.h>
#include <sys/ptrace.h>
#include <sys/queue.h>
#include <sys/quota.h>
#include <sys/raw.h>
#include <sys/reboot.h>
#include <sys/reg.h>
#include <sys/resource.h>
#include <sys/select.h>
#include <sys/sem.h>
#include <sys/sendfile.h>
#include <sys/shm.h>
#include <sys/signalfd.h>
#include <sys/signal.h>
#include <sys/socket.h>
#include <sys/socketvar.h>
#include <sys/soundcard.h>
#include <sys/statfs.h>
#include <sys/stat.h>
#include <sys/statvfs.h>
#include <sys/stropts.h>
#include <sys/swap.h>
#include <sys/syscall.h>
#include <sys/sysctl.h>
#include <sys/sysinfo.h>
#include <sys/syslog.h>
#include <sys/sysmacros.h>
#include <sys/termios.h>
#include <sys/timeb.h>
#include <sys/time.h>
#include <sys/timerfd.h>
#include <sys/times.h>
#include <sys/timex.h>
#include <sys/ttychars.h>
#include <sys/ttydefaults.h>
#include <sys/types.h>
#include <sys/ucontext.h>
#include <sys/uio.h>
#include <sys/ultrasound.h>
#include <sys/un.h>
#include <sys/unistd.h>
#include <sys/user.h>
#include <sys/ustat.h>
#include <sys/utsname.h>
#include <sys/vfs.h>
#include <sys/vlimit.h>
#include <sys/vt.h>
#include <sys/vtimes.h>
#include <sys/wait.h>
#include <sys/xattr.h>
#include <tar.h>
#include <tcpd.h>
#include <termcap.h>
#include <term.h>
#include <termio.h>
#include <termios.h>
#include <tgmath.h>
#include <thread_db.h>
#include <time.h>
#include <ttyent.h>
#include <uchar.h>
#include <sgtty.h>
#include <ucontext.h>
#include <ulimit.h>
#include <unbound.h>
#include <unctrl.h>
#include <unistd.h>
#include <ustat.h>
#include <utime.h>
#include <utmp.h>
#include <utmpx.h>
#include <uv-errno.h>
#include <uv.h>
#include <uv-linux.h>
#include <uv-threadpool.h>
#include <uv-unix.h>
#include <uv-version.h>
#include <values.h>
#include <wait.h>
#include <wchar.h>
#include <spawn.h>
#include <signal.h>
#include <stab.h>
#include <thread_db.h>
#include <cpio.h>
#include <fcntl.h>
#include <printf.h>
#include <monetary.h>
#include <mntent.h>
//#include <regexp.h>
#include <langinfo.h>
#include <regex.h>
#include <re_comp.h>
#include <lastlog.h>
#include <ctype.h>
#include <semaphore.h>
#include <argz.h>
#include <errno.h>
#include <scsi/scsi_ioctl.h>
#include <scsi/scsi.h>
#include <scsi/sg.h>
#include <libintl.h>
#include <wctype.h>
#include <wordexp.h>
#include <xlocale.h>
#include <xtables.h>
#include <xtables-version.h>
#include <zconf.h>
#include <netash/ash.h>
#include <gnu-versions.h>
#include <pthread.h>
#include <alloca.h>
#include <fenv.h>
#include <getopt.h>
#include <pwd.h>
#include <execinfo.h>
#include <fstab.h>
#include <link.h>
#include <ftw.h>
#include <netdb.h>
#include <wchar.h>
#include <libgen.h>
#include <sched.h>
#include <gshadow.h>
#include <rpc/des_crypt.h>
#include <rpc/xdr.h>
#include <rpc/auth_des.h>
#include <rpc/pmap_prot.h>
#include <rpc/pmap_rmt.h>
#include <rpc/svc_auth.h>
#include <rpc/pmap_clnt.h>
#include <rpc/key_prot.h>
#include <rpc/rpc_msg.h>
#include <rpc/clnt.h>
#include <rpc/netdb.h>
#include <rpc/rpc.h>
#include <rpc/svc.h>
#include <rpc/auth_unix.h>
#include <rpc/rpc_des.h>
#include <rpc/types.h>
#include <rpc/auth.h>
#include <wait.h>
#include <shadow.h>
#include <utmpx.h>
#include <stdio_ext.h>
#include <iconv.h>
#include <netiucv/iucv.h>
#include <error.h>
#include <envz.h>
#include <termio.h>
#include <search.h>
#include <math.h>
#include <aio.h>
#include <stdc-predef.h>
#include <ulimit.h>
#include <grp.h>
#include <byteswap.h>
#include <nl_types.h>
#include <inttypes.h>
#include <aliases.h>
#include <elf.h>
#include <tar.h>
#include <fts.h>
#include <ustat.h>
#include <time.h>
#include <err.h>
#include <netax25/ax25.h>
+8 -8
View File
@@ -31,15 +31,15 @@ set(CURRENT_OS linux)
set(LINUXABI_INCLUDEDIRECTORIES ${CMAKE_SOURCE_DIR})
function (add_runtime_helper target_name target_arch address_bit_size)
function (add_runtime_helper language target_name target_arch address_bit_size)
message(" > Generating ${CURRENT_OS} ABI target: ${target_name}")
# example name: ABI_libc_x86.bc
set(full_name ${target_name}_${target_arch})
# remove this warning as the ABI libraries need to capture deprecated declarations
set_source_files_properties(${target_name}.cpp PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations")
add_runtime(${full_name} SOURCES ${target_name}.cpp ADDRESS_SIZE ${address_bit_size})
set_source_files_properties(${target_name}.${language} PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations")
add_runtime(${full_name} SOURCES ${target_name}.${language} ADDRESS_SIZE ${address_bit_size})
target_include_directories(${full_name} PRIVATE ${LINUXABI_INCLUDEDIRECTORIES})
@@ -48,11 +48,11 @@ function (add_runtime_helper target_name target_arch address_bit_size)
endfunction ()
# X86 ABIs
add_runtime_helper(ABI_exceptions x86 32)
add_runtime_helper(ABI_libc x86 32)
add_runtime_helper(cpp ABI_exceptions x86 32)
add_runtime_helper(c ABI_libc x86 32)
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
# AMD64 ABIs
add_runtime_helper(ABI_exceptions amd64 64)
add_runtime_helper(ABI_libc amd64 64)
# AMD64 ABIs
add_runtime_helper(cpp ABI_exceptions amd64 64)
add_runtime_helper(c ABI_libc amd64 64)
endif ()
+35 -3
View File
@@ -74,6 +74,8 @@ linux_build() {
local original_path="${PATH}"
local log_file=`mktemp`
# set up ada support for cmake
llvm_version_list=( "35" "36" "37" "38" "39" "40" "50" )
for llvm_version in "${llvm_version_list[@]}" ; do
printf "#\n"
@@ -257,10 +259,10 @@ linux_build_helper() {
printf " > Building...\n"
if [ "${llvm_version:0:1}" != "4" ] ; then
printf " i Clang static analyzer not supported on this LLVM release\n"
( cd build && make -j `nproc` ) > "${log_file}" 2>&1
#( cd build && make -j `nproc` ) > "${log_file}" 2>&1
else
printf " i Clang static analyzer enabled\n"
( cd build && scan-build --show-description --status-bugs make -j `nproc` ) > "${log_file}" 2>&1
#( cd build && scan-build --show-description --status-bugs make -j `nproc` ) > "${log_file}" 2>&1
fi
if [ $? -ne 0 ] ; then
@@ -281,9 +283,38 @@ linux_build_helper() {
printf " > Build succeeded\n"
printf " > Building Integration Test Suite...\n"
pushd ./remill/tools/mcsema/tests/test_suite_generator
mkdir build
( cd build && cmake -DMCSEMA_PREBUILT_CFG_PATH=$(pwd)/../generated/prebuilt_cfg -DCMAKE_VERBOSE_MAKEFILE=True .. ) > "${log_file}" 2>&1
if [ $? -ne 0 ] ; then
printf " x Failed to generate test suite project. Error output follows:\n"
printf "===\n"
cat "${log_file}"
return 1
fi
( cd build && make ) > "${log_file}" 2>&1
if [ $? -ne 0 ] ; then
printf " x Failed to build test suite. Output below:\n"
printf "===\n"
cat "${log_file}"
return 1
fi
( cd build && make install ) > "${log_file}" 2>&1
if [ $? -ne 0 ] ; then
printf " x Failed to install test suite. Output below:\n"
printf "===\n"
cat "${log_file}"
return 1
fi
popd
printf "\n\n\nCalling the integration test suite...\n"
local test_log_file=`mktemp`
( cd ./remill/tools/mcsema/tests/test_suite && ./start.py ) > "${test_log_file}" 2>&1
( cd ./remill/tools/mcsema/tests/test_suite_generator/test_suite && ./start.py ) > "${test_log_file}" 2>&1
if [ $? -ne 0 ] ; then
printf " x Failed the integration test suite:\n"
printf "===\n"
@@ -291,6 +322,7 @@ linux_build_helper() {
return 1
fi
return 0
}
-8
View File
@@ -5,14 +5,6 @@ All modifications should happen to `test_suite_generator`
## Building `test_suite_generator`:
Install ADA Langauge Support for CMake:
```sh
git clone git@github.com:offa/cmake-ada.git
cd cmake-ada
sudo cmake -P install.cmake
```
Build the tests:
```sh
@@ -1,103 +0,0 @@
namespace __cxxabiv1 {}
#include <cstddef>
#include <cstdint>
#include <typeinfo>
#include <unwind.h>
using namespace __cxxabiv1;
extern "C" {
void* __cxa_allocate_exception(size_t thrown_size);
void __cxa_free_exception(void * thrown_exception) ;
void* __cxa_allocate_dependent_exception() ;
void __cxa_free_dependent_exception (void* dependent_exception);
void __cxa_throw(void* thrown_exception, class std::type_info * tinfo, void (*dest)(void*));
void* __cxa_get_exception_ptr(void* exceptionObject);
void* __cxa_begin_catch(void* exceptionObject);
void __cxa_end_catch();
std::type_info* __cxa_current_exception_type();
void __cxa_rethrow();
void* __cxa_current_primary_exception();
void __cxa_decrement_exception_refcount(void* primary_exception);
struct __cxa_eh_globals;
__cxa_eh_globals* __cxa_get_globals();
__cxa_eh_globals* __cxa_get_globals_fast();
void __cxa_increment_exception_refcount(void* primary_exception);
void __cxa_rethrow_primary_exception(void* primary_exception);
bool __cxa_uncaught_exception();
_Unwind_Reason_Code __gxx_personality_v0 (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *, struct _Unwind_Context *);
int __cxa_guard_acquire(uint64_t* guard_object);
void __cxa_guard_release(uint64_t*);
void __cxa_guard_abort(uint64_t*);
void* __cxa_vec_new(size_t element_count, size_t element_size, size_t padding_size, void (*constructor)(void*), void (*destructor)(void*) );
void* __cxa_vec_new2(size_t element_count, size_t element_size, size_t padding_size, void (*constructor)(void*), void (*destructor)(void*), void* (*alloc)(size_t), void (*dealloc)(void*) );
void* __cxa_vec_new3(size_t element_count, size_t element_size, size_t padding_size, void (*constructor)(void*), void (*destructor)(void*), void* (*alloc)(size_t), void (*dealloc)(void*, size_t) );
void __cxa_vec_ctor(void* array_address, size_t element_count, size_t element_size, void (*constructor)(void*), void (*destructor)(void*) );
void __cxa_vec_dtor(void* array_address, size_t element_count, size_t element_size, void (*destructor)(void*) );
void __cxa_vec_cleanup(void* array_address, size_t element_count, size_t element_size, void (*destructor)(void*) );
void __cxa_vec_delete(void* array_address, size_t element_size, size_t padding_size, void (*destructor)(void*) );
void __cxa_vec_delete2(void* array_address, size_t element_size, size_t padding_size, void (*destructor)(void*), void (*dealloc)(void*) );
void __cxa_vec_delete3(void* __array_address, size_t element_size, size_t padding_size, void (*destructor)(void*), void (*dealloc) (void*, size_t));
void __cxa_vec_cctor(void* dest_array, void* src_array, size_t element_count, size_t element_size, void (*constructor) (void*, void*), void (*destructor)(void*) );
void (*__cxa_new_handler)();
void (*__cxa_terminate_handler)();
void (*__cxa_unexpected_handler)();
void __cxa_bad_cast() __attribute__((noreturn));
void __cxa_bad_typeid() __attribute__((noreturn));
void __cxa_pure_virtual(void);
void __cxa_call_unexpected (void*) __attribute__((noreturn));
char* __cxa_demangle(const char* mangled_name, char* output_buffer, size_t* length, int* status);
void* __dynamic_cast(const void* __src_ptr, const __class_type_info* __src_type, const __class_type_info* __dst_type, ptrdiff_t __src2dst);
void _Unwind_Resume(struct _Unwind_Exception *object);
void *malloc(size_t size);
void *realloc(void *ptr, size_t size);
void free(void *ptr);
void *memset(void *str, int c, size_t n);
} // extern C
__attribute__((used))
void *__mcsema_externs[] = {
reinterpret_cast<void *>(__cxa_allocate_exception),
reinterpret_cast<void *>(__cxa_free_exception),
reinterpret_cast<void *>(__cxa_allocate_dependent_exception),
reinterpret_cast<void *>(__cxa_free_dependent_exception),
reinterpret_cast<void *>(__cxa_throw),
reinterpret_cast<void *>(__cxa_get_exception_ptr),
reinterpret_cast<void *>(__cxa_begin_catch),
reinterpret_cast<void *>(__cxa_end_catch),
reinterpret_cast<void *>(__cxa_current_exception_type),
reinterpret_cast<void *>(__cxa_rethrow),
reinterpret_cast<void *>(__cxa_current_primary_exception),
reinterpret_cast<void *>(__cxa_decrement_exception_refcount),
reinterpret_cast<void *>(__cxa_get_globals),
reinterpret_cast<void *>(__cxa_get_globals_fast),
reinterpret_cast<void *>(__cxa_increment_exception_refcount),
reinterpret_cast<void *>(__cxa_rethrow_primary_exception),
reinterpret_cast<void *>(__cxa_uncaught_exception),
reinterpret_cast<void *>(__cxa_guard_acquire),
reinterpret_cast<void *>(__cxa_guard_release),
reinterpret_cast<void *>(__cxa_guard_abort),
reinterpret_cast<void *>(__cxa_vec_new),
reinterpret_cast<void *>(__cxa_vec_new2),
reinterpret_cast<void *>(__cxa_vec_new3),
reinterpret_cast<void *>(__cxa_vec_ctor),
reinterpret_cast<void *>(__cxa_vec_dtor),
reinterpret_cast<void *>(__cxa_vec_cleanup),
reinterpret_cast<void *>(__cxa_vec_delete),
reinterpret_cast<void *>(__cxa_vec_delete2),
reinterpret_cast<void *>(__cxa_vec_delete3),
reinterpret_cast<void *>(__cxa_vec_cctor),
reinterpret_cast<void *>(__cxa_new_handler),
reinterpret_cast<void *>(__cxa_terminate_handler),
reinterpret_cast<void *>(__cxa_unexpected_handler),
reinterpret_cast<void *>(__cxa_bad_cast),
reinterpret_cast<void *>(__cxa_bad_typeid),
reinterpret_cast<void *>(__cxa_pure_virtual),
reinterpret_cast<void *>(__cxa_call_unexpected),
reinterpret_cast<void *>(__cxa_demangle),
reinterpret_cast<void *>(_Unwind_Resume),
reinterpret_cast<void *>(malloc),
reinterpret_cast<void *>(realloc),
reinterpret_cast<void *>(free),
reinterpret_cast<void *>(memset),
};
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1 +0,0 @@
-Wall;
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
-Wall;-Werror
@@ -1 +0,0 @@
A simple Ada threading application
-1
View File
@@ -1 +0,0 @@
Simple ARC4 encoding/decoding.
@@ -1 +0,0 @@
Test constructor and destructor ELF features for C++ programs
@@ -1 +0,0 @@
C++ exception testcase.
@@ -1 +0,0 @@
A gzip 1.6 executable.
@@ -1 +0,0 @@
A simple hello world.
@@ -1 +0,0 @@
ls (GNU coreutils) 8.25
@@ -1 +0,0 @@
OpenBSD netcat (Debian patchlevel 1.105-7ubuntu1)
@@ -1 +0,0 @@
a simple pthread example
@@ -1 +0,0 @@
a simple pthread example
@@ -1 +0,0 @@
A C++ pthread example
@@ -1 +0,0 @@
A program that tests the string pooling optimization of the compiler.
-1
View File
@@ -1 +0,0 @@
A simple switch test.
@@ -1 +0,0 @@
xz (XZ Utils) 5.1.0alpha, using liblzma 5.1.0alpha
@@ -1 +0,0 @@
5
@@ -1 +0,0 @@
--version
@@ -1 +0,0 @@
--version
@@ -1 +0,0 @@
-h
@@ -1 +0,0 @@
10
-20
View File
@@ -1,20 +0,0 @@
0
1
2
4
6
12
13
19
255
74633
74634
74635
74636
74637
74638
74639
74640
74641
74642
74643
@@ -1 +0,0 @@
--version
@@ -1 +0,0 @@
-lgnat;-lgnarl
@@ -1 +0,0 @@
-lm -lgnat -lpthread -lgnarl
@@ -1 +0,0 @@
-lgnat;-lgnarl
@@ -1 +0,0 @@
-lgnat;-lgnarl

Some files were not shown because too many files have changed in this diff Show More