mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Merge pull request #8939 from ethereum/updateZ3
Update z3 to version 4.8.8.
This commit is contained in:
commit
b71a3f1f1d
@ -12,10 +12,10 @@ parameters:
|
|||||||
default: "4"
|
default: "4"
|
||||||
ubuntu-2004-docker-image-rev:
|
ubuntu-2004-docker-image-rev:
|
||||||
type: string
|
type: string
|
||||||
default: "1"
|
default: "2"
|
||||||
ubuntu-2004-clang-docker-image-rev:
|
ubuntu-2004-clang-docker-image-rev:
|
||||||
type: string
|
type: string
|
||||||
default: "1"
|
default: "2"
|
||||||
ubuntu-1604-clang-ossfuzz-docker-image-rev:
|
ubuntu-1604-clang-ossfuzz-docker-image-rev:
|
||||||
type: string
|
type: string
|
||||||
default: "2"
|
default: "2"
|
||||||
|
@ -26,6 +26,9 @@ FROM buildpack-deps:focal AS base
|
|||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
|
dist=$(grep DISTRIB_CODENAME /etc/lsb-release | cut -d= -f2); \
|
||||||
|
echo "deb http://ppa.launchpad.net/ethereum/cpp-build-deps/ubuntu $dist main" >> /etc/apt/sources.list ; \
|
||||||
|
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1c52189c923f6ca9 ; \
|
||||||
apt-get update; \
|
apt-get update; \
|
||||||
apt-get install -qqy --no-install-recommends \
|
apt-get install -qqy --no-install-recommends \
|
||||||
build-essential \
|
build-essential \
|
||||||
@ -33,7 +36,7 @@ RUN set -ex; \
|
|||||||
cmake ninja-build \
|
cmake ninja-build \
|
||||||
libboost-filesystem-dev libboost-test-dev libboost-system-dev \
|
libboost-filesystem-dev libboost-test-dev libboost-system-dev \
|
||||||
libboost-program-options-dev \
|
libboost-program-options-dev \
|
||||||
libcvc4-dev z3 libz3-dev \
|
libcvc4-dev libz3-static-dev \
|
||||||
; \
|
; \
|
||||||
apt-get install -qy python3-pip python3-sphinx; \
|
apt-get install -qy python3-pip python3-sphinx; \
|
||||||
pip3 install codecov; \
|
pip3 install codecov; \
|
||||||
|
@ -26,6 +26,9 @@ FROM buildpack-deps:focal AS base
|
|||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
|
dist=$(grep DISTRIB_CODENAME /etc/lsb-release | cut -d= -f2); \
|
||||||
|
echo "deb http://ppa.launchpad.net/ethereum/cpp-build-deps/ubuntu $dist main" >> /etc/apt/sources.list ; \
|
||||||
|
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 1c52189c923f6ca9 ; \
|
||||||
apt-get update; \
|
apt-get update; \
|
||||||
apt-get install -qqy --no-install-recommends \
|
apt-get install -qqy --no-install-recommends \
|
||||||
build-essential \
|
build-essential \
|
||||||
@ -33,8 +36,8 @@ RUN set -ex; \
|
|||||||
cmake ninja-build \
|
cmake ninja-build \
|
||||||
libboost-filesystem-dev libboost-test-dev libboost-system-dev \
|
libboost-filesystem-dev libboost-test-dev libboost-system-dev \
|
||||||
libboost-program-options-dev \
|
libboost-program-options-dev \
|
||||||
clang llvm-dev \
|
clang \
|
||||||
z3 libz3-dev \
|
libz3-static-dev \
|
||||||
; \
|
; \
|
||||||
rm -rf /var/lib/apt/lists/*
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
@ -43,13 +43,13 @@ then
|
|||||||
./scripts/install_obsolete_jsoncpp_1_7_4.sh
|
./scripts/install_obsolete_jsoncpp_1_7_4.sh
|
||||||
|
|
||||||
# z3
|
# z3
|
||||||
wget https://github.com/Z3Prover/z3/releases/download/z3-4.8.7/z3-4.8.7-x64-osx-10.14.6.zip
|
wget https://github.com/Z3Prover/z3/releases/download/z3-4.8.8/z3-4.8.8-x64-osx-10.14.6.zip
|
||||||
unzip z3-4.8.7-x64-osx-10.14.6.zip
|
unzip z3-4.8.8-x64-osx-10.14.6.zip
|
||||||
rm -f z3-4.8.7-x64-osx-10.14.6.zip
|
rm -f z3-4.8.8-x64-osx-10.14.6.zip
|
||||||
cp z3-4.8.7-x64-osx-10.14.6/bin/libz3.a /usr/local/lib
|
cp z3-4.8.8-x64-osx-10.14.6/bin/libz3.a /usr/local/lib
|
||||||
cp z3-4.8.7-x64-osx-10.14.6/bin/z3 /usr/local/bin
|
cp z3-4.8.8-x64-osx-10.14.6/bin/z3 /usr/local/bin
|
||||||
cp z3-4.8.7-x64-osx-10.14.6/include/* /usr/local/include
|
cp z3-4.8.8-x64-osx-10.14.6/include/* /usr/local/include
|
||||||
rm -rf z3-4.8.7-x64-osx-10.14.6
|
rm -rf z3-4.8.8-x64-osx-10.14.6
|
||||||
|
|
||||||
# evmone
|
# evmone
|
||||||
wget https://github.com/ethereum/evmone/releases/download/v0.4.0/evmone-0.4.0-darwin-x86_64.tar.gz
|
wget https://github.com/ethereum/evmone/releases/download/v0.4.0/evmone-0.4.0-darwin-x86_64.tar.gz
|
||||||
|
@ -25,11 +25,9 @@ set -ev
|
|||||||
keyid=70D110489D66E2F6
|
keyid=70D110489D66E2F6
|
||||||
email=builds@ethereum.org
|
email=builds@ethereum.org
|
||||||
packagename=libz3-static-dev
|
packagename=libz3-static-dev
|
||||||
# On the next version the git cherry-pick below should be removed and the patch suffix removed from the version string.
|
version=4.8.8
|
||||||
version=4.8.7
|
|
||||||
version_patchsuffix=-1
|
|
||||||
|
|
||||||
DISTRIBUTIONS="bionic disco eoan focal"
|
DISTRIBUTIONS="bionic eoan focal"
|
||||||
|
|
||||||
for distribution in $DISTRIBUTIONS
|
for distribution in $DISTRIBUTIONS
|
||||||
do
|
do
|
||||||
@ -44,10 +42,8 @@ ppafilesurl=https://launchpad.net/~ethereum/+archive/ubuntu/${pparepo}/+files
|
|||||||
# Fetch source
|
# Fetch source
|
||||||
git clone --branch z3-${version} https://github.com/Z3Prover/z3.git
|
git clone --branch z3-${version} https://github.com/Z3Prover/z3.git
|
||||||
cd z3
|
cd z3
|
||||||
# Patch build failure.
|
|
||||||
git cherry-pick e212159f4e
|
|
||||||
|
|
||||||
debversion="${version}${version_patchsuffix}"
|
debversion="${version}"
|
||||||
|
|
||||||
CMAKE_OPTIONS="-DZ3_BUILD_LIBZ3_SHARED=OFF -DCMAKE_BUILD_TYPE=Release"
|
CMAKE_OPTIONS="-DZ3_BUILD_LIBZ3_SHARED=OFF -DCMAKE_BUILD_TYPE=Release"
|
||||||
|
|
||||||
@ -181,7 +177,7 @@ This program is free software: you can redistribute it and/or modify
|
|||||||
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
|
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
|
||||||
EOF
|
EOF
|
||||||
cat <<EOF > debian/changelog
|
cat <<EOF > debian/changelog
|
||||||
libz3-static-dev (0.0.1-2ubuntu0) saucy; urgency=low
|
libz3-static-dev (0.0.1-1ubuntu0) saucy; urgency=low
|
||||||
|
|
||||||
* Initial release.
|
* Initial release.
|
||||||
|
|
||||||
@ -191,7 +187,7 @@ mkdir debian/source
|
|||||||
echo "3.0 (quilt)" > debian/source/format
|
echo "3.0 (quilt)" > debian/source/format
|
||||||
chmod +x debian/rules
|
chmod +x debian/rules
|
||||||
|
|
||||||
versionsuffix=2ubuntu0~${distribution}
|
versionsuffix=1ubuntu0~${distribution}
|
||||||
EMAIL="$email" dch -v 1:${debversion}-${versionsuffix} "build of ${version}"
|
EMAIL="$email" dch -v 1:${debversion}-${versionsuffix} "build of ${version}"
|
||||||
|
|
||||||
# build source package
|
# build source package
|
||||||
|
@ -55,9 +55,9 @@ keyid=70D110489D66E2F6
|
|||||||
email=builds@ethereum.org
|
email=builds@ethereum.org
|
||||||
packagename=solc
|
packagename=solc
|
||||||
|
|
||||||
static_build_distribution=disco
|
static_build_distribution=focal
|
||||||
|
|
||||||
DISTRIBUTIONS="bionic disco eoan focal"
|
DISTRIBUTIONS="bionic eoan focal"
|
||||||
|
|
||||||
if is_release
|
if is_release
|
||||||
then
|
then
|
||||||
@ -85,7 +85,7 @@ else
|
|||||||
fi
|
fi
|
||||||
if [ $distribution = focal ]
|
if [ $distribution = focal ]
|
||||||
then
|
then
|
||||||
SMTDEPENDENCY="libz3-dev,
|
SMTDEPENDENCY="libz3-static-dev,
|
||||||
libcvc4-dev,
|
libcvc4-dev,
|
||||||
"
|
"
|
||||||
elif [ $distribution = disco ]
|
elif [ $distribution = disco ]
|
||||||
|
@ -19,5 +19,4 @@ contract LoopFor2 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Warning: (316-336): Assertion violation happens here
|
|
||||||
// Warning: (363-382): Assertion violation happens here
|
// Warning: (363-382): Assertion violation happens here
|
||||||
|
@ -19,6 +19,5 @@ contract LoopFor2 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Warning: (317-337): Assertion violation happens here
|
|
||||||
// Warning: (341-360): Assertion violation happens here
|
// Warning: (341-360): Assertion violation happens here
|
||||||
// Warning: (364-383): Assertion violation happens here
|
// Warning: (364-383): Assertion violation happens here
|
||||||
|
@ -21,6 +21,5 @@ contract LoopFor2 {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
// Warning: (296-316): Assertion violation happens here
|
|
||||||
// Warning: (320-339): Assertion violation happens here
|
// Warning: (320-339): Assertion violation happens here
|
||||||
// Warning: (343-362): Assertion violation happens here
|
// Warning: (343-362): Assertion violation happens here
|
||||||
|
@ -9,4 +9,6 @@ contract C {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
|
// Warning: (129-143): Error trying to invoke SMT solver.
|
||||||
|
// Warning: (147-161): Error trying to invoke SMT solver.
|
||||||
// Warning: (147-161): Assertion violation happens here
|
// Warning: (147-161): Assertion violation happens here
|
||||||
|
@ -10,4 +10,6 @@ contract C {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
|
// Warning: (163-184): Error trying to invoke SMT solver.
|
||||||
|
// Warning: (188-209): Error trying to invoke SMT solver.
|
||||||
// Warning: (188-209): Assertion violation happens here
|
// Warning: (188-209): Assertion violation happens here
|
||||||
|
@ -10,4 +10,6 @@ contract C {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// ----
|
// ----
|
||||||
|
// Warning: (171-190): Error trying to invoke SMT solver.
|
||||||
|
// Warning: (194-213): Error trying to invoke SMT solver.
|
||||||
// Warning: (194-213): Assertion violation happens here
|
// Warning: (194-213): Assertion violation happens here
|
||||||
|
@ -16,4 +16,3 @@ contract C
|
|||||||
// ====
|
// ====
|
||||||
// SMTSolvers: z3
|
// SMTSolvers: z3
|
||||||
// ----
|
// ----
|
||||||
// Warning: (174-194): Assertion violation happens here
|
|
||||||
|
@ -6,3 +6,5 @@ contract C {
|
|||||||
assert(x / y == 3);
|
assert(x / y == 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ----
|
||||||
|
// Warning: (107-125): Error trying to invoke SMT solver.
|
||||||
|
@ -6,3 +6,5 @@ contract C {
|
|||||||
assert(x / y == 3);
|
assert(x / y == 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ----
|
||||||
|
// Warning: (105-123): Error trying to invoke SMT solver.
|
||||||
|
@ -6,3 +6,5 @@ contract C {
|
|||||||
assert(x / y == -3);
|
assert(x / y == -3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ----
|
||||||
|
// Warning: (106-125): Error trying to invoke SMT solver.
|
||||||
|
@ -6,3 +6,5 @@ contract C {
|
|||||||
assert(x / y == -3);
|
assert(x / y == -3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ----
|
||||||
|
// Warning: (106-125): Error trying to invoke SMT solver.
|
||||||
|
@ -6,3 +6,5 @@ contract C {
|
|||||||
assert(x / y == 3);
|
assert(x / y == 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ----
|
||||||
|
// Warning: (107-125): Error trying to invoke SMT solver.
|
||||||
|
@ -8,3 +8,5 @@ contract C {
|
|||||||
assert(z1 == z2);
|
assert(z1 == z2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ----
|
||||||
|
// Warning: (166-182): Error trying to invoke SMT solver.
|
||||||
|
@ -8,3 +8,5 @@ contract C
|
|||||||
assert((y % 2) == 0);
|
assert((y % 2) == 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ----
|
||||||
|
// Warning: (122-142): Error trying to invoke SMT solver.
|
||||||
|
@ -8,3 +8,5 @@ contract C
|
|||||||
assert(z < y);
|
assert(z < y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ----
|
||||||
|
// Warning: (126-139): Error trying to invoke SMT solver.
|
||||||
|
@ -8,3 +8,5 @@ contract C
|
|||||||
assert(z < 100_000);
|
assert(z < 100_000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ----
|
||||||
|
// Warning: (130-149): Error trying to invoke SMT solver.
|
||||||
|
Loading…
Reference in New Issue
Block a user