Instructions to compile inn
to a GOTO-object
Latest version of example sources known to work: 2.4.3
Latest version of goto-cc known to work on this example: 2.5.1
- Download the
inn sources and unpack the files.
tar xfz inn-2.4.3.tar.gz
- Switch to the inn-2.4.3 directory
cd inn-2.4.3
and configure the build like this:
Create a site configuration file called
config.site containing this:
CC=goto-cc
CFLAGS=--i386-linux
LD=goto-ld
ac_cv_search_dbm_open=no
inn_cv_func_mmap=yes
inn_cv_struct_sockaddr_sa_len=no
inn_cv_macro_iov_max=1024
ac_cv_func_strlcpy=no
ac_cv_func_strlcat=no
ac_cv_func_pread=no
ac_cv_func_pwrite=no
inn_cv_sa_len_macro=no
ac_cv_search_setproctitle=no
ac_cv_func_pstat=no
(These are some options that configure can't find out
when cross-compiling.)
-
Configure it!
export CONFIG_SITE=config.site;
./configure --host=none-none-none
Make it!
make
The result will be a file called innd/innd (the main
server application) and bunch of support binaries in the
various directories.
Try to verify the program by using the final object file
in CBMC or SATABS:
cbmc --binary innd/innd
Of course you will need different options if you want to check
the program for a special claim or if you're using a different
tool.
|