Skip to content

Latest commit

 

History

History
1308 lines (1267 loc) · 58 KB

File metadata and controls

1308 lines (1267 loc) · 58 KB

Instructions

Process the binaries in results with a given tool.

Assuming you want to say run all of the binaries in the results/ directory with a given tool ${TOOL}, you can do so with the following. The -j flag may be passed to make to parallelize the build, but be careful as some tools (e.g., Uroboros) can not run multiple builds in parallel.

make -k $(for elf in results/*.{strip,nostrip}.elf;do echo results/$(basename $elf .elf).${TOOL}.errno;done)

How to launch a Docker image

Typically before building binaries or running a tool you will want to launch one of the Docker images from this projects container registry (either the base image or a tool specific image to run that particular tool). You will mount this repository into that image. So from the base of this repository run something like the following.

docker run --rm -it -v $(pwd):/lifter-eval registry.gitlab.com/metis/lifter-eval

Running over the Ubuntu-16 binaries

We keep the Ubuntu-16 binaries in a separate results directory (results-16/), but we only have Makefile rules targetting the normal results/ directory. To make this work, you mount this repository into a docker image (as above) and then mount the results-16/ directory into results/ as in the following.

docker run --rm -it -v $(pwd):/lifter-eval -v $(pwd)/results-16:/lifter-eval/results registry.gitlab.com/metis/lifter-eval

Checking important properties of a binary

You should perform the following checks before releasing a new subject binary.

  • [ ] It is actually PIE/no-PIE as advertised.
  • [ ] It passes its test suite.
  • [ ] The different variants are actually unique. Check by running md5sum on all variants and looking for duplicates or by using the dups check in ./check.sh.

You can use readelf to confirm if a binary is really position independent (PIE) or not.

  • A PIE executable will report DYN with the following:
    $ readelf -h results/hello.clang.Ofast.pie.elf|grep Type
      Type:                              DYN (Shared object file)
        
  • A non-PIE executable will report EXEC with the following:
    $ readelf -h results/hello.clang.Ofast.nopie.elf|grep Type
      Type:                              EXEC (Executable file)
        

You can use the ./check.sh script in the base of this repository to check all of the binaries in a given directory. See the --help output of that script for more information.

Packaging built binaries

We package built binaries with tar and then commit them directly to this repository with git LFS. The following tar command should be used to get maximum compression. Replace $SUBJECT with the name of the subject binaries being compressed.

tar cvf - results/$SUBJECT.*.{strip,nostrip}.elf|xz -e9 -T0 > results.$SUBJECT.$(date +%Y-%m-%d).tar.xz

Notes

Fresh build of new binaries [3/5]

  • [X] Build icx binaries in icx image
  • [X] Build clang/gcc binaries in Ubuntu20 image
  • [ ] Build clang/gcc binaries in Ubuntu16 image
  • [X] Remove actually-pie.txt binaries from the results
    rm -f results/{lighttpd,memcached,openssh,redis}.*.nopie.*elf
        
  • [ ] Check the md5sums of the binaries and see if any are the same
    • Maybe do the same just for the .text sections
========================================================================
== PIE/No-PIE
========================================================================
results/bitcoind.gcc.O2.pie.elf is actually not PIE
results/bitcoind.icx.O1.pie.elf is actually not PIE
;; https://gitlab.com/METIS/lifter-eval/-/issues/28
results/postfix.clang.O0.pie.elf is actually not PIE
results/postfix.clang.O1.pie.elf is actually not PIE
results/postfix.clang.O2.pie.elf is actually not PIE
results/postfix.clang.O3.pie.elf is actually not PIE
results/postfix.clang.Ofast.pie.elf is actually not PIE
results/postfix.clang.Os.pie.elf is actually not PIE
results/postfix.icx.O0.pie.elf is actually not PIE
results/postfix.icx.O1.pie.elf is actually not PIE
results/postfix.icx.O2.pie.elf is actually not PIE
results/postfix.icx.O3.pie.elf is actually not PIE
results/postfix.icx.Ofast.pie.elf is actually not PIE
results/postfix.icx.Os.pie.elf is actually not PIE
;; https://gitlab.com/METIS/lifter-eval/-/issues/29
results/vim.clang.O0.pie.elf is actually not PIE
results/vim.clang.O1.pie.elf is actually not PIE
results/vim.clang.O2.pie.elf is actually not PIE
results/vim.clang.O3.pie.elf is actually not PIE
results/vim.clang.Ofast.pie.elf is actually not PIE
results/vim.clang.Os.pie.elf is actually not PIE
;; https://gitlab.com/METIS/lifter-eval/-/issues/32
results/zip.clang.O1.pie.elf is actually not PIE
results/zip.clang.O2.pie.elf is actually not PIE
results/zip.clang.O3.pie.elf is actually not PIE
results/zip.icx.O1.pie.elf is actually not PIE
results/zip.icx.O2.pie.elf is actually not PIE
results/zip.icx.O3.pie.elf is actually not PIE
results/zip.icx.Os.pie.elf is actually not PIE
;; https://gitlab.com/METIS/lifter-eval/-/issues/30
results/bitcoind.gcc.O0.nopie.elf is actually PIE
results/bitcoind.gcc.O1.nopie.elf is actually PIE
results/bitcoind.gcc.O2.nopie.elf is actually PIE
results/bitcoind.gcc.O3.nopie.elf is actually PIE
results/bitcoind.gcc.Ofast.nopie.elf is actually PIE
results/bitcoind.gcc.Os.nopie.elf is actually PIE
;; https://gitlab.com/METIS/lifter-eval/-/issues/31
results/postfix.gcc.O0.nopie.elf is actually PIE
results/postfix.gcc.O1.nopie.elf is actually PIE
results/postfix.gcc.O2.nopie.elf is actually PIE
results/postfix.gcc.O3.nopie.elf is actually PIE
results/postfix.gcc.Ofast.nopie.elf is actually PIE
results/postfix.gcc.Os.nopie.elf is actually PIE
========================================================================
== Functionality of the originals
========================================================================
results/bitcoind.gcc.O2.pie.errno does not exist

List information on binaries

ls results/*.elf|sed 's|results/||;s/\..*$//'|sort|uniq -c|sort -rn

Tasks [6/8]

some more packages

Install libexpat-dev into the icx image.

safe parallel run

docker run --rm -it -v $(pwd):/lifter-eval -v $(pwd)/results-ddisasm:/lifter-eval/results registry.gitlab.com/metis/lifter-eval
export TOOL=ddisasm
for flag in O0 O1 O2 O3 Os Ofast;do
    for comp in gcc clang icx;do
        echo results/2021-08-10.wo-dups.${comp}.${flag}.${TOOL}-S.txt
        (
            for elf in results/*.${comp}.${flag}.*.elf;do
              if [ ! -f results/$(basename $elf .elf).${TOOL}.S ];then
                  make results/$(basename $elf .elf).${TOOL}.S;
              fi
            done > results/2021-08-10.wo-dups.${comp}.${flag}.${TOOL}-S.txt
        ) &
    done
done
for asm in results/*.{gcc,clang}.*.S;do
  make results/$(basename $asm .S).rewritten
done|tee results/
for asm in results/*.icx.*.S;do
  make results/$(basename $asm .S).rewritten
done|tee results/results.$TOOL.icx.txt
for exe in results/*.rewritten;do
  make results/$(basename $exe .rewritten).errno
done|tee results.results.$TOOL.txt

tar up new results

  • [X] zip.*
  • [X] bitcoind.*
  • [X] nginx.*
  • [X] memcached.icx

Don’t build things that can’t build statically

rm -f results/{lighttpd,memcached,openssh,redis}.*.nopie.*elf

Ensure every original passes errno test [3/3]

  • [X] Zip passing for all builds
  • [X] Memcached passing (library issues, rebuilt)
  • [X] bitcoind passing (library issues, rebuilt)
echo "$DATA"|grep -vw '0$'|grep -v icx
bitcoind.gcc.O0.pie.nostrip.elf0
bitcoind.icx.O0.nopie.nostrip.elf0
bitcoind.icx.O0.pie.nostrip.elf0
bitcoind.icx.O1.nopie.nostrip.elf0
bitcoind.icx.O1.pie.nostrip.elf0
bitcoind.icx.O2.nopie.nostrip.elf0
bitcoind.icx.O3.nopie.nostrip.elf0
bitcoind.icx.Ofast.nopie.nostrip.elf0
bitcoind.icx.Os.nopie.nostrip.elf0
hello.clang.O0.nopie.nostrip.elf0
hello.clang.O0.pie.nostrip.elf0
hello.clang.O1.nopie.nostrip.elf0
hello.clang.O1.pie.nostrip.elf0
hello.clang.O2.nopie.nostrip.elf0
hello.clang.O2.pie.nostrip.elf0
hello.clang.O3.nopie.nostrip.elf0
hello.clang.O3.pie.nostrip.elf0
hello.clang.Ofast.nopie.nostrip.elf0
hello.clang.Ofast.pie.nostrip.elf0
hello.clang.Os.nopie.nostrip.elf0
hello.clang.Os.pie.nostrip.elf0
hello.gcc.O0.nopie.nostrip.elf0
hello.gcc.O0.pie.nostrip.elf0
hello.gcc.O1.nopie.nostrip.elf0
hello.gcc.O1.pie.nostrip.elf0
hello.gcc.O2.nopie.nostrip.elf0
hello.gcc.O2.pie.nostrip.elf0
hello.gcc.O3.nopie.nostrip.elf0
hello.gcc.O3.pie.nostrip.elf0
hello.gcc.Ofast.nopie.nostrip.elf0
hello.gcc.Ofast.pie.nostrip.elf0
hello.gcc.Os.nopie.nostrip.elf0
hello.gcc.Os.pie.nostrip.elf0
hello.icx.O0.nopie.nostrip.elf127
hello.icx.O0.pie.nostrip.elf127
hello.icx.O1.nopie.nostrip.elf127
hello.icx.O1.pie.nostrip.elf127
hello.icx.O2.nopie.nostrip.elf127
hello.icx.O2.pie.nostrip.elf127
hello.icx.O3.nopie.nostrip.elf127
hello.icx.O3.pie.nostrip.elf127
hello.icx.Ofast.nopie.nostrip.elf127
hello.icx.Ofast.pie.nostrip.elf127
hello.icx.Os.nopie.nostrip.elf127
hello.icx.Os.pie.nostrip.elf127
lighttpd.clang.O0.nopie.nostrip.elf0
lighttpd.clang.O0.pie.nostrip.elf0
lighttpd.clang.O1.nopie.nostrip.elf0
lighttpd.clang.O1.pie.nostrip.elf0
lighttpd.clang.O2.nopie.nostrip.elf0
lighttpd.clang.O2.pie.nostrip.elf0
lighttpd.clang.O3.nopie.nostrip.elf0
lighttpd.clang.O3.pie.nostrip.elf0
lighttpd.clang.Ofast.nopie.nostrip.elf0
lighttpd.clang.Ofast.pie.nostrip.elf0
lighttpd.clang.Os.nopie.nostrip.elf0
lighttpd.clang.Os.pie.nostrip.elf0
lighttpd.gcc.O0.nopie.nostrip.elf0
lighttpd.gcc.O0.pie.nostrip.elf0
lighttpd.gcc.O1.nopie.nostrip.elf0
lighttpd.gcc.O1.pie.nostrip.elf0
lighttpd.gcc.O2.nopie.nostrip.elf0
lighttpd.gcc.O2.pie.nostrip.elf0
lighttpd.gcc.O3.nopie.nostrip.elf0
lighttpd.gcc.O3.pie.nostrip.elf0
lighttpd.gcc.Ofast.nopie.nostrip.elf0
lighttpd.gcc.Ofast.pie.nostrip.elf0
lighttpd.gcc.Os.nopie.nostrip.elf0
lighttpd.gcc.Os.pie.nostrip.elf0
lighttpd.icx.O0.nopie.nostrip.elf0
lighttpd.icx.O0.pie.nostrip.elf0
lighttpd.icx.O1.nopie.nostrip.elf0
lighttpd.icx.O1.pie.nostrip.elf0
lighttpd.icx.O2.nopie.nostrip.elf0
lighttpd.icx.O2.pie.nostrip.elf0
lighttpd.icx.O3.nopie.nostrip.elf0
lighttpd.icx.O3.pie.nostrip.elf0
lighttpd.icx.Ofast.nopie.nostrip.elf0
lighttpd.icx.Ofast.pie.nostrip.elf0
lighttpd.icx.Os.nopie.nostrip.elf0
lighttpd.icx.Os.pie.nostrip.elf0
memcached.clang.O0.nopie.nostrip.elf0
memcached.clang.O0.pie.nostrip.elf0
memcached.clang.O1.nopie.nostrip.elf0
memcached.clang.O1.pie.nostrip.elf0
memcached.clang.O2.nopie.nostrip.elf0
memcached.clang.O2.pie.nostrip.elf0
memcached.clang.O3.nopie.nostrip.elf0
memcached.clang.O3.pie.nostrip.elf0
memcached.clang.Ofast.nopie.nostrip.elf0
memcached.clang.Ofast.pie.nostrip.elf0
memcached.clang.Os.nopie.nostrip.elf0
memcached.clang.Os.pie.nostrip.elf0
memcached.gcc.O0.nopie.nostrip.elf0
memcached.gcc.O0.pie.nostrip.elf0
memcached.gcc.O1.nopie.nostrip.elf0
memcached.gcc.O1.pie.nostrip.elf0
memcached.gcc.O2.nopie.nostrip.elf0
memcached.gcc.O2.pie.nostrip.elf0
memcached.gcc.O3.nopie.nostrip.elf0
memcached.gcc.O3.pie.nostrip.elf0
memcached.gcc.Ofast.nopie.nostrip.elf0
memcached.gcc.Ofast.pie.nostrip.elf0
memcached.gcc.Os.nopie.nostrip.elf0
memcached.gcc.Os.pie.nostrip.elf0
memcached.icx.O0.nopie.nostrip.elf0
memcached.icx.O0.pie.nostrip.elf0
memcached.icx.O1.nopie.nostrip.elf0
memcached.icx.O1.pie.nostrip.elf0
memcached.icx.O2.nopie.nostrip.elf0
memcached.icx.O2.pie.nostrip.elf0
memcached.icx.O3.nopie.nostrip.elf0
memcached.icx.O3.pie.nostrip.elf0
memcached.icx.Ofast.nopie.nostrip.elf0
memcached.icx.Ofast.pie.nostrip.elf0
memcached.icx.Os.nopie.nostrip.elf0
memcached.icx.Os.pie.nostrip.elf0
nginx.clang.O0.nopie.nostrip.elf0
nginx.clang.O0.pie.nostrip.elf0
nginx.clang.O1.nopie.nostrip.elf0
nginx.clang.O1.pie.nostrip.elf0
nginx.clang.O2.nopie.nostrip.elf0
nginx.clang.O2.pie.nostrip.elf0
nginx.clang.O3.nopie.nostrip.elf0
nginx.clang.O3.pie.nostrip.elf0
nginx.clang.Ofast.nopie.nostrip.elf0
nginx.clang.Ofast.pie.nostrip.elf0
nginx.clang.Os.nopie.nostrip.elf0
nginx.clang.Os.pie.nostrip.elf0
nginx.gcc.O0.pie.nostrip.elf0
nginx.gcc.O1.pie.nostrip.elf0
nginx.gcc.O2.pie.nostrip.elf0
nginx.gcc.O3.pie.nostrip.elf0
nginx.gcc.Ofast.pie.nostrip.elf0
nginx.gcc.Os.pie.nostrip.elf0
nginx.icx.O0.nopie.nostrip.elf127
nginx.icx.O0.pie.nostrip.elf127
nginx.icx.O1.nopie.nostrip.elf127
nginx.icx.O1.pie.nostrip.elf127
nginx.icx.O2.nopie.nostrip.elf127
nginx.icx.O2.pie.nostrip.elf127
nginx.icx.O3.nopie.nostrip.elf127
nginx.icx.O3.pie.nostrip.elf127
nginx.icx.Ofast.nopie.nostrip.elf127
nginx.icx.Ofast.pie.nostrip.elf127
nginx.icx.Os.nopie.nostrip.elf127
nginx.icx.Os.pie.nostrip.elf127
openssh.clang.O0.nopie.nostrip.elf0
openssh.clang.O0.pie.nostrip.elf0
openssh.clang.O1.nopie.nostrip.elf0
openssh.clang.O1.pie.nostrip.elf0
openssh.clang.O2.nopie.nostrip.elf0
openssh.clang.O2.pie.nostrip.elf0
openssh.clang.O3.nopie.nostrip.elf0
openssh.clang.O3.pie.nostrip.elf0
openssh.clang.Ofast.nopie.nostrip.elf0
openssh.clang.Ofast.pie.nostrip.elf0
openssh.clang.Os.nopie.nostrip.elf0
openssh.clang.Os.pie.nostrip.elf0
openssh.gcc.O0.nopie.nostrip.elf0
openssh.gcc.O0.pie.nostrip.elf0
openssh.gcc.O1.nopie.nostrip.elf0
openssh.gcc.O1.pie.nostrip.elf0
openssh.gcc.O2.nopie.nostrip.elf0
openssh.gcc.O2.pie.nostrip.elf0
openssh.gcc.O3.nopie.nostrip.elf0
openssh.gcc.O3.pie.nostrip.elf0
openssh.gcc.Ofast.nopie.nostrip.elf0
openssh.gcc.Ofast.pie.nostrip.elf0
openssh.gcc.Os.nopie.nostrip.elf0
openssh.gcc.Os.pie.nostrip.elf0
openssh.icx.O0.nopie.nostrip.elf127
openssh.icx.O0.pie.nostrip.elf127
openssh.icx.O1.nopie.nostrip.elf127
openssh.icx.O1.pie.nostrip.elf127
openssh.icx.O2.nopie.nostrip.elf127
openssh.icx.O2.pie.nostrip.elf127
openssh.icx.O3.nopie.nostrip.elf127
openssh.icx.O3.pie.nostrip.elf127
openssh.icx.Ofast.nopie.nostrip.elf127
openssh.icx.Ofast.pie.nostrip.elf127
openssh.icx.Os.nopie.nostrip.elf127
openssh.icx.Os.pie.nostrip.elf127
postfix.clang.O0.nopie.nostrip.elf0
postfix.clang.O0.pie.nostrip.elf0
postfix.clang.O1.nopie.nostrip.elf0
postfix.clang.O1.pie.nostrip.elf0
postfix.clang.O2.nopie.nostrip.elf0
postfix.clang.O2.pie.nostrip.elf0
postfix.clang.O3.nopie.nostrip.elf0
postfix.clang.O3.pie.nostrip.elf0
postfix.clang.Ofast.nopie.nostrip.elf0
postfix.clang.Ofast.pie.nostrip.elf0
postfix.clang.Os.nopie.nostrip.elf0
postfix.clang.Os.pie.nostrip.elf0
postfix.gcc.O0.nopie.nostrip.elf0
postfix.gcc.O0.pie.nostrip.elf0
postfix.gcc.O1.nopie.nostrip.elf0
postfix.gcc.O1.pie.nostrip.elf0
postfix.gcc.O2.nopie.nostrip.elf0
postfix.gcc.O2.pie.nostrip.elf0
postfix.gcc.O3.nopie.nostrip.elf0
postfix.gcc.O3.pie.nostrip.elf0
postfix.gcc.Ofast.nopie.nostrip.elf0
postfix.gcc.Ofast.pie.nostrip.elf0
postfix.gcc.Os.nopie.nostrip.elf0
postfix.gcc.Os.pie.nostrip.elf0
postfix.icx.O0.nopie.nostrip.elf0
postfix.icx.O0.pie.nostrip.elf0
postfix.icx.O1.nopie.nostrip.elf0
postfix.icx.O1.pie.nostrip.elf0
postfix.icx.O2.nopie.nostrip.elf0
postfix.icx.O2.pie.nostrip.elf0
postfix.icx.O3.nopie.nostrip.elf0
postfix.icx.O3.pie.nostrip.elf0
postfix.icx.Ofast.nopie.nostrip.elf0
postfix.icx.Ofast.pie.nostrip.elf0
postfix.icx.Os.nopie.nostrip.elf0
postfix.icx.Os.pie.nostrip.elf0
redis.clang.O0.nopie.nostrip.elf0
redis.clang.O0.pie.nostrip.elf0
redis.clang.O1.nopie.nostrip.elf0
redis.clang.O1.pie.nostrip.elf0
redis.clang.O2.nopie.nostrip.elf0
redis.clang.O2.pie.nostrip.elf0
redis.clang.O3.nopie.nostrip.elf0
redis.clang.O3.pie.nostrip.elf0
redis.clang.Ofast.nopie.nostrip.elf0
redis.clang.Ofast.pie.nostrip.elf0
redis.clang.Os.nopie.nostrip.elf0
redis.clang.Os.pie.nostrip.elf0
redis.gcc.O0.nopie.nostrip.elf0
redis.gcc.O0.pie.nostrip.elf0
redis.gcc.O1.nopie.nostrip.elf0
redis.gcc.O1.pie.nostrip.elf0
redis.gcc.O2.nopie.nostrip.elf0
redis.gcc.O2.pie.nostrip.elf0
redis.gcc.O3.nopie.nostrip.elf0
redis.gcc.O3.pie.nostrip.elf0
redis.gcc.Ofast.nopie.nostrip.elf0
redis.gcc.Ofast.pie.nostrip.elf0
redis.gcc.Os.nopie.nostrip.elf0
redis.gcc.Os.pie.nostrip.elf0
redis.icx.O0.nopie.nostrip.elf0
redis.icx.O0.pie.nostrip.elf0
redis.icx.O1.nopie.nostrip.elf0
redis.icx.O1.pie.nostrip.elf0
redis.icx.O2.nopie.nostrip.elf0
redis.icx.O2.pie.nostrip.elf0
redis.icx.O3.nopie.nostrip.elf0
redis.icx.O3.pie.nostrip.elf0
redis.icx.Ofast.nopie.nostrip.elf0
redis.icx.Ofast.pie.nostrip.elf0
redis.icx.Os.nopie.nostrip.elf0
redis.icx.Os.pie.nostrip.elf0
sqlite.clang.O0.nopie.nostrip.elf0
sqlite.clang.O0.pie.nostrip.elf0
sqlite.clang.O1.nopie.nostrip.elf0
sqlite.clang.O1.pie.nostrip.elf0
sqlite.clang.O2.nopie.nostrip.elf0
sqlite.clang.O2.pie.nostrip.elf0
sqlite.clang.O3.nopie.nostrip.elf0
sqlite.clang.O3.pie.nostrip.elf0
sqlite.clang.Ofast.nopie.nostrip.elf0
sqlite.clang.Ofast.pie.nostrip.elf0
sqlite.clang.Os.nopie.nostrip.elf0
sqlite.clang.Os.pie.nostrip.elf0
sqlite.gcc.O0.nopie.nostrip.elf0
sqlite.gcc.O0.pie.nostrip.elf0
sqlite.gcc.O1.nopie.nostrip.elf0
sqlite.gcc.O1.pie.nostrip.elf0
sqlite.gcc.O2.nopie.nostrip.elf0
sqlite.gcc.O2.pie.nostrip.elf0
sqlite.gcc.O3.nopie.nostrip.elf0
sqlite.gcc.O3.pie.nostrip.elf0
sqlite.gcc.Ofast.nopie.nostrip.elf0
sqlite.gcc.Ofast.pie.nostrip.elf0
sqlite.gcc.Os.nopie.nostrip.elf0
sqlite.gcc.Os.pie.nostrip.elf0
sqlite.icx.O0.nopie.nostrip.elf127
sqlite.icx.O0.pie.nostrip.elf127
sqlite.icx.O1.nopie.nostrip.elf127
sqlite.icx.O1.pie.nostrip.elf127
sqlite.icx.O2.nopie.nostrip.elf127
sqlite.icx.O2.pie.nostrip.elf127
sqlite.icx.O3.nopie.nostrip.elf127
sqlite.icx.O3.pie.nostrip.elf127
sqlite.icx.Ofast.nopie.nostrip.elf127
sqlite.icx.Ofast.pie.nostrip.elf127
sqlite.icx.Os.nopie.nostrip.elf127
sqlite.icx.Os.pie.nostrip.elf127
squid.clang.O0.nopie.nostrip.elf0
squid.clang.O0.pie.nostrip.elf0
squid.clang.O1.nopie.nostrip.elf0
squid.clang.O1.pie.nostrip.elf0
squid.clang.O2.nopie.nostrip.elf0
squid.clang.O2.pie.nostrip.elf0
squid.clang.O3.nopie.nostrip.elf0
squid.clang.O3.pie.nostrip.elf0
squid.clang.Ofast.nopie.nostrip.elf0
squid.clang.Ofast.pie.nostrip.elf0
squid.clang.Os.nopie.nostrip.elf0
squid.clang.Os.pie.nostrip.elf0
squid.gcc.O0.nopie.nostrip.elf0
squid.gcc.O0.pie.nostrip.elf0
squid.gcc.O1.nopie.nostrip.elf0
squid.gcc.O1.pie.nostrip.elf0
squid.gcc.O2.nopie.nostrip.elf0
squid.gcc.O2.pie.nostrip.elf0
squid.gcc.O3.nopie.nostrip.elf0
squid.gcc.O3.pie.nostrip.elf0
squid.gcc.Ofast.nopie.nostrip.elf0
squid.gcc.Ofast.pie.nostrip.elf0
squid.gcc.Os.nopie.nostrip.elf0
squid.gcc.Os.pie.nostrip.elf0
squid.icx.O0.nopie.nostrip.elf0
squid.icx.O1.nopie.nostrip.elf0
squid.icx.O1.pie.nostrip.elf0
squid.icx.O2.pie.nostrip.elf0
vim.clang.O0.nopie.nostrip.elf0
vim.clang.O0.pie.nostrip.elf0
vim.clang.O1.nopie.nostrip.elf0
vim.clang.O1.pie.nostrip.elf0
vim.clang.O2.nopie.nostrip.elf0
vim.clang.O2.pie.nostrip.elf0
vim.clang.O3.nopie.nostrip.elf0
vim.clang.O3.pie.nostrip.elf0
vim.clang.Ofast.nopie.nostrip.elf0
vim.clang.Ofast.pie.nostrip.elf0
vim.clang.Os.nopie.nostrip.elf0
vim.clang.Os.pie.nostrip.elf0
vim.gcc.O0.nopie.nostrip.elf0
vim.gcc.O0.pie.nostrip.elf0
vim.gcc.O1.nopie.nostrip.elf0
vim.gcc.O1.pie.nostrip.elf0
vim.gcc.O2.nopie.nostrip.elf0
vim.gcc.O2.pie.nostrip.elf0
vim.gcc.O3.nopie.nostrip.elf0
vim.gcc.O3.pie.nostrip.elf0
vim.gcc.Ofast.nopie.nostrip.elf0
vim.gcc.Ofast.pie.nostrip.elf0
vim.gcc.Os.nopie.nostrip.elf0
vim.gcc.Os.pie.nostrip.elf0
vim.icx.O0.nopie.nostrip.elf127
vim.icx.O0.pie.nostrip.elf127
vim.icx.O1.nopie.nostrip.elf127
vim.icx.O1.pie.nostrip.elf127
vim.icx.O2.nopie.nostrip.elf127
vim.icx.O2.pie.nostrip.elf127
vim.icx.O3.nopie.nostrip.elf127
vim.icx.O3.pie.nostrip.elf127
vim.icx.Ofast.nopie.nostrip.elf127
vim.icx.Ofast.pie.nostrip.elf127
vim.icx.Os.nopie.nostrip.elf127
vim.icx.Os.pie.nostrip.elf127
zip.clang.O0.nopie.nostrip.elf127
zip.clang.O0.pie.nostrip.elf127
zip.clang.O1.nopie.nostrip.elf127
zip.clang.O1.pie.nostrip.elf127
zip.clang.O2.nopie.nostrip.elf127
zip.clang.O2.pie.nostrip.elf127
zip.clang.O3.nopie.nostrip.elf127
zip.clang.O3.pie.nostrip.elf127
zip.clang.Ofast.nopie.nostrip.elf0
zip.clang.Ofast.pie.nostrip.elf0
zip.clang.Os.nopie.nostrip.elf0
zip.clang.Os.pie.nostrip.elf0
zip.gcc.O0.nopie.nostrip.elf0
zip.gcc.O0.pie.nostrip.elf0
zip.gcc.O1.nopie.nostrip.elf0
zip.gcc.O1.pie.nostrip.elf0
zip.gcc.O2.nopie.nostrip.elf0
zip.gcc.O2.pie.nostrip.elf0
zip.gcc.O3.nopie.nostrip.elf0
zip.gcc.O3.pie.nostrip.elf0
zip.gcc.Ofast.nopie.nostrip.elf127
zip.gcc.Ofast.pie.nostrip.elf127
zip.gcc.Os.nopie.nostrip.elf127
zip.gcc.Os.pie.nostrip.elf0
zip.icx.O0.nopie.nostrip.elf127
zip.icx.O0.pie.nostrip.elf127
zip.icx.O1.nopie.nostrip.elf127
zip.icx.O1.pie.nostrip.elf127
zip.icx.O2.nopie.nostrip.elf127
zip.icx.O2.pie.nostrip.elf127
zip.icx.O3.nopie.nostrip.elf127
zip.icx.O3.pie.nostrip.elf127
zip.icx.Ofast.nopie.nostrip.elf127
zip.icx.Ofast.pie.nostrip.elf127
zip.icx.Os.nopie.nostrip.elf127
zip.icx.Os.pie.nostrip.elf127
bitcoind.gcc.O0.pie.strip.elf0
bitcoind.icx.O0.nopie.strip.elf0
bitcoind.icx.O0.pie.strip.elf0
bitcoind.icx.O1.nopie.strip.elf0
bitcoind.icx.O1.pie.strip.elf0
bitcoind.icx.O2.nopie.strip.elf0
bitcoind.icx.O3.nopie.strip.elf0
bitcoind.icx.Ofast.nopie.strip.elf0
bitcoind.icx.Os.nopie.strip.elf0
hello.clang.O0.nopie.strip.elf0
hello.clang.O0.pie.strip.elf0
hello.clang.O1.nopie.strip.elf0
hello.clang.O1.pie.strip.elf0
hello.clang.O2.nopie.strip.elf0
hello.clang.O2.pie.strip.elf0
hello.clang.O3.nopie.strip.elf0
hello.clang.O3.pie.strip.elf0
hello.clang.Ofast.nopie.strip.elf0
hello.clang.Ofast.pie.strip.elf0
hello.clang.Os.nopie.strip.elf0
hello.clang.Os.pie.strip.elf0
hello.gcc.O0.nopie.strip.elf0
hello.gcc.O0.pie.strip.elf0
hello.gcc.O1.nopie.strip.elf0
hello.gcc.O1.pie.strip.elf0
hello.gcc.O2.nopie.strip.elf0
hello.gcc.O2.pie.strip.elf0
hello.gcc.O3.nopie.strip.elf0
hello.gcc.O3.pie.strip.elf0
hello.gcc.Ofast.nopie.strip.elf0
hello.gcc.Ofast.pie.strip.elf0
hello.gcc.Os.nopie.strip.elf0
hello.gcc.Os.pie.strip.elf0
hello.icx.O0.nopie.strip.elf127
hello.icx.O0.pie.strip.elf127
hello.icx.O1.nopie.strip.elf127
hello.icx.O1.pie.strip.elf127
hello.icx.O2.nopie.strip.elf127
hello.icx.O2.pie.strip.elf127
hello.icx.O3.nopie.strip.elf127
hello.icx.O3.pie.strip.elf127
hello.icx.Ofast.nopie.strip.elf127
hello.icx.Ofast.pie.strip.elf127
hello.icx.Os.nopie.strip.elf127
hello.icx.Os.pie.strip.elf127
lighttpd.clang.O0.nopie.strip.elf0
lighttpd.clang.O0.pie.strip.elf0
lighttpd.clang.O1.nopie.strip.elf0
lighttpd.clang.O1.pie.strip.elf0
lighttpd.clang.O2.nopie.strip.elf0
lighttpd.clang.O2.pie.strip.elf0
lighttpd.clang.O3.nopie.strip.elf0
lighttpd.clang.O3.pie.strip.elf0
lighttpd.clang.Ofast.nopie.strip.elf0
lighttpd.clang.Ofast.pie.strip.elf0
lighttpd.clang.Os.nopie.strip.elf0
lighttpd.clang.Os.pie.strip.elf0
lighttpd.gcc.O0.nopie.strip.elf0
lighttpd.gcc.O0.pie.strip.elf0
lighttpd.gcc.O1.nopie.strip.elf0
lighttpd.gcc.O1.pie.strip.elf0
lighttpd.gcc.O2.nopie.strip.elf0
lighttpd.gcc.O2.pie.strip.elf0
lighttpd.gcc.O3.nopie.strip.elf0
lighttpd.gcc.O3.pie.strip.elf0
lighttpd.gcc.Ofast.nopie.strip.elf0
lighttpd.gcc.Ofast.pie.strip.elf0
lighttpd.gcc.Os.nopie.strip.elf0
lighttpd.gcc.Os.pie.strip.elf0
lighttpd.icx.O0.nopie.strip.elf0
lighttpd.icx.O0.pie.strip.elf0
lighttpd.icx.O1.nopie.strip.elf0
lighttpd.icx.O1.pie.strip.elf0
lighttpd.icx.O2.nopie.strip.elf0
lighttpd.icx.O2.pie.strip.elf0
lighttpd.icx.O3.nopie.strip.elf0
lighttpd.icx.O3.pie.strip.elf0
lighttpd.icx.Ofast.nopie.strip.elf0
lighttpd.icx.Ofast.pie.strip.elf0
lighttpd.icx.Os.nopie.strip.elf0
lighttpd.icx.Os.pie.strip.elf0
memcached.clang.O0.nopie.strip.elf0
memcached.clang.O0.pie.strip.elf0
memcached.clang.O1.nopie.strip.elf0
memcached.clang.O1.pie.strip.elf0
memcached.clang.O2.nopie.strip.elf0
memcached.clang.O2.pie.strip.elf0
memcached.clang.O3.nopie.strip.elf0
memcached.clang.O3.pie.strip.elf0
memcached.clang.Ofast.nopie.strip.elf0
memcached.clang.Ofast.pie.strip.elf0
memcached.clang.Os.nopie.strip.elf0
memcached.clang.Os.pie.strip.elf0
memcached.gcc.O0.nopie.strip.elf0
memcached.gcc.O0.pie.strip.elf0
memcached.gcc.O1.nopie.strip.elf0
memcached.gcc.O1.pie.strip.elf0
memcached.gcc.O2.nopie.strip.elf0
memcached.gcc.O2.pie.strip.elf0
memcached.gcc.O3.nopie.strip.elf0
memcached.gcc.O3.pie.strip.elf0
memcached.gcc.Ofast.nopie.strip.elf0
memcached.gcc.Ofast.pie.strip.elf0
memcached.gcc.Os.nopie.strip.elf0
memcached.gcc.Os.pie.strip.elf0
memcached.icx.O0.nopie.strip.elf0
memcached.icx.O0.pie.strip.elf0
memcached.icx.O1.nopie.strip.elf0
memcached.icx.O1.pie.strip.elf0
memcached.icx.O2.nopie.strip.elf0
memcached.icx.O2.pie.strip.elf0
memcached.icx.O3.nopie.strip.elf0
memcached.icx.O3.pie.strip.elf0
memcached.icx.Ofast.nopie.strip.elf0
memcached.icx.Ofast.pie.strip.elf0
memcached.icx.Os.nopie.strip.elf0
memcached.icx.Os.pie.strip.elf0
nginx.clang.O0.nopie.strip.elf0
nginx.clang.O0.pie.strip.elf0
nginx.clang.O1.nopie.strip.elf0
nginx.clang.O1.pie.strip.elf0
nginx.clang.O2.nopie.strip.elf0
nginx.clang.O2.pie.strip.elf0
nginx.clang.O3.nopie.strip.elf0
nginx.clang.O3.pie.strip.elf0
nginx.clang.Ofast.nopie.strip.elf0
nginx.clang.Ofast.pie.strip.elf0
nginx.clang.Os.nopie.strip.elf0
nginx.clang.Os.pie.strip.elf0
nginx.gcc.O0.pie.strip.elf0
nginx.gcc.O1.pie.strip.elf0
nginx.gcc.O2.pie.strip.elf0
nginx.gcc.O3.pie.strip.elf0
nginx.gcc.Ofast.pie.strip.elf0
nginx.gcc.Os.pie.strip.elf0
nginx.icx.O0.nopie.strip.elf127
nginx.icx.O0.pie.strip.elf127
nginx.icx.O1.nopie.strip.elf127
nginx.icx.O1.pie.strip.elf127
nginx.icx.O2.nopie.strip.elf127
nginx.icx.O2.pie.strip.elf127
nginx.icx.O3.nopie.strip.elf127
nginx.icx.O3.pie.strip.elf127
nginx.icx.Ofast.nopie.strip.elf127
nginx.icx.Ofast.pie.strip.elf127
nginx.icx.Os.nopie.strip.elf127
nginx.icx.Os.pie.strip.elf127
openssh.clang.O0.nopie.strip.elf0
openssh.clang.O0.pie.strip.elf0
openssh.clang.O1.nopie.strip.elf0
openssh.clang.O1.pie.strip.elf0
openssh.clang.O2.nopie.strip.elf0
openssh.clang.O2.pie.strip.elf0
openssh.clang.O3.nopie.strip.elf0
openssh.clang.O3.pie.strip.elf0
openssh.clang.Ofast.nopie.strip.elf0
openssh.clang.Ofast.pie.strip.elf0
openssh.clang.Os.nopie.strip.elf0
openssh.clang.Os.pie.strip.elf0
openssh.gcc.O0.nopie.strip.elf0
openssh.gcc.O0.pie.strip.elf0
openssh.gcc.O1.nopie.strip.elf0
openssh.gcc.O1.pie.strip.elf0
openssh.gcc.O2.nopie.strip.elf0
openssh.gcc.O2.pie.strip.elf0
openssh.gcc.O3.nopie.strip.elf0
openssh.gcc.O3.pie.strip.elf0
openssh.gcc.Ofast.nopie.strip.elf0
openssh.gcc.Ofast.pie.strip.elf0
openssh.gcc.Os.nopie.strip.elf0
openssh.gcc.Os.pie.strip.elf0
openssh.icx.O0.nopie.strip.elf127
openssh.icx.O0.pie.strip.elf127
openssh.icx.O1.nopie.strip.elf127
openssh.icx.O1.pie.strip.elf127
openssh.icx.O2.nopie.strip.elf127
openssh.icx.O2.pie.strip.elf127
openssh.icx.O3.nopie.strip.elf127
openssh.icx.O3.pie.strip.elf127
openssh.icx.Ofast.nopie.strip.elf127
openssh.icx.Ofast.pie.strip.elf127
openssh.icx.Os.nopie.strip.elf127
openssh.icx.Os.pie.strip.elf127
postfix.clang.O0.nopie.strip.elf0
postfix.clang.O0.pie.strip.elf0
postfix.clang.O1.nopie.strip.elf0
postfix.clang.O1.pie.strip.elf0
postfix.clang.O2.nopie.strip.elf0
postfix.clang.O2.pie.strip.elf0
postfix.clang.O3.nopie.strip.elf0
postfix.clang.O3.pie.strip.elf0
postfix.clang.Ofast.nopie.strip.elf0
postfix.clang.Ofast.pie.strip.elf0
postfix.clang.Os.nopie.strip.elf0
postfix.clang.Os.pie.strip.elf0
postfix.gcc.O0.nopie.strip.elf0
postfix.gcc.O0.pie.strip.elf0
postfix.gcc.O1.nopie.strip.elf0
postfix.gcc.O1.pie.strip.elf0
postfix.gcc.O2.nopie.strip.elf0
postfix.gcc.O2.pie.strip.elf0
postfix.gcc.O3.nopie.strip.elf0
postfix.gcc.O3.pie.strip.elf0
postfix.gcc.Ofast.nopie.strip.elf0
postfix.gcc.Ofast.pie.strip.elf0
postfix.gcc.Os.nopie.strip.elf0
postfix.gcc.Os.pie.strip.elf0
postfix.icx.O0.nopie.strip.elf0
postfix.icx.O0.pie.strip.elf0
postfix.icx.O1.nopie.strip.elf0
postfix.icx.O1.pie.strip.elf0
postfix.icx.O2.nopie.strip.elf0
postfix.icx.O2.pie.strip.elf0
postfix.icx.O3.nopie.strip.elf0
postfix.icx.O3.pie.strip.elf0
postfix.icx.Ofast.nopie.strip.elf0
postfix.icx.Ofast.pie.strip.elf0
postfix.icx.Os.nopie.strip.elf0
postfix.icx.Os.pie.strip.elf0
redis.clang.O0.nopie.strip.elf0
redis.clang.O0.pie.strip.elf0
redis.clang.O1.nopie.strip.elf0
redis.clang.O1.pie.strip.elf0
redis.clang.O2.nopie.strip.elf0
redis.clang.O2.pie.strip.elf0
redis.clang.O3.nopie.strip.elf0
redis.clang.O3.pie.strip.elf0
redis.clang.Ofast.nopie.strip.elf0
redis.clang.Ofast.pie.strip.elf0
redis.clang.Os.nopie.strip.elf0
redis.clang.Os.pie.strip.elf0
redis.gcc.O0.nopie.strip.elf0
redis.gcc.O0.pie.strip.elf0
redis.gcc.O1.nopie.strip.elf0
redis.gcc.O1.pie.strip.elf0
redis.gcc.O2.nopie.strip.elf0
redis.gcc.O2.pie.strip.elf0
redis.gcc.O3.nopie.strip.elf0
redis.gcc.O3.pie.strip.elf0
redis.gcc.Ofast.nopie.strip.elf0
redis.gcc.Ofast.pie.strip.elf0
redis.gcc.Os.nopie.strip.elf0
redis.gcc.Os.pie.strip.elf0
redis.icx.O0.nopie.strip.elf0
redis.icx.O0.pie.strip.elf0
redis.icx.O1.nopie.strip.elf0
redis.icx.O1.pie.strip.elf0
redis.icx.O2.nopie.strip.elf0
redis.icx.O2.pie.strip.elf0
redis.icx.O3.nopie.strip.elf0
redis.icx.O3.pie.strip.elf0
redis.icx.Ofast.nopie.strip.elf0
redis.icx.Ofast.pie.strip.elf0
redis.icx.Os.nopie.strip.elf0
redis.icx.Os.pie.strip.elf0
sqlite.clang.O0.nopie.strip.elf0
sqlite.clang.O0.pie.strip.elf0
sqlite.clang.O1.nopie.strip.elf0
sqlite.clang.O1.pie.strip.elf0
sqlite.clang.O2.nopie.strip.elf0
sqlite.clang.O2.pie.strip.elf0
sqlite.clang.O3.nopie.strip.elf0
sqlite.clang.O3.pie.strip.elf0
sqlite.clang.Ofast.nopie.strip.elf0
sqlite.clang.Ofast.pie.strip.elf0
sqlite.clang.Os.nopie.strip.elf0
sqlite.clang.Os.pie.strip.elf0
sqlite.gcc.O0.nopie.strip.elf0
sqlite.gcc.O0.pie.strip.elf0
sqlite.gcc.O1.nopie.strip.elf0
sqlite.gcc.O1.pie.strip.elf0
sqlite.gcc.O2.nopie.strip.elf0
sqlite.gcc.O2.pie.strip.elf0
sqlite.gcc.O3.nopie.strip.elf0
sqlite.gcc.O3.pie.strip.elf0
sqlite.gcc.Ofast.nopie.strip.elf0
sqlite.gcc.Ofast.pie.strip.elf0
sqlite.gcc.Os.nopie.strip.elf0
sqlite.gcc.Os.pie.strip.elf0
sqlite.icx.O0.nopie.strip.elf127
sqlite.icx.O0.pie.strip.elf127
sqlite.icx.O1.nopie.strip.elf127
sqlite.icx.O1.pie.strip.elf127
sqlite.icx.O2.nopie.strip.elf127
sqlite.icx.O2.pie.strip.elf127
sqlite.icx.O3.nopie.strip.elf127
sqlite.icx.O3.pie.strip.elf127
sqlite.icx.Ofast.nopie.strip.elf127
sqlite.icx.Ofast.pie.strip.elf127
sqlite.icx.Os.nopie.strip.elf127
sqlite.icx.Os.pie.strip.elf127
squid.clang.O0.nopie.strip.elf0
squid.clang.O0.pie.strip.elf0
squid.clang.O1.nopie.strip.elf0
squid.clang.O1.pie.strip.elf0
squid.clang.O2.nopie.strip.elf0
squid.clang.O2.pie.strip.elf0
squid.clang.O3.nopie.strip.elf0
squid.clang.O3.pie.strip.elf0
squid.clang.Ofast.nopie.strip.elf0
squid.clang.Ofast.pie.strip.elf0
squid.clang.Os.nopie.strip.elf0
squid.clang.Os.pie.strip.elf0
squid.gcc.O0.nopie.strip.elf0
squid.gcc.O0.pie.strip.elf0
squid.gcc.O1.nopie.strip.elf0
squid.gcc.O1.pie.strip.elf0
squid.gcc.O2.nopie.strip.elf0
squid.gcc.O2.pie.strip.elf0
squid.gcc.O3.nopie.strip.elf0
squid.gcc.O3.pie.strip.elf0
squid.gcc.Ofast.nopie.strip.elf0
squid.gcc.Ofast.pie.strip.elf0
squid.gcc.Os.nopie.strip.elf0
squid.gcc.Os.pie.strip.elf0
squid.icx.O0.nopie.strip.elf0
squid.icx.O1.nopie.strip.elf0
squid.icx.O1.pie.strip.elf0
squid.icx.O2.pie.strip.elf0
vim.clang.O0.nopie.strip.elf0
vim.clang.O0.pie.strip.elf0
vim.clang.O1.nopie.strip.elf0
vim.clang.O1.pie.strip.elf0
vim.clang.O2.nopie.strip.elf0
vim.clang.O2.pie.strip.elf0
vim.clang.O3.nopie.strip.elf0
vim.clang.O3.pie.strip.elf0
vim.clang.Ofast.nopie.strip.elf0
vim.clang.Ofast.pie.strip.elf0
vim.clang.Os.nopie.strip.elf0
vim.clang.Os.pie.strip.elf0
vim.gcc.O0.nopie.strip.elf0
vim.gcc.O0.pie.strip.elf0
vim.gcc.O1.nopie.strip.elf0
vim.gcc.O1.pie.strip.elf0
vim.gcc.O2.nopie.strip.elf0
vim.gcc.O2.pie.strip.elf0
vim.gcc.O3.nopie.strip.elf0
vim.gcc.O3.pie.strip.elf0
vim.gcc.Ofast.nopie.strip.elf0
vim.gcc.Ofast.pie.strip.elf0
vim.gcc.Os.nopie.strip.elf0
vim.gcc.Os.pie.strip.elf0
vim.icx.O0.nopie.strip.elf127
vim.icx.O0.pie.strip.elf127
vim.icx.O1.nopie.strip.elf127
vim.icx.O1.pie.strip.elf127
vim.icx.O2.nopie.strip.elf127
vim.icx.O2.pie.strip.elf127
vim.icx.O3.nopie.strip.elf127
vim.icx.O3.pie.strip.elf127
vim.icx.Ofast.nopie.strip.elf127
vim.icx.Ofast.pie.strip.elf127
vim.icx.Os.nopie.strip.elf127
vim.icx.Os.pie.strip.elf127
zip.clang.O0.nopie.strip.elf127
zip.clang.O0.pie.strip.elf127
zip.clang.O1.nopie.strip.elf127
zip.clang.O1.pie.strip.elf127
zip.clang.O2.nopie.strip.elf127
zip.clang.O2.pie.strip.elf127
zip.clang.O3.nopie.strip.elf127
zip.clang.O3.pie.strip.elf127
zip.clang.Ofast.nopie.strip.elf0
zip.clang.Ofast.pie.strip.elf0
zip.clang.Os.nopie.strip.elf0
zip.clang.Os.pie.strip.elf0
zip.gcc.O0.nopie.strip.elf0
zip.gcc.O0.pie.strip.elf0
zip.gcc.O1.nopie.strip.elf0
zip.gcc.O1.pie.strip.elf0
zip.gcc.O2.nopie.strip.elf0
zip.gcc.O2.pie.strip.elf0
zip.gcc.O3.nopie.strip.elf0
zip.gcc.O3.pie.strip.elf0
zip.gcc.Ofast.nopie.strip.elf127
zip.gcc.Ofast.pie.strip.elf127
zip.gcc.Os.nopie.strip.elf127
zip.gcc.Os.pie.strip.elf0
zip.icx.O0.nopie.strip.elf127
zip.icx.O0.pie.strip.elf127
zip.icx.O1.nopie.strip.elf127
zip.icx.O1.pie.strip.elf127
zip.icx.O2.nopie.strip.elf127
zip.icx.O2.pie.strip.elf127
zip.icx.O3.nopie.strip.elf127
zip.icx.O3.pie.strip.elf127
zip.icx.Ofast.nopie.strip.elf127
zip.icx.Ofast.pie.strip.elf127
zip.icx.Os.nopie.strip.elf127
zip.icx.Os.pie.strip.elf127

Look into incompatible library versions

  • Rebuilding bitcoind.{gcc,clang}.{O0,O1,O2,O3,Os,Ofast}.{pie,nopie}.{strip,nostrip}.elf.
  • Rebuilding bitcoind.{icx}.{O0,O1,O2,O3,Os,Ofast}.{pie,nopie}.{strip,nostrip}.elf.
  • Rebuilding memcached.{icx}.{O0,O1,O2,O3,Os,Ofast}.{pie,nopie}.{strip,nostrip}.elf.

Ensure every pie is actually PIE

echo "$DATA"|grep -w EXEC|sort
echo "$DATA"|grep -w EXEC|sed 's/\.\([^\.]*\)\..*/.\1/'|sort|uniq -c|sort -rn
echo "clang $(echo "$DATA"|grep -w EXEC|grep -c clang)"
echo "gcc $(echo "$DATA"|grep -w EXEC|grep -c gcc)"
echo "icx $(echo "$DATA"|grep -w EXEC|grep -c icx)"
echo "$DATA"|grep -w EXEC|sed 's/\..*//'|sort|uniq -c
for pie in results/*.pie.elf;do
  echo "$(basename $pie) $(readelf -h $pie|grep Type|sed 's/.*Type:[[:space:]]*//;s/ .*$//')"
done

#+RESULTS[06c14091c961550eddb56868b18b4d13bdeaef3c]: which-pie

bitcoind.clang.O3.pie.elfEXEC
bitcoind.clang.Ofast.pie.elfEXEC
bitcoind.clang.Os.pie.elfEXEC
bitcoind.gcc.O0.pie.elfDYN
bitcoind.gcc.O1.pie.elfDYN
bitcoind.gcc.O2.pie.elfDYN
bitcoind.gcc.O3.pie.elfDYN
bitcoind.gcc.Ofast.pie.elfDYN
bitcoind.gcc.Os.pie.elfDYN
bitcoind.icx.O0.pie.elfEXEC
bitcoind.icx.O1.pie.elfEXEC
hello.clang.O0.pie.elfDYN
hello.clang.O1.pie.elfDYN
hello.clang.O2.pie.elfDYN
hello.clang.O3.pie.elfDYN
hello.clang.Ofast.pie.elfDYN
hello.clang.Os.pie.elfDYN
hello.gcc.O0.pie.elfDYN
hello.gcc.O1.pie.elfDYN
hello.gcc.O2.pie.elfDYN
hello.gcc.O3.pie.elfDYN
hello.gcc.Ofast.pie.elfDYN
hello.gcc.Os.pie.elfDYN
hello.icx.O0.pie.elfDYN
hello.icx.O1.pie.elfDYN
hello.icx.O2.pie.elfDYN
hello.icx.O3.pie.elfDYN
hello.icx.Ofast.pie.elfDYN
hello.icx.Os.pie.elfDYN
lighttpd.clang.O0.pie.elfDYN
lighttpd.clang.O1.pie.elfDYN
lighttpd.clang.O2.pie.elfDYN
lighttpd.clang.O3.pie.elfDYN
lighttpd.clang.Ofast.pie.elfDYN
lighttpd.clang.Os.pie.elfDYN
lighttpd.gcc.O0.pie.elfDYN
lighttpd.gcc.O1.pie.elfDYN
lighttpd.gcc.O2.pie.elfDYN
lighttpd.gcc.O3.pie.elfDYN
lighttpd.gcc.Ofast.pie.elfDYN
lighttpd.gcc.Os.pie.elfDYN
lighttpd.icx.O0.pie.elfDYN
lighttpd.icx.O1.pie.elfDYN
lighttpd.icx.O2.pie.elfDYN
lighttpd.icx.O3.pie.elfDYN
lighttpd.icx.Ofast.pie.elfDYN
lighttpd.icx.Os.pie.elfDYN
memcached.clang.O0.pie.elfDYN
memcached.clang.O1.pie.elfDYN
memcached.clang.O2.pie.elfDYN
memcached.clang.O3.pie.elfDYN
memcached.clang.Ofast.pie.elfDYN
memcached.clang.Os.pie.elfDYN
memcached.gcc.O0.pie.elfDYN
memcached.gcc.O1.pie.elfDYN
memcached.gcc.O2.pie.elfDYN
memcached.gcc.O3.pie.elfDYN
memcached.gcc.Ofast.pie.elfDYN
memcached.gcc.Os.pie.elfDYN
memcached.icx.O0.pie.elfDYN
memcached.icx.O1.pie.elfDYN
memcached.icx.O2.pie.elfDYN
memcached.icx.O3.pie.elfDYN
memcached.icx.Ofast.pie.elfDYN
memcached.icx.Os.pie.elfDYN
nginx.clang.O0.pie.elfEXEC
nginx.clang.O1.pie.elfEXEC
nginx.clang.O2.pie.elfEXEC
nginx.clang.O3.pie.elfEXEC
nginx.clang.Ofast.pie.elfEXEC
nginx.clang.Os.pie.elfEXEC
nginx.gcc.O0.pie.elfDYN
nginx.gcc.O1.pie.elfDYN
nginx.gcc.O2.pie.elfDYN
nginx.gcc.O3.pie.elfDYN
nginx.gcc.Ofast.pie.elfDYN
nginx.gcc.Os.pie.elfDYN
nginx.icx.O0.pie.elfEXEC
nginx.icx.O1.pie.elfEXEC
nginx.icx.O2.pie.elfEXEC
nginx.icx.O3.pie.elfEXEC
nginx.icx.Ofast.pie.elfEXEC
nginx.icx.Os.pie.elfEXEC
openssh.clang.O0.pie.elfDYN
openssh.clang.O1.pie.elfDYN
openssh.clang.O2.pie.elfDYN
openssh.clang.O3.pie.elfDYN
openssh.clang.Ofast.pie.elfDYN
openssh.clang.Os.pie.elfDYN
openssh.gcc.O0.pie.elfDYN
openssh.gcc.O1.pie.elfDYN
openssh.gcc.O2.pie.elfDYN
openssh.gcc.O3.pie.elfDYN
openssh.gcc.Ofast.pie.elfDYN
openssh.gcc.Os.pie.elfDYN
openssh.icx.O0.pie.elfDYN
openssh.icx.O1.pie.elfDYN
openssh.icx.O2.pie.elfDYN
openssh.icx.O3.pie.elfDYN
openssh.icx.Ofast.pie.elfDYN
openssh.icx.Os.pie.elfDYN
redis.clang.O0.pie.elfDYN
redis.clang.O1.pie.elfDYN
redis.clang.O2.pie.elfDYN
redis.clang.O3.pie.elfDYN
redis.clang.Ofast.pie.elfDYN
redis.clang.Os.pie.elfDYN
redis.gcc.O0.pie.elfDYN
redis.gcc.O1.pie.elfDYN
redis.gcc.O2.pie.elfDYN
redis.gcc.O3.pie.elfDYN
redis.gcc.Ofast.pie.elfDYN
redis.gcc.Os.pie.elfDYN
redis.icx.O0.pie.elfDYN
redis.icx.O1.pie.elfDYN
redis.icx.O2.pie.elfDYN
redis.icx.O3.pie.elfDYN
redis.icx.Ofast.pie.elfDYN
redis.icx.Os.pie.elfDYN
sqlite.clang.O0.pie.elfDYN
sqlite.clang.O1.pie.elfDYN
sqlite.clang.O2.pie.elfDYN
sqlite.clang.O3.pie.elfDYN
sqlite.clang.Ofast.pie.elfDYN
sqlite.clang.Os.pie.elfDYN
sqlite.gcc.O0.pie.elfDYN
sqlite.gcc.O1.pie.elfDYN
sqlite.gcc.O2.pie.elfDYN
sqlite.gcc.O3.pie.elfDYN
sqlite.gcc.Ofast.pie.elfDYN
sqlite.gcc.Os.pie.elfDYN
sqlite.icx.O0.pie.elfDYN
sqlite.icx.O1.pie.elfDYN
sqlite.icx.O2.pie.elfDYN
sqlite.icx.O3.pie.elfDYN
sqlite.icx.Ofast.pie.elfDYN
sqlite.icx.Os.pie.elfDYN
squid.clang.O0.pie.elfDYN
squid.clang.O1.pie.elfDYN
squid.clang.O2.pie.elfDYN
squid.clang.O3.pie.elfEXEC
squid.clang.Ofast.pie.elfEXEC
squid.clang.Os.pie.elfEXEC
squid.gcc.O0.pie.elfDYN
squid.gcc.O1.pie.elfDYN
squid.gcc.O2.pie.elfDYN
squid.gcc.O3.pie.elfDYN
squid.gcc.Ofast.pie.elfDYN
squid.gcc.Os.pie.elfDYN
squid.icx.O1.pie.elfDYN
squid.icx.O2.pie.elfDYN
vim.clang.O0.pie.elfEXEC
vim.clang.O1.pie.elfEXEC
vim.clang.O2.pie.elfEXEC
vim.clang.O3.pie.elfEXEC
vim.clang.Ofast.pie.elfEXEC
vim.clang.Os.pie.elfEXEC
vim.gcc.O0.pie.elfDYN
vim.gcc.O1.pie.elfDYN
vim.gcc.O2.pie.elfDYN
vim.gcc.O3.pie.elfDYN
vim.gcc.Ofast.pie.elfDYN
vim.gcc.Os.pie.elfDYN
vim.icx.O0.pie.elfEXEC
vim.icx.O1.pie.elfEXEC
vim.icx.O2.pie.elfEXEC
vim.icx.O3.pie.elfEXEC
vim.icx.Ofast.pie.elfEXEC
vim.icx.Os.pie.elfEXEC
zip.clang.O0.pie.elfEXEC
zip.clang.Ofast.pie.elfEXEC
zip.clang.Os.pie.elfEXEC
zip.gcc.O0.pie.elfDYN
zip.gcc.O1.pie.elfDYN
zip.gcc.O2.pie.elfDYN
zip.gcc.O3.pie.elfDYN
zip.gcc.Os.pie.elfDYN
zip.icx.O0.pie.elfEXEC
zip.icx.Ofast.pie.elfEXEC

Run everything on an early Ubuntu as well

  • This is required for Uroboros to have any success.
  • This should improve performance for Egalito as well.