-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
goblintGoblint-specific problemGoblint-specific problemparsing-succeedsprojectProject to analyzeProject to analyze
Description
- https://github.com/facebook/zstd/ at
7543085013db1a20a848d166e5931edc49e3cc2fcompiledbsucceeds- Fails as Goblint lacks support for some Intel SIMD things defined in
xmmintrin.h:
/usr/lib/gcc/x86_64-linux-gnu/7/include/xmmintrin.h:120: Unimplemented: doInit: unexpected NEXT_INIT for float __attribute__((__vector_size__(16),__may_alias__)) - Ignore intrinsics and build with
make zstd
diff --git a/programs/Makefile b/programs/Makefile
index 16763e49..8ff545b8 100644
--- a/programs/Makefile
+++ b/programs/Makefile
@@ -138,7 +138,7 @@ allVariants: zstd zstd-compress zstd-decompress zstd-small zstd-frugal zstd-nole
zstd : CPPFLAGS += $(THREAD_CPP) $(ZLIBCPP) $(LZMACPP) $(LZ4CPP)
zstd : LDFLAGS += $(THREAD_LD) $(DEBUGFLAGS_LD)
zstd : LDLIBS += $(ZLIBLD) $(LZMALD) $(LZ4LD)
-zstd : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT)
+zstd : CPPFLAGS += -DZSTD_LEGACY_SUPPORT=$(ZSTD_LEGACY_SUPPORT) -DZSTD_NO_INTRINSICS
ifneq (,$(filter Windows%,$(OS)))
zstd : $(RES_FILE)
endif- Need to comment the contents of
includes/assert.hof Goblint for the parsing to succeed?
time ./goblint ../../bench-repos/zstd --disable ana.base.context.non-ptr --disable sem.unknown_function.spawn --set ana.thread.domain plain --enable exp.earlyglobs --set ana.base.privatization none --enable dbg.print_dead_code --enable justcil --disable include_stdlib --set cppflags[+] -DZSTD_NO_INTRINSICS -v &> zstd.cil.c
real 0m5,836s
user 0m5,495s
sys 0m0,308s
So parsing and everything is also non-horrible here. The program does contain threads.
With ./goblint zstd.cil.c --disable ana.base.context.non-ptr --disable sem.unknown_function.spawn --set ana.thread.domain plain --enable exp.earlyglobs --set ana.base.privatization none --enable dbg.print_dead_code &> zstd.cil.out -v
Summary for all memory locations:
safe: 2388
vulnerable: 14
unsafe: 16
-------------------
total: 2418
vars = 170735 evals = 432968
Timings:
TOTAL 224.473 s
parse 0.544 s
convert to CIL 0.694 s
analysis 223.237 s
global_inits 1.085 s
solving 221.102 s
S.Dom.equal 0.712 s
postsolver 52.939 s
warn_global 0.131 s
Timing used
Memory statistics: total=296341.32MB, max=934.02MB, minor=296304.66MB, major=2087.03MB, promoted=2050.37MB
minor collections=141306 major collections=28 compactions=0
Found dead code on 3427 lines (including 3087 in uncalled functions)!
Total lines (logical LoC): 21415
Metadata
Metadata
Assignees
Labels
goblintGoblint-specific problemGoblint-specific problemparsing-succeedsprojectProject to analyzeProject to analyze