[LLVMdev] Adding ClamAV to the llvm testsuite (long)

Evan Cheng evan.cheng at apple.com
Mon Jan 7 23:54:31 PST 2008


Hi Edwin,

I ran into two problems.

1. Using your config file and Makefile, I ran into issue compiling  
with gcc:

gcc -I/Users/echeng/LLVM/llvm/projects/llvm-test/MultiSource/ 
Applications/ClamAV -I/Users/echeng/LLVM/llvm/projects/llvm-test/ 
MultiSource/Applications/ClamAV -I/\Users/echeng/LLVM/llvm/include -I/ 
Users/echeng/LLVM/llvm/projects/llvm-test/include -I../../..//include  
-I/Users/echeng/LLVM/llvm/include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS  
-O3 -O2 -mdynamic-no-pic -fomit-frame-pointer -c clamscan_clamscan.c - 
o Output/clamscan_clamscan.o
clamscan_clamscan.c:39:26: error: clamscan_opt.h: No such file or  
directory
clamscan_clamscan.c:40:29: error: clamscan/others.h: No such file or  
directory

llvm-gcc compiles this just fine:

/Users/echeng/LLVM/install/bin/llvm-gcc -I/Users/echeng/LLVM/llvm/ 
projects/llvm-test/MultiSource/Applications/ClamAV -I/Users/echeng/ 
LLVM/llvm/projects/llvm-test\/MultiSource/Applications/ClamAV -I/ 
Users/echeng/LLVM/llvm/include -I/Users/echeng/LLVM/llvm/projects/ 
llvm-test/include -I../../..//include -I/Users/echeng/LLVM/\llvm/ 
include -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DHAVE_CONFIG_H -Iinclude/ 
libclamav/regex/ -Iinclude/libclamav/nsis -Iinclude/libclamav/lzma - 
Iinclude/libclamav\ -Iinclude/shared -Iinclude/clamscan/ -Iinclude/ - 
DC_DARWIN -DFPU_WORDS_BIGENDIAN=0 -DWORDS_BIGENDIAN=0  -O2 -mdynamic- 
no-pic -fomit-frame-pointer -O0 -c clamsca\n_clamscan.c -o Output/ 
clamscan_clamscan.bc -emit-llvm

Looks like it's a makefile issue?

2. prepare.sh getdb doesn't work for me because I don't have wget.

Is it possible for you to get the complete source in a compilable  
state and send me a tar file instead?

A request: If it's possible, can you flatten the entire tree? That  
is, everything in the top level directory?

Thanks,

Evan

On Dec 18, 2007, at 1:24 PM, Török Edwin wrote:

> Chris Lattner wrote:
>> One way to do this is to add a "cut down" version of the app to the
>> test suite.
>
> I disabled optional features in clamav-config.h
>
>>
>>> 2. GPL license. Chris?
>>
>> Any open source license that allows unrestricted redistribution is
>> fine in llvm-test
>
> Ok, I have created a script that automatically checks out ClamAV
> 0.92-stable source code from svn, and moves files to match LLVM
> testsuite's requirements.
> It only checks out GPL files, it omits libclamunrar (which is not  
> GPL).
>
> Attaching all files. Let me know if you want to upload the entire
> package somewhere.
> For the moment I provide a script that automatically checks out  
> sources
> from ClamAV  svn repository (the tagged stable version).
>
> Please provide feedback on the scripts, and Makefile.
>
> What are the next steps required to add it to the testsuite?
>
> Now it knows to do this:
> edwin at lightspeed2:~/llvm-svn/llvm/projects/llvm-test/MultiSource/ 
> Applications/ClamAV$
> make ENABLE_OPTIMIZED=1 TEST=nightly report
> ....
> Program  | GCCAS  Bytecode LLC compile LLC-BETA compile JIT codegen |
> GCC     CBE     LLC     LLC-BETA JIT | GCC/CBE GCC/LLC GCC/LLC-BETA
> LLC/LLC-BETA
> clamscan | 6.2900 1728848  7.1709      *                *           |
> 12.71   12.75   13.49 *        *   | 1.00    0.94    n/a          n/a
>
>
> Chris Lattner wrote:
>>
>> Thanks, having a better testsuite is very very useful!
>
> Your welcome, if you encounter any problems with ClamAV (that isn't  
> due
> to my makefiles) you are welcome to open a bug on http:// 
> bugs.clamav.net
> For LLVM-testsuite build problems contact me directly.
>
>
> Thanks a lot,
> Edwin
> /* clamav-config.h.  Generated from clamav-config.h.in by  
> configure.  */
> /* clamav-config.h.in.  Generated from configure.in by autoheader.  */
>
> /* enable bind8 compatibility */
> /* #undef BIND_8_COMPAT */
>
> /* Define if your snprintf is busted */
> /* #undef BROKEN_SNPRINTF */
>
> /* "build clamd" */
> /* #undef BUILD_CLAMD */
>
> /* name of the clamav group */
> #define CLAMAVGROUP "clamav"
>
> /* name of the clamav user */
> #define CLAMAVUSER "clamav"
>
> /* enable clamuko */
> /* #undef CLAMUKO */
>
> /* enable debugging */
> /* #undef CL_DEBUG */
>
> /* enable experimental code */
> /* #undef CL_EXPERIMENTAL */
>
> /* thread safe */
> /* #undef CL_THREAD_SAFE */
>
> /* where to look for the config file */
> #define CONFDIR "/usr/local/etc"
>
> /* os is aix */
> /* #undef C_AIX */
>
> /* os is beos */
> /* #undef C_BEOS */
>
> /* Increase thread stack size. */
> /* #undef C_BIGSTACK */
>
> /* os is bsd flavor */
> /* #undef C_BSD */
>
> /* os is cygwin */
> /* #undef C_CYGWIN */
>
> /* os is darwin */
> /* #undef C_DARWIN */
>
> /* target is gnu-hurd */
> /* #undef C_GNU_HURD */
>
> /* os is hpux */
> /* #undef C_HPUX */
>
> /* os is interix */
> /* #undef C_INTERIX */
>
> /* os is irix */
> /* #undef C_IRIX */
>
> /* target is kfreebsd-gnu */
> /* #undef C_KFREEBSD_GNU */
>
> /* target is linux */
> /* #define C_LINUX 1 */
>
> /* os is OS/2 */
> /* #undef C_OS2 */
>
> /* os is osf/tru64 */
> /* #undef C_OSF */
>
> /* os is QNX 6.x.x */
> /* #undef C_QNX6 */
>
> /* os is solaris */
> /* #undef C_SOLARIS */
>
> /* Path to virus database directory. */
> #define DATADIR "/usr/local/share/clamav"
>
> /* "default FD_SETSIZE value" */
> #define DEFAULT_FD_SETSIZE 1024
>
> /* "build unrar code" */
> /* #undef ENABLE_UNRAR */
>
> /* file i/o buffer size */
> #define FILEBUFF 8192
>
> /* FPU byte ordering is little endian */
> #define FPU_WORDS_BIGENDIAN 0
>
> /* enable workaround for broken DNS servers */
> /* #undef FRESHCLAM_DNS_FIX */
>
> /* use "Cache-Control: no-cache" in freshclam */
> /* #undef FRESHCLAM_NO_CACHE */
>
> /* access rights in msghdr */
> /* #undef HAVE_ACCRIGHTS_IN_MSGHDR */
>
> /* attrib aligned */
> #define HAVE_ATTRIB_ALIGNED 1
>
> /* attrib packed */
> #define HAVE_ATTRIB_PACKED 1
>
> /* have bzip2 */
> /* #define HAVE_BZLIB_H 1 */
>
> /* ancillary data style fd pass */
> /* #define HAVE_CONTROL_IN_MSGHDR 1 */
>
> /* Define to 1 if you have the `ctime_r' function. */
> /* #define HAVE_CTIME_R 1 */
>
> /* ctime_r takes 2 arguments */
> /* #define HAVE_CTIME_R_2 1 */
>
> /* ctime_r takes 3 arguments */
> /* #undef HAVE_CTIME_R_3 */
>
> /* Define to 1 if you have the <dlfcn.h> header file. */
> /* #define HAVE_DLFCN_H 1 */
>
> /* Define to 1 if fseeko (and presumably ftello) exists and is  
> declared. */
> #define HAVE_FSEEKO 1
>
> /* gethostbyname_r takes 3 arguments */
> /* #undef HAVE_GETHOSTBYNAME_R_3 */
>
> /* gethostbyname_r takes 5 arguments */
> /* #undef HAVE_GETHOSTBYNAME_R_5 */
>
> /* gethostbyname_r takes 6 arguments */
> /* #undef HAVE_GETHOSTBYNAME_R_6 */
>
> /* Define to 1 if you have the `getpagesize' function. */
> /* #define HAVE_GETPAGESIZE 1 */
>
> /* have gmp installed */
> /* #undef HAVE_GMP */
>
> /* Define to 1 if you have the <grp.h> header file. */
>  #define HAVE_GRP_H 1
>
> /* Define to 1 if you have the <iconv.h> header file. */
> /* #define HAVE_ICONV_H 1 */
>
> /* Define to 1 if you have the `inet_ntop' function. */
> /* #define HAVE_INET_NTOP 1 */
>
> /* Define to 1 if you have the `initgroups' function. */
> /* #define HAVE_INITGROUPS 1 */
>
> /* Define to 1 if you have the <inttypes.h> header file. */
> /* #define HAVE_INTTYPES_H 1 */
>
> /* in_addr_t is defined */
> /* #define HAVE_IN_ADDR_T 1 */
>
> /* in_port_t is defined */
> /* #define HAVE_IN_PORT_T 1 */
>
> /* Define to 1 if you have the <libmilter/mfapi.h> header file. */
> /* #undef HAVE_LIBMILTER_MFAPI_H */
>
> /* Define to 1 if you have the <limits.h> header file. */
> #define HAVE_LIMITS_H 1
>
> /* Define to 1 if you have the <malloc.h> header file. */
> /* #define HAVE_MALLOC_H 1 */
>
> /* Define to 1 if you have the `memcpy' function. */
> #define HAVE_MEMCPY 1
>
> /* Define to 1 if you have the <memory.h> header file. */
> /* #define HAVE_MEMORY_H 1 */
>
> /* Define to 1 if you have the `mkstemp' function. */
> #define HAVE_MKSTEMP 1
>
> /* Define to 1 if you have a working `mmap' system call. */
> #define HAVE_MMAP 1
>
> /* Define to 1 if you have the <ndir.h> header file. */
> /* #undef HAVE_NDIR_H */
>
> /* Define to 1 if you have the `poll' function. */
> /* #define HAVE_POLL 1 */
>
> /* Define to 1 if you have the <poll.h> header file. */
> /* #define HAVE_POLL_H 1 */
>
> /* "pragma pack" */
> /* #undef HAVE_PRAGMA_PACK */
>
> /* "pragma pack hppa/hp-ux style" */
> /* #undef HAVE_PRAGMA_PACK_HPPA */
>
> /* Define to 1 if you have the <pwd.h> header file. */
> #define HAVE_PWD_H 1
>
> /* readdir_r takes 2 arguments */
> /* #undef HAVE_READDIR_R_2 */
>
> /* readdir_r takes 3 arguments */
> /* #undef HAVE_READDIR_R_3 */
>
> /* Define to 1 if you have the `recvmsg' function. */
> /* #define HAVE_RECVMSG 1 */
>
> /* have resolv.h */
> /* #undef HAVE_RESOLV_H */
>
> /* Define signed right shift implementation */
> #define HAVE_SAR 1
>
> /* Define to 1 if you have the `sendmsg' function. */
> /* #define HAVE_SENDMSG 1 */
>
> /* Define to 1 if you have the `setgroups' function. */
> /* #define HAVE_SETGROUPS 1 */
>
> /* Define to 1 if you have the `setsid' function. */
> /* #define HAVE_SETSID 1 */
>
> /* Define to 1 if you have the `snprintf' function. */
> #define HAVE_SNPRINTF 1
>
> /* Define to 1 if you have the <stdbool.h> header file. */
> #define HAVE_STDBOOL_H 1
>
> /* Define to 1 if you have the <stdint.h> header file. */
> #define HAVE_STDINT_H 1
>
> /* Define to 1 if you have the <stdlib.h> header file. */
> #define HAVE_STDLIB_H 1
>
> /* Define to 1 if you have the `strerror_r' function. */
> /* #define HAVE_STRERROR_R 1 */
>
> /* Define to 1 if you have the <strings.h> header file. */
> /* #define HAVE_STRINGS_H 1 */
>
> /* Define to 1 if you have the <string.h> header file. */
> #define HAVE_STRING_H 1
>
> /* Define to 1 if you have the `strlcat' function. */
> /* #undef HAVE_STRLCAT */
>
> /* Define to 1 if you have the `strlcpy' function. */
> /* #undef HAVE_STRLCPY */
>
> /* Define to 1 if you have the <sys/filio.h> header file. */
> /* #undef HAVE_SYS_FILIO_H */
>
> /* Define to 1 if you have the <sys/inttypes.h> header file. */
> /* #undef HAVE_SYS_INTTYPES_H */
>
> /* Define to 1 if you have the <sys/int_types.h> header file. */
> /* #undef HAVE_SYS_INT_TYPES_H */
>
> /* Define to 1 if you have the <sys/mman.h> header file. */
> #define HAVE_SYS_MMAN_H 1
>
> /* Define to 1 if you have the <sys/param.h> header file. */
> #define HAVE_SYS_PARAM_H 1
>
> /* "have <sys/select.h>" */
> /* #undef HAVE_SYS_SELECT_H */
>
> /* Define to 1 if you have the <sys/stat.h> header file. */
> #define HAVE_SYS_STAT_H 1
>
> /* Define to 1 if you have the <sys/types.h> header file. */
> #define HAVE_SYS_TYPES_H 1
>
> /* Define to 1 if you have the <sys/uio.h> header file. */
> /* #define HAVE_SYS_UIO_H 1 */
>
> /* Define to 1 if you have the <tcpd.h> header file. */
> /* #undef HAVE_TCPD_H */
>
> /* Define to 1 if you have the <termios.h> header file. */
> /* #define HAVE_TERMIOS_H 1 */
>
> /* Define to 1 if you have the <unistd.h> header file. */
> #define HAVE_UNISTD_H 1
>
> /* Define to 1 if you have the `vsnprintf' function. */
> #define HAVE_VSNPRINTF 1
>
> /* zlib installed */
> #define HAVE_ZLIB_H 1
>
> /* Early Linux doesn't set cmsg fields */
> /* #undef INCOMPLETE_CMSG */
>
> /* bzip funtions do not have bz2 prefix */
> /* #undef NOBZ2PREFIX */
>
> /* "no fd_set" */
> /* #undef NO_FD_SET */
>
> /* Name of package */
> #define PACKAGE "clamav"
>
> /* Define to the address where bug reports for this package should  
> be sent. */
> #define PACKAGE_BUGREPORT ""
>
> /* Define to the full name of this package. */
> #define PACKAGE_NAME ""
>
> /* Define to the full name and version of this package. */
> #define PACKAGE_STRING ""
>
> /* Define to the one symbol short name of this package. */
> #define PACKAGE_TARNAME ""
>
> /* Define to the version of this package. */
> #define PACKAGE_VERSION ""
>
> /* scan buffer size */
> #define SCANBUFF 131072
>
> /* location of Sendmail binary */
> /* #undef SENDMAIL_BIN */
>
> /* major version of Sendmail */
> /* #undef SENDMAIL_VERSION_A */
>
> /* minor version of Sendmail */
> /* #undef SENDMAIL_VERSION_B */
>
> /* subversion of Sendmail */
> /* #undef SENDMAIL_VERSION_C */
>
> /* Define to 1 if the `setpgrp' function takes no argument. */
> #define SETPGRP_VOID 1
>
> #if 0
> /* lets assume system has proper stdint that defines uintX_t. */
> /* The number of bytes in type int */
> /* #define SIZEOF_INT 4 */
>
> /* The number of bytes in type long */
> #define SIZEOF_LONG 8
>
> /* The number of bytes in type long long */
> #define SIZEOF_LONG_LONG 8
>
> /* The number of bytes in type short */
> #define SIZEOF_SHORT 2
> #endif
>
> /* Define to 1 if you have the ANSI C header files. */
> #define STDC_HEADERS 1
>
> /* use syslog */
> /* #define USE_SYSLOG 1 */
>
> /* Version number of package */
> #define VERSION "devel-20071218"
>
> /* tcpwrappers support */
> /* #undef WITH_TCPWRAP */
>
> /* endianess */
> /* #define WORDS_BIGENDIAN 0 */
>
> /* Define to 1 to make fseeko visible on some hosts (e.g. glibc  
> 2.2). */
> /* #undef _LARGEFILE_SOURCE */
>
> /* POSIX compatibility */
> /* #undef _POSIX_PII_SOCKET */
>
> /* thread safe */
> /* #undef _REENTRANT */
>
> /* Define to empty if `const' does not conform to ANSI C. */
> /* #undef const */
>
> /* Define to `__inline__' or `__inline' if that's what the C compiler
>    calls it, or to nothing if 'inline' is not supported under any  
> name.  */
> #ifndef __cplusplus
> /* #undef inline */
> #endif
>
> /* Define to `long int' if <sys/types.h> does not define. */
> /* #undef off_t */
>
> /* Define to "int" if <sys/socket.h> does not define. */
> /* #undef socklen_t */<filterdiff.sh><header_rename.sh>LEVEL  
> = ../../../
> #RUN_OPTIONS     =
>
> Source = $(addprefix libclamav_, \
> 	 aspack.c autoit.c binhex.c blob.c cab.c chmunpack.c cvd.c dconf.c  
> dsig.c\
> 	 elf.c entconv.c filetypes.c fsg.c hashtab.c htmlnorm.c\
> 	 is_tar.c jscript.c line.c lockdb.c matcher-ac.c matcher-bm.c\
> 	 matcher.c mbox.c md5.c message.c mew.c msexpand.c mspack.c  
> ole2_extract.c\
> 	 others.c packlibs.c pdf.c pe.c petite.c phishcheck.c  
> phish_domaincheck_db.c phish_whitelist.c\
> 	 pst.c readdb.c rebuildpe.c regex_list.c rtf.c scanners.c sis.c  
> snprintf.c special.c spin.c str.c suecrypt.c\
> 	 table.c text.c tnef.c unarj.c unsp.c untar.c unzip.c upack.c  
> upx.c uuencode.c vba_extract.c wwunpack.c yc.c)\
> 	 $(addprefix clamscan_, \
>  	 clamscan.c manager.c others.c treewalk.c)\
> 	 $(addprefix shared_, \
> 	 cdiff.c cfgparser.c getopt.c misc.c network.c options.c output.c  
> sha256.c)\
> 	 $(addprefix libclamav_regex_, \
> 	 regerror.c, regfree.c, \
> 	 regcomp.c,  regexec.c, strlcpy.c)\
> 	 $(addprefix libclamav_nsis_, \
> 		 nulsft.c, bzlib.c, infblock.c, LZMADecode.c )
> #        SVN version has these:	
> #	 inflate64.c lzma_iface.c
> #	 $(addprefix libclamav_lzma_, \
> #	 LzmaStateDecode.c) \
>
> PROG = clamscan
> CFLAGS += -DHAVE_CONFIG_H -Iinclude/libclamav/regex/ -Iinclude/ 
> libclamav/nsis -Iinclude/libclamav/lzma -Iinclude/libclamav - 
> Iinclude/shared -Iinclude/clamscan/ -Iinclude/
>
> LDFLAGS = -lz
> RUN_OPTIONS = --debug --no-summary -ddbdir -r inputs/*
>
> include $(LEVEL)/Makefile.config
>
>
> # for ClamAV these are in clamav-config.h, but since we can't run  
> configure, we have to define them here
>
>
> # -- OS macros --
> #  It is especially important to get this correctly defined for  
> windows.
>
> ifeq ($(OS),Darwin)
>    CFLAGS += -DC_DARWIN
> endif
> ifeq ($(OS),AIX)
>    CFLAGS += -DC_AIX
> endif
> ifeq ($(OS), IRIX)
>    CFLAGS += -DC_IRIX
> endif
> ifeq ($(OS), Cygwin)
>    CFLAGS += -DC_CYGWIN
> endif
> ifeq ($(OS), FreeBSD)
>    CFLAGS += -DC_BSD
> endif
> ifeq ($(OS), OpenBSD)
>    CFLAGS += -DC_BSD
> endif
> ifeq ($(OS), NetBSD)
>    CFLAGS += -DC_BSD
> endif
> ifeq ($(OS), HP-UX)
>    CFLAGS += -DC_HPUX
> endif
> ifeq ($(OS), Interix)
>   CFLAGS += -DC_INTERIX -DC_WINDOWS
> endif
> ifeq ($(OS), Win32)
>   CFLAGS += -DC_WINDOWS
> endif
> ifeq ($(OS), mingw)
>   CFLAGS += -DC_WINDOWS
> endif
> ifeq ($(OS), Linux)
>   CFLAGs += -DC_LINUX
> endif
>
> # -- except ARM all arches have WORDS_BIGENDIAN same as ENDIAN.
> #  for ARM we'd need a runtime autoconf check to detect.
> #  Only affects autoit.c, not defining this macro will partially  
> disable it.
>
> ifneq ($(ARCH),ARM)
> ifeq ($(ENDIAN),little)
>    CFLAGS += -DFPU_WORDS_BIGENDIAN=0
> endif
> ifeq ($(ENDIAN),big)
>    CFLAGS += -DFPU_WORDS_BIGENDIAN=1
> endif
> endif
>
>
> # -- endianness detection --
> #  It is important to get this correctly, especially for Sparc.
> #  If arch is little endian the code possibly does unaligned  
> accesses, that would
> #  cause a SIGBUS on Sparc.
>
> ifeq ($(ENDIAN),little)
>    CFLAGS += -DWORDS_BIGENDIAN=0
> endif
> ifeq ($(ENDIAN),big)
>    CFLAGS += -DWORDS_BIGENDIAN=1
> endif
>
> include ../../Makefile.multisrc
> #must be after all includes
> # temp files have random names, filter them
> DIFFPROG := $(PROGDIR)/DiffOutput.sh "./filterdiff.sh"
>
> <prepare.sh>Building ClamAV (www.clamav.net) for llvm's testsuite.
>
> To get sources from clamav's repository
> (currently from 0.92 stable version, you can edit the tag in  
> prepare.sh)
>
> $ ./prepare.sh checkout
> $ ./prepare.sh copy
> $ ./prepare.sh getdb
>
> Provided files:
> prepare.sh
> rename.sh: used by prepare.sh
> header_rename.sh: used by prepare.sh
> clamav-config.h: minimal config header, so we don't have to run  
> autoconf
> Makefile: integrate ClamAV into LLVM-testsuite's build-system
> filterdiff.sh: compare --debug output to test code generation  
> correctness
>
> Important to know:
>
> The directory inputs/ contains files (or symlinks to) to be scanned  
> during the test.
> These can be any files, but they must be the same each time you run
> the test, to ensure consistency of results.
>
> The directory dbdir/ contains the virus database. You get an  
> initial copy with the
> prepare.sh.
> Note, that the recommended way to update is via freshclam(1).  
> Updating the database
> is not important for the test-suite.
> When you import a new version of ClamAV into the testsuite it is  
> recommended to
> use latest DB however.
>
> When execute clamscan creates files in the system tmp directory  
> (usually /tmp).
> Watch disk space!
>
>
>
> BUGREPORTS
> ----------
> If you encounter problems with ClamAV itself, please try to  
> reproduce the problem with
> clamav built from latest stable available on www.clamav.net.
>
> You can report bugs on http://bugs.clamav.net
>
> If you haven't tried to reproduce problem with the original clamav,
> please add a reference to the LLVM bugreport, and a descriptive  
> text in subject stating
> it is related to LLVM testsuite.
>
> For bugs opened on LLVM bugzilla regarding ClamAV testsuite failures
> (that are not due to bugs in LLVM), please CC: edwin at clamav dot net
>
> <rename.sh>.:
> clamav-config.h
> clamscan_clamscan.c
> clamscan_manager.c
> clamscan_others.c
> clamscan_treewalk.c
> COPYING
> dbdir
> engine.c
> filterdiff.sh
> header_rename.sh
> include
> inputs
> libclamav_aspack.c
> libclamav_autoit.c
> libclamav_binhex.c
> libclamav_blob.c
> libclamav_cab.c
> libclamav_chmunpack.c
> libclamav_cvd.c
> libclamav_dconf.c
> libclamav_dsig.c
> libclamav_elf.c
> libclamav_entconv.c
> libclamav_filetypes.c
> libclamav_fsg.c
> libclamav_hashtab.c
> libclamav_htmlnorm.c
> libclamav_is_tar.c
> libclamav_jscript.c
> libclamav_line.c
> libclamav_lockdb.c
> libclamav_matcher-ac.c
> libclamav_matcher-bm.c
> libclamav_matcher.c
> libclamav_mbox.c
> libclamav_md5.c
> libclamav_message.c
> libclamav_mew.c
> libclamav_msexpand.c
> libclamav_mspack.c
> libclamav_nsis_bzlib.c
> libclamav_nsis_infblock.c
> libclamav_nsis_LZMADecode.c
> libclamav_nsis_nulsft.c
> libclamav_ole2_extract.c
> libclamav_others.c
> libclamav_packlibs.c
> libclamav_pdf.c
> libclamav_pe.c
> libclamav_petite.c
> libclamav_phishcheck.c
> libclamav_phish_domaincheck_db.c
> libclamav_phish_whitelist.c
> libclamav_pst.c
> libclamav_readdb.c
> libclamav_rebuildpe.c
> libclamav_regex_list.c
> libclamav_regex_regcomp.c
> libclamav_regex_regerror.c
> libclamav_regex_regexec.c
> libclamav_regex_regfree.c
> libclamav_regex_strlcpy.c
> libclamav_rtf.c
> libclamav_scanners.c
> libclamav_sis.c
> libclamav_snprintf.c
> libclamav_special.c
> libclamav_spin.c
> libclamav_str.c
> libclamav_suecrypt.c
> libclamav_table.c
> libclamav_text.c
> libclamav_tnef.c
> libclamav_unarj.c
> libclamav_unsp.c
> libclamav_untar.c
> libclamav_unzip.c
> libclamav_upack.c
> libclamav_upx.c
> libclamav_uuencode.c
> libclamav_vba_extract.c
> libclamav_wwunpack.c
> libclamav_yc.c
> Makefile
> Output
> prepare.sh
> README.LLVM-tests
> rename.sh
> report.nightly.raw.out
> report.nightly.txt
> shared_cdiff.c
> shared_cfgparser.c
> shared_getopt.c
> shared_misc.c
> shared_network.c
> shared_options.c
> shared_output.c
> shared_sha256.c
> target.h
> test_farm_farm.c
> test_libclamav_libclamav.c
> test_mbox_debugm.c
> test_pe_debugpe.c
> tmp_new
> tmp_reference
>
> ./dbdir:
> daily.cvd
> main.cvd
>
> ./include:
> clamscan
> libclamav
> shared
>
> ./include/clamscan:
> clamscan_opt.h
> global.h
> manager.h
> others.h
> treewalk.h
>
> ./include/libclamav:
> aspack.h
> autoit.h
> binhex.h
> blob.h
> cab.h
> chmunpack.h
> clamav.h
> cltypes.h
> cvd.h
> dconf.h
> dsig.h
> elf.h
> encoding_aliases.h
> entconv.h
> entitylist.h
> execs.h
> filetypes.h
> fsg.h
> hashtab.h
> htmlnorm.h
> iana_tld.h
> is_tar.h
> jscript.h
> line.h
> lockdb.h
> matcher-ac.h
> matcher-bm.h
> matcher.h
> mbox.h
> md5.h
> message.h
> mew.h
> msexpand.h
> mspack.h
> nsis
> ole2_extract.h
> others.h
> packlibs.h
> pdf.h
> pe.h
> petite.h
> phishcheck.h
> phish_domaincheck_db.h
> phish_whitelist.h
> pst.h
> readdb.h
> rebuildpe.h
> regex
> regex_list.h
> rtf.h
> scanners.h
> sis.h
> snprintf.h
> special.h
> spin.h
> str.h
> suecrypt.h
> table.h
> text.h
> tnef.h
> unarj.h
> unsp.h
> untar.h
> unzip.h
> upack.h
> upx.h
> uuencode.h
> vba_extract.h
> wwunpack.h
> yc.h
>
> ./include/libclamav/nsis:
> bzlib_private.h
> LZMADecode.h
> nsis_bzlib.h
> nsis_zconf.h
> nsis_zlib.h
> nsis_zutil.h
> nulsft.h
>
> ./include/libclamav/regex:
> cclass.h
> cname.h
> regex2.h
> regex.h
> utils.h
>
> ./include/shared:
> cdiff.h
> cfgparser.h
> getopt.h
> misc.h
> network.h
> options.h
> output.h
> sha256.h
>
> ./inputs:
> clam.cab
> clamdoc.pdf
> clam.exe
> clam.exe.bz2
> clam-v2.rar
> clam-v3.rar
> clam.zip
> dbdir
> docs
> large.pcm
> mei16v2.m2v
> README
> rtf-test
> tune
>
> ./inputs/rtf-test:
> Doc11.rtf
> Doc1.rtf
> Doc22.rtf
> Doc2.rtf
> doc3.rtf
> docCLAMexe.rtf
> rtf1.rtf
> rtf-novirus.rtf
>
> ./Output:
> clamscan.cbe
> clamscan.cbe.c
> clamscan_clamscan.bc
> clamscan_clamscan.o
> clamscan.diff-cbe
> clamscan.diff-llc
> clamscan.exe-cbe
> clamscan.exe-llc
> clamscan.linked.bc
> clamscan.linked.bc.info
> clamscan.linked.rbc
> clamscan.llc
> clamscan.llc.s
> clamscan.llvm
> clamscan.llvm.bc
> clamscan_manager.bc
> clamscan_manager.o
> clamscan.native
> clamscan.nightly.cbe.report.txt
> clamscan.nightly.compile.report.txt
> clamscan.nightly.jit.report.txt
> clamscan.nightly.llc.report.txt
> clamscan.nightly.llc.report.txt.info
> clamscan.nightly.nat.report.txt
> clamscan.nightly.report.txt
> clamscan_others.bc
> clamscan_others.o
> clamscan.out-cbe
> clamscan.out-cbe.time
> clamscan.out-jit
> clamscan.out-jit.time
> clamscan.out-llc
> clamscan.out-llc.time
> clamscan.out-nat
> clamscan.out-nat.time
> clamscan_treewalk.bc
> clamscan_treewalk.o
> libclamav_aspack.bc
> libclamav_aspack.o
> libclamav_autoit.bc
> libclamav_autoit.o
> libclamav_binhex.bc
> libclamav_binhex.o
> libclamav_blob.bc
> libclamav_blob.o
> libclamav_cab.bc
> libclamav_cab.o
> libclamav_chmunpack.bc
> libclamav_chmunpack.o
> libclamav_cvd.bc
> libclamav_cvd.o
> libclamav_dconf.bc
> libclamav_dconf.o
> libclamav_dsig.bc
> libclamav_dsig.o
> libclamav_elf.bc
> libclamav_elf.o
> libclamav_entconv.bc
> libclamav_entconv.o
> libclamav_filetypes.bc
> libclamav_filetypes.o
> libclamav_fsg.bc
> libclamav_fsg.o
> libclamav_hashtab.bc
> libclamav_hashtab.o
> libclamav_htmlnorm.bc
> libclamav_htmlnorm.o
> libclamav_is_tar.bc
> libclamav_is_tar.o
> libclamav_jscript.bc
> libclamav_jscript.o
> libclamav_line.bc
> libclamav_line.o
> libclamav_lockdb.bc
> libclamav_lockdb.o
> libclamav_matcher-ac.bc
> libclamav_matcher-ac.o
> libclamav_matcher.bc
> libclamav_matcher-bm.bc
> libclamav_matcher-bm.o
> libclamav_matcher.o
> libclamav_mbox.bc
> libclamav_mbox.o
> libclamav_md5.bc
> libclamav_md5.o
> libclamav_message.bc
> libclamav_message.o
> libclamav_mew.bc
> libclamav_mew.o
> libclamav_msexpand.bc
> libclamav_msexpand.o
> libclamav_mspack.bc
> libclamav_mspack.o
> libclamav_nsis_bzlib.bc
> libclamav_nsis_bzlib.o
> libclamav_nsis_infblock.bc
> libclamav_nsis_infblock.o
> libclamav_nsis_LZMADecode.bc
> libclamav_nsis_LZMADecode.o
> libclamav_nsis_nulsft.bc
> libclamav_nsis_nulsft.o
> libclamav_ole2_extract.bc
> libclamav_ole2_extract.o
> libclamav_others.bc
> libclamav_others.o
> libclamav_packlibs.bc
> libclamav_packlibs.o
> libclamav_pdf.bc
> libclamav_pdf.o
> libclamav_pe.bc
> libclamav_pe.o
> libclamav_petite.bc
> libclamav_petite.o
> libclamav_phishcheck.bc
> libclamav_phishcheck.o
> libclamav_phish_domaincheck_db.bc
> libclamav_phish_domaincheck_db.o
> libclamav_phish_whitelist.bc
> libclamav_phish_whitelist.o
> libclamav_pst.bc
> libclamav_pst.o
> libclamav_readdb.bc
> libclamav_readdb.o
> libclamav_rebuildpe.bc
> libclamav_rebuildpe.o
> libclamav_regex_list.bc
> libclamav_regex_list.o
> libclamav_regex_regcomp.bc
> libclamav_regex_regcomp.o
> libclamav_regex_regerror.bc
> libclamav_regex_regerror.o
> libclamav_regex_regexec.bc
> libclamav_regex_regexec.o
> libclamav_regex_regfree.bc
> libclamav_regex_regfree.o
> libclamav_regex_strlcpy.bc
> libclamav_regex_strlcpy.o
> libclamav_rtf.bc
> libclamav_rtf.o
> libclamav_scanners.bc
> libclamav_scanners.o
> libclamav_sis.bc
> libclamav_sis.o
> libclamav_snprintf.bc
> libclamav_snprintf.o
> libclamav_special.bc
> libclamav_special.o
> libclamav_spin.bc
> libclamav_spin.o
> libclamav_str.bc
> libclamav_str.o
> libclamav_suecrypt.bc
> libclamav_suecrypt.o
> libclamav_table.bc
> libclamav_table.o
> libclamav_text.bc
> libclamav_text.o
> libclamav_tnef.bc
> libclamav_tnef.o
> libclamav_unarj.bc
> libclamav_unarj.o
> libclamav_unsp.bc
> libclamav_unsp.o
> libclamav_untar.bc
> libclamav_untar.o
> libclamav_unzip.bc
> libclamav_unzip.o
> libclamav_upack.bc
> libclamav_upack.o
> libclamav_upx.bc
> libclamav_upx.o
> libclamav_uuencode.bc
> libclamav_uuencode.o
> libclamav_vba_extract.bc
> libclamav_vba_extract.o
> libclamav_wwunpack.bc
> libclamav_wwunpack.o
> libclamav_yc.bc
> libclamav_yc.o
> shared_cdiff.bc
> shared_cdiff.o
> shared_cfgparser.bc
> shared_cfgparser.o
> shared_getopt.bc
> shared_getopt.o
> shared_misc.bc
> shared_misc.o
> shared_network.bc
> shared_network.o
> shared_options.bc
> shared_options.o
> shared_output.bc
> shared_output.o
> shared_sha256.bc
> shared_sha256.o
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev





More information about the llvm-dev mailing list