Bug 1382280 part 1: Upgrade valgrind r=ted

Bug 1338651 was backed out because when building a newer image, there
was a valgrind leak report that couldn't resolve symbols. Further
investigation showed the valgrind package installed had symbols stripped.

We upgrade valgrind version and build it from source with symbols.

We had to build inside the docker image because we need to run
"make install". Using "make dist" to generate a tar ball will also run
"make docs", and it is hard to make it work because of the outdated
texlive package present in CentOS 6.

We also apply a patch [1] to valgrind correctly generate symbols
for unloaded objects.

[1] https://bugs.kde.org/show_bug.cgi?id=79362#c62

MozReview-Commit-ID: 2IhuJY28Ke3
This commit is contained in:
Wander Lairson Costa 2017-08-10 13:42:11 -03:00
parent 6a9d58f37b
commit 285b4dbffb
7 changed files with 4853 additions and 16 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
FROM taskcluster/centos6-build:0.1.6
FROM taskcluster/centos6-build:0.1.7
MAINTAINER Dustin J. Mitchell <dustin@mozilla.com>
### update to latest from upstream repositories

View File

@ -1 +1 @@
0.1.6.20160329195300
0.1.7.20170801103900

View File

@ -12,6 +12,9 @@ WORKDIR /home/worker
VOLUME /home/worker/workspace
VOLUME /home/worker/tooltool-cache
# %include build/valgrind/valgrind-epochs.patch
ADD topsrcdir/build/valgrind/valgrind-epochs.patch /tmp/valgrind-epochs.patch
# install non-build specific dependencies in a single layer
ADD system-setup.sh /tmp/system-setup.sh
RUN bash /tmp/system-setup.sh

View File

@ -1 +1 @@
0.1.6
0.1.7

View File

@ -299,12 +299,6 @@ tooltool_fetch() {
cd $BUILD
tooltool_fetch <<'EOF'
[
{
"size": 17051332,
"digest": "57c816a6df9731aa5f34678abb59ea560bbdb5abd01df3f3a001dc94a3695d3190b1121caba483f8d8c4a405f4e53fde63a628527aca73f05652efeaec9621c4",
"algorithm": "sha512",
"filename": "valgrind-3.10.0-1.x86_64.rpm"
},
{
"size": 830601,
"digest": "c04dadf29a3ac676e93cb684b619f753584f8414167135eb766602671d08c85d7bc564511310564bdf2651d72da911b017f0969b9a26d84df724aebf8733f268",
@ -313,21 +307,33 @@ tooltool_fetch <<'EOF'
}
]
EOF
yum install -y valgrind-*.rpm
yum install -y yasm-*.rpm
# The source RPM for valgrind; not used here, but included for reference
: <<'EOF'
# Valgrind
# Install valgrind from sources to make sure we don't strip symbols
tooltool_fetch <<'EOF'
[
{
"size": 10767445,
"digest": "d435897b602f7bdf77fabf1c80bbd06ba4f7288ad0ef31d19a863546d4651172421b45f2f090bad3c3355c9fa2a00352066f18d99bf994838579b768b90553d3",
"size": 14723076,
"digest": "34e1013cd3815d30a459b86220e871bb0a6209cc9e87af968f347083693779f022e986f211bdf1a5184ad7370cde12ff2cfca8099967ff94732970bd04a97009",
"algorithm": "sha512",
"filename": "valgrind-3.10.0-1.src.rpm"
"filename": "valgrind-3.13.0.tar.bz2"
}
]
EOF
valgrind_version=3.13.0
tar -xjf valgrind-$valgrind_version.tar.bz2
cd valgrind-$valgrind_version
# This patch by Julian Seward allows us to write a suppression for
# a leak in a library that gets unloaded before shutdown.
# ref: https://bugs.kde.org/show_bug.cgi?id=79362
patch -p0 < /tmp/valgrind-epochs.patch
./configure --prefix=/usr
make -j$(grep -c ^processor /proc/cpuinfo) install
# Git
cd $BUILD
# NOTE: rc builds are in https://www.kernel.org/pub/software/scm/git/testing/

View File

@ -1,5 +1,5 @@
# TODO remove VOLUME below when the base image is updated next.
FROM taskcluster/centos6-build-upd:0.1.6.20160329195300
FROM taskcluster/centos6-build-upd:0.1.7.20170801103900
MAINTAINER Dustin J. Mitchell <dustin@mozilla.com>
# TODO remove when base image is updated