Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(329)

Side by Side Diff: build/install-build-deps.sh

Issue 6567002: Linux: change install-build-deps.sh to install gold linker from binutils 2.21... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: fix regex Created 9 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/bin/bash -e 1 #!/bin/bash -e
2 2
3 # Copyright (c) 2009 The Chromium Authors. All rights reserved. 3 # Copyright (c) 2009 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 # Script to install everything needed to build chromium (well, ideally, anyway) 7 # Script to install everything needed to build chromium (well, ideally, anyway)
8 # See http://code.google.com/p/chromium/wiki/LinuxBuildInstructions 8 # See http://code.google.com/p/chromium/wiki/LinuxBuildInstructions
9 # and http://code.google.com/p/chromium/wiki/LinuxBuild64Bit 9 # and http://code.google.com/p/chromium/wiki/LinuxBuild64Bit
10 10
(...skipping 28 matching lines...) Expand all
39 # First make sure root can access this directory, as that's tripped 39 # First make sure root can access this directory, as that's tripped
40 # up some folks. 40 # up some folks.
41 if sudo touch xyz.$$ 41 if sudo touch xyz.$$
42 then 42 then
43 sudo rm xyz.$$ 43 sudo rm xyz.$$
44 else 44 else
45 echo root cannot write to the current directory, not installing gold 45 echo root cannot write to the current directory, not installing gold
46 return 46 return
47 fi 47 fi
48 48
49 BINUTILS=binutils-2.20.1 49 BINUTILS=binutils-2.21
50 BINUTILS_URL=http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2 50 BINUTILS_URL=http://ftp.gnu.org/gnu/binutils/$BINUTILS.tar.bz2
51 BINUTILS_SHA1=fd2ba806e6f3a55cee453cb25c86991b26a75dee 51 BINUTILS_SHA1=ef93235588eb443e4c4a77f229a8d131bccaecc6
52 52
53 test -f $BINUTILS.tar.bz2 || wget $BINUTILS_URL 53 test -f $BINUTILS.tar.bz2 || wget $BINUTILS_URL
54 if test "`sha1sum $BINUTILS.tar.bz2|cut -d' ' -f1`" != "$BINUTILS_SHA1" 54 if test "`sha1sum $BINUTILS.tar.bz2|cut -d' ' -f1`" != "$BINUTILS_SHA1"
55 then 55 then
56 echo Bad sha1sum for $BINUTILS.tar.bz2 56 echo Bad sha1sum for $BINUTILS.tar.bz2
57 exit 1 57 exit 1
58 fi 58 fi
59 59
60 tar -xjvf $BINUTILS.tar.bz2 60 tar -xjvf $BINUTILS.tar.bz2
61 cd $BINUTILS 61 cd $BINUTILS
62 ./configure --prefix=/usr/local/gold --enable-gold 62 patch -p1 <<EOF
63 diff -u -r1.103 -r1.103.2.1
64 --- src/gold/object.h» 2010/09/08 23:54:51» 1.103
65 +++ src/gold/object.h» 2011/02/10 01:15:28» 1.103.2.1
66 @@ -1,6 +1,6 @@
67 // object.h -- support for an object file for linking in gold -*- C++ -*-
68
69 -// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
70 +// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
71 // Written by Ian Lance Taylor <iant@google.com>.
72
73 // This file is part of gold.
74 @@ -2165,15 +2165,6 @@
75 » » Output_symtab_xindex*,
76 » » Output_symtab_xindex*);
77
78 - // Clear the local symbol information.
79 - void
80 - clear_local_symbols()
81 - {
82 - this->local_values_.clear();
83 - this->local_got_offsets_.clear();
84 - this->local_plt_offsets_.clear();
85 - }
86 -
87 // Record a mapping from discarded section SHNDX to the corresponding
88 // kept section.
89 void
90 diff -u -r1.60 -r1.60.2.1
91 --- src/gold/reloc.cc» 2010/10/14 22:10:22» 1.60
92 +++ src/gold/reloc.cc» 2011/02/10 01:15:28» 1.60.2.1
93 @@ -1,6 +1,6 @@
94 // reloc.cc -- relocate input files for gold.
95
96 -// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
97 +// Copyright 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
98 // Written by Ian Lance Taylor <iant@google.com>.
99
100 // This file is part of gold.
101 @@ -685,9 +685,6 @@
102 // Write out the local symbols.
103 this->write_local_symbols(of, layout->sympool(), layout->dynpool(),
104 » » » layout->symtab_xindex(), layout->dynsym_xindex());
105 -
106 - // We should no longer need the local symbol values.
107 - this->clear_local_symbols();
108 }
109
110 // Sort a Read_multiple vector by file offset.
111 EOF
112 ./configure --prefix=/usr/local/gold --enable-gold --enable-threads
63 make maybe-all-binutils maybe-all-gold -j4 113 make maybe-all-binutils maybe-all-gold -j4
64 if sudo make maybe-install-binutils maybe-install-gold 114 if sudo make maybe-install-binutils maybe-install-gold
65 then 115 then
66 # Still need to figure out graceful way of pointing gyp to use 116 # Still need to figure out graceful way of pointing gyp to use
67 # /usr/local/gold/bin/ld without requiring him to set environment 117 # /usr/local/gold/bin/ld without requiring him to set environment
68 # variables. That will go into bootstrap-linux.sh when it's ready. 118 # variables. That will go into bootstrap-linux.sh when it's ready.
69 echo "Installing gold as /usr/bin/ld." 119 echo "Installing gold as /usr/bin/ld."
70 echo "To uninstall, do 'cd /usr/bin; sudo rm ld; sudo mv ld.orig ld'" 120 echo "To uninstall, do 'cd /usr/bin; sudo rm ld; sudo mv ld.orig ld'"
71 test -f /usr/bin/ld && test ! -f /usr/bin/ld.orig && \ 121 test -f /usr/bin/ld && test ! -f /usr/bin/ld.orig && \
72 sudo mv /usr/bin/ld /usr/bin/ld.orig 122 sudo mv /usr/bin/ld /usr/bin/ld.orig
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 yes n | $new_list_cmd || true 283 yes n | $new_list_cmd || true
234 echo 284 echo
235 echo "You will have to install the above packages yourself." 285 echo "You will have to install the above packages yourself."
236 echo 286 echo
237 exit 100 287 exit 100
238 fi 288 fi
239 289
240 # Some operating systems already ship gold (on recent Debian and 290 # Some operating systems already ship gold (on recent Debian and
241 # Ubuntu you can do "apt-get install binutils-gold" to get it), but 291 # Ubuntu you can do "apt-get install binutils-gold" to get it), but
242 # older releases didn't. Additionally, gold 2.20 (included in Ubuntu 292 # older releases didn't. Additionally, gold 2.20 (included in Ubuntu
243 # Lucid) makes binaries that just segfault. 293 # Lucid) makes binaries that just segfault, and 2.20.1 does not support
294 # --map-whole-files.
244 # So install from source if we don't have a good version. 295 # So install from source if we don't have a good version.
245 296
246 case `ld --version` in 297 case `ld --version` in
247 *gold*2.20.1*) ;; 298 *gold*2.2[1-9].*) ;;
248 *gold*2.2[1-9]*) ;;
249 * ) 299 * )
250 if test "$do_inst_gold" = "" 300 if test "$do_inst_gold" = ""
251 then 301 then
252 echo "Gold is a new linker that links Chrome 5x faster than ld." 302 echo "Gold is a new linker that links Chrome 5x faster than ld."
253 echo "Don't use it if you need to link other apps (e.g. valgrind, wine)" 303 echo "Don't use it if you need to link other apps (e.g. valgrind, wine)"
254 echo -n "REPLACE SYSTEM LINKER ld with gold and back up ld? (y/N) " 304 echo -n "REPLACE SYSTEM LINKER ld with gold and back up ld? (y/N) "
255 if yes_no 1; then 305 if yes_no 1; then
256 do_inst_gold=1 306 do_inst_gold=1
257 fi 307 fi
258 fi 308 fi
259 if test "$do_inst_gold" = "1" 309 if test "$do_inst_gold" = "1"
260 then 310 then
261 # If the system provides a good version of gold, just install it. 311 # If the system provides a good version of gold, just install it.
262 if apt-cache show binutils-gold | grep -Eq 'Version: 2.2(0.1|[1-9]*)'; then 312 if apt-cache show binutils-gold | grep -Eq 'Version: 2.2[1-9].*'; then
263 echo "Installing binutils-gold. Backing up ld as ld.single." 313 echo "Installing binutils-gold. Backing up ld as ld.single."
264 sudo apt-get install binutils-gold 314 sudo apt-get install binutils-gold
265 else 315 else
266 # FIXME: avoid installing as /usr/bin/ld 316 # FIXME: avoid installing as /usr/bin/ld
267 echo "Building binutils. Backing up ld as ld.orig." 317 echo "Building binutils. Backing up ld as ld.orig."
268 install_gold || exit 99 318 install_gold || exit 99
269 fi 319 fi
270 else 320 else
271 echo "Not installing gold." 321 echo "Not installing gold."
272 fi 322 fi
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
449 sed -e 's/[.]so[.][0-9].*/.so/' | 499 sed -e 's/[.]so[.][0-9].*/.so/' |
450 sort -u); do 500 sort -u); do
451 [ "x${i##*/}" = "xld-linux.so" ] && continue 501 [ "x${i##*/}" = "xld-linux.so" ] && continue
452 [ -r "$i" ] && continue 502 [ -r "$i" ] && continue
453 j="$(ls "$i."* | sed -e 's/.*[.]so[.]\([^.]*\)$/\1/;t;d' | 503 j="$(ls "$i."* | sed -e 's/.*[.]so[.]\([^.]*\)$/\1/;t;d' |
454 sort -n | tail -n 1)" 504 sort -n | tail -n 1)"
455 [ -r "$i.$j" ] || continue 505 [ -r "$i.$j" ] || continue
456 sudo ln -s "${i##*/}.$j" "$i" 506 sudo ln -s "${i##*/}.$j" "$i"
457 done 507 done
458 fi 508 fi
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698