mirror of
https://github.com/lifting-bits/mcsema
synced 2026-06-08 15:31:09 +00:00
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:
+1
-1
@@ -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
@@ -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>
|
||||
|
||||
@@ -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
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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 +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 +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
|
||||
@@ -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
Reference in New Issue
Block a user