mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-01-27 15:55:16 +00:00
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:
parent
6a9d58f37b
commit
285b4dbffb
4828
build/valgrind/valgrind-epochs.patch
Normal file
4828
build/valgrind/valgrind-epochs.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -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
|
||||
|
@ -1 +1 @@
|
||||
0.1.6.20160329195300
|
||||
0.1.7.20170801103900
|
||||
|
@ -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
|
||||
|
@ -1 +1 @@
|
||||
0.1.6
|
||||
0.1.7
|
||||
|
@ -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/
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user