Commit Graph

54 Commits

Author SHA1 Message Date
Mike Frysinger
f5a383d366 setup_board: look up sdk targets only
We don't care about non-sdk targets when setting up the host boards,
so only load those for processing.

BUG=None
TEST=`cbuildbot chromiumos-sdk` passed

Change-Id: Ifa0f82a8c9704862a714fd9f35cbd11d809e295f
Reviewed-on: https://gerrit.chromium.org/gerrit/25626
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-06-19 17:11:06 -07:00
Mike Frysinger
7f2ebbde6b pass down board info to cros_setup_toolchains
If the board we're building includes extra toolchains that aren't part
of our official set, we need to make sure cros_setup_toolchains still
tries to set them up for us.

BUG=None
TEST=`cbuildbot chromiumos-sdk` works
TEST=`./setup_board --board=x32-generic` installs an extra toolchain

Change-Id: I85f70177f82bdf295eb2cd8668a031317a3b6e61
Reviewed-on: https://gerrit.chromium.org/gerrit/24336
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-06-17 22:13:40 -07:00
Mike Frysinger
db0a3903d1 setup_board: switch over to cros_setup_toolchains for toolchain listing
We want to centralize toolchain.conf parsing in cros_setup_toolchains.

BUG=None
TEST=`cbuildbot chromiumos-sdk` worked

Change-Id: I650616725595388515c8b1acbf7479b9ddcdd44e
Reviewed-on: https://gerrit.chromium.org/gerrit/24334
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-06-13 18:56:31 -07:00
Mike Frysinger
9377f67b55 migrate to linux-headers
Rather than having a toolchain package we use for the cross-compilers and
installing a different one for the target build dir, use the same package.
This makes updating more logical as we only have to do it in one place.

BUG=chromium-os:24928
TEST=`cbuildbot amd64-generic-full` works
TEST=`cbuildbot arm-generic-full` works
TEST=`cbuildbot x86-generic-full` works
TEST=build_packages+build_image for x86-alex boots & works

Change-Id: Ib083c3d2eae75d6f5437203990599cdc837dd9dc
Reviewed-on: https://gerrit.chromium.org/gerrit/24722
Reviewed-by: Anush Elangovan <anush@google.com>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-06-07 12:07:43 -07:00
Mike Frysinger
3ac37b828d setup_board: drop unused toolchain ver flags
With the migration to cros_setup_toolchains, we no longer pass down the
versions of binutils/gcc/etc..., so drop the explicit flags.

BUG=chromium-os:23032
TEST=`cbuildbot x86-generic-full` works

Change-Id: I87dbb449e3c413c44cd008fc43d3258a2111227b
Reviewed-on: https://gerrit.chromium.org/gerrit/24056
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-05-30 17:30:11 -07:00
Ahmad Sharif
e0ca2dfdbd Passed down --skip_toolchain_update to update_chroot.
BUG=chromium-os:30938
TEST=Installed gcc-9999 and did ./build_packages --skip_toolchain_update

Change-Id: I5c2c969bf59768e8a9ee3ff9f0cbcd4adcd99177
Reviewed-on: https://gerrit.chromium.org/gerrit/23671
Tested-by: asharif <asharif@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: asharif <asharif@chromium.org>
2012-05-25 14:12:56 -07:00
Zdenek Behan
05780783a9 crosutils: disallow running build_packages/setup_board as root
Running these as root does not make sense. Furthermore, it will fail
on calling cros-workon, which sometimes fails but most certainly will
not give correct information anyway.

BUG=chromium-os:30384
TEST=run build_packages/setup_board with/without sudo

Change-Id: I0cba72334369e35ba0e864c53fd81037ee9e0efa
Reviewed-on: https://gerrit.chromium.org/gerrit/23003
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
2012-05-17 20:11:33 -07:00
Zdenek Behan
2fbd5af6a8 Make use of cros_setup_toolchains, take 2
Resubmit of If62b4f3973f02fd8e1deed35864c824a02ab0c22
This will be safe to land after
I2c4e21ec7e8c0c0cf58947e2b0a3a9edf7617a09
The breakage was a timing issue paired with people not always syncing
the complete tree. No changes to the CL are needed.

It is now used for:
- make_chroot (cros_sdk --bootstrap)
- update_chroot

setup_board is stripped of redundant code which was deprecated by this.

Also stripped is some usepkg logic in make_chroot, as that is now
exclusively source-only.

BUG=chromium-os:23032
TEST=trybot chromiumos-sdk

Change-Id: Ib888cf2886218622d9cfeebb17b9cd4462d06c89
Reviewed-on: https://gerrit.chromium.org/gerrit/22578
Tested-by: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: asharif <asharif@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
2012-05-14 18:43:04 -07:00
Brian Harring
7f175a59e1 common.sh: output a backtrace and debug information on failure.
Currently, if set -e spots a nonzero exit we basically have
no real debug information- it just stops immediately without stating
where or why.  This forces our scripts to be stupidly verbose so
we can track roughly where they were, thus when they fail we can
use that information to localize the rough exit point.

Instead we should be traping that set -e induced exit and
outputing necessary debug information to run it down.  This includes
outputing the relevant stack trace, or at least what we can get of
it.

The 'die' function is now enhanced to automatically dump the trace
that lead to it.  For most consumers this is desired- however for
commandline parsing induced dies ("--board is missing" for example),
the trace is noise.  For those cases, a 'die_notrace' function was
added that retains the original non-backtrace behaviour.

Example output via instrumenting cros_generate_breakpad_symbols
w/ the failing command '/bin/false' (nonzero exit code).

Before:
./cros_generate_breakpad_symbols  monkeys --board=x86-alex
<no output at all, just exit code 1>

With this CL:
./cros_generate_breakpad_symbols  monkeys --board=x86-alex
ERROR   : script called: ./cros_generate_breakpad_symbols 'monkeys' '--board=x86-alex'
ERROR   : Backtrace:  (most recent call is last)
ERROR   :   file cros_generate_breakpad_symbols, line 207, called: main 'monkeys' '--board=x86-alex'
ERROR   :   file cros_generate_breakpad_symbols, line 163, called: die_err_trap '/bin/false' '1'
ERROR   :
ERROR   : Command failed:
ERROR   :   Command '/bin/false' exited with nonzero code: 1

BUG=chromium-os:30598
TEST=inject a failing command into a script, verify the output.
TEST=inject a 'command not found', verify the output
TEST=cbuildbot x86-generic-full --remote
TEST=cbuildbot arm-tegra2-full --remote
TEST=cbuildbot chromiumos-sdk --remote

Change-Id: I517ffde4d1bb7e2310a74f5a6455b53ba2dea86c
Reviewed-on: https://gerrit.chromium.org/gerrit/17225
Reviewed-by: Brian Harring <ferringb@chromium.org>
Tested-by: Brian Harring <ferringb@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
2012-05-07 17:19:41 -07:00
Zdenek Behan
26fe5709a4 Revert "Make use of cros_setup_toolchains, take 2"
This reverts commit baa696e37bf1c48e5db0616460f7fbb0cff01e61

Change-Id: I6dcbc8afdcb715dc9ffe7b551a882279320f9f04
Reviewed-on: https://gerrit.chromium.org/gerrit/21813
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
2012-05-03 15:07:25 -07:00
Zdenek Behan
95fadc6e33 Make use of cros_setup_toolchains, take 2
Resubmit of If62b4f3973f02fd8e1deed35864c824a02ab0c22
This will be safe to land after I2c4e21ec7e8c0c0cf58947e2b0a3a9edf7617a09

It is now used for:
- make_chroot (cros_sdk --bootstrap)
- update_chroot

setup_board is stripped of redundant code which was deprecated by this.

Also stripped is some usepkg logic in make_chroot, as that is now
exclusively source-only.

BUG=chromium-os:23032
TEST=trybot chromiumos-sdk

Change-Id: Ic908eac712ac097e5c2062d3be70177e172aa924
Reviewed-on: https://gerrit.chromium.org/gerrit/20191
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
2012-05-03 13:27:13 -07:00
Zdenek Behan
3602abe286 Revert "Make use of cros_setup_toolchains"
Breaks the tree.

This reverts commit f3904d6530d3fd195a3659963a351b6ba8d0abff

Change-Id: Idaf6e59c506efcdf6a19d123ede7eb1cfafc3e2e
Reviewed-on: https://gerrit.chromium.org/gerrit/20182
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
2012-04-12 19:48:36 -07:00
Zdenek Behan
24ae1d01d7 Make use of cros_setup_toolchains
It is now used for:
- make_chroot (cros_sdk --bootstrap)
- update_chroot

setup_board is stripped of redundant code which was deprecated by this.

Also stripped is some usepkg logic in make_chroot, as that is now
exclusively source-only.

BUG=chromium-os:23032
TEST=trybot chromiumos-sdk

Change-Id: If62b4f3973f02fd8e1deed35864c824a02ab0c22
Reviewed-on: https://gerrit.chromium.org/gerrit/17910
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
2012-04-12 18:29:59 -07:00
Mike Frysinger
aabca6c6a3 setup_board: quote flags var
Now that the flags variable can be "[stable]", if we don't quote its
expansion, it can match files like "t" resulting in bad flags being
passed to crossdev.

BUG=None
TEST=`touch t; ./setup_board --board=x86-alex` no longer results in "tgcc"

Change-Id: I866e934776e2d47a2c99bd08964017014aace97f
Reviewed-on: https://gerrit.chromium.org/gerrit/19595
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-04-05 11:41:41 -07:00
Mike Frysinger
7d338f501d setup_board: use correct toolchain tuple for binutils gold selection
The update to support multiple toolchains missed one place -- selection
of gold as the linker.  It would always handle just the default toolchain.
Fix up the logic so it always checks the current toolchain.

BUG=chromium-os:28548
TEST=`./setup_board --board=x86-alex` selected gold for x86_64 and i686 toolchains

Change-Id: I3c09e3a4fd91b68170fe255e37580a3c9f5f6feb
Reviewed-on: https://gerrit.chromium.org/gerrit/19226
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-28 15:23:30 -07:00
Mike Frysinger
639b34c880 setup_board: only check the toolchain pkgs for updates
When checking for toolchain package updates, we explicitly grep out non
toolchain packages, so might as well use --nodeps to speed up the check.

BUG=None
TEST=`./setup_board --board=x86-alex` still works

Change-Id: Ia8a6a4f2214e45a6dd9cf6cc4ed8283425880088
Reviewed-on: https://gerrit.chromium.org/gerrit/18248
Reviewed-by: Brian Harring <ferringb@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-03-19 08:48:53 -07:00
David James
dee866c121 Remove --build_root from all scripts except mod_image_for_pyauto.sh.
For all scripts, --build_root defaults to /build and is never used. To
remove option clutter, I've deleted this option.

The only script which still references build_root in src/scripts is
mod_image_for_pyauto.sh, which seems to support it for grabbing pyauto
dependencies from a location other than /build/*. This might conceivably
be useful, so I haven't touched that script.

BUG=chromium-os:27364
TEST=Remote trybot run. git grep for references to build_root.

Change-Id: I502f7df0123a598fc62a4ef4ed847ceb182f65b8
Reviewed-on: https://gerrit.chromium.org/gerrit/18283
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: David James <davidjames@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
2012-03-15 18:55:26 -07:00
David James
855afb7561 Clean up options to build scripts.
1. Remove options that are already deprecated:
   --chromefromsource --chromebuild --chromebase
   --crosbug12352_arm_kernel_signing
2. Remove the --retries option and associated function eretry.
3. Move seldomly used options out of --help to avoid confusing
   developers. Developers who need these options can read the
   source.
4. Alphabetize all options.
5. Add description of each script to --help.

BUG=chromium-os:27364
TEST=Run --help with each script. Full canary trybot run.

Change-Id: I95675b069781f7e950d75d32dbad744adce6b830
Reviewed-on: https://gerrit.chromium.org/gerrit/18194
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
2012-03-15 15:54:43 -07:00
David James
0b1baf6055 Use common.sh from the source directory.
Update setup_board and build_packages to use common.sh from source
directory, so that changes in common.sh show up immediately.

BUG=chromium-os:27364
TEST=Run each script, testing that changes to common.sh are picked up.

Change-Id: I6847bbf8c486d14c58dfcbb9361cd606c11c817b
Reviewed-on: https://gerrit.chromium.org/gerrit/18245
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
2012-03-15 15:54:43 -07:00
Mike Frysinger
839e82adc8 build_packages: add --skip_chroot_upgrade for setup_board
Now that the setup_board has an option for skipping the chroot update
logic, it'd be helpful (for buildbots) if build_packages had a flag to
pass through to setup_board for that too.

BUG=None
TEST=`./build_packages --board=tegra2` ran the chroot update
TEST=`./build_packages --board=tegra2 --skip_chroot_upgrade` skipped the chroot update

Change-Id: I662d90811d7bcf9782ef8cb06655940b0e5c7f06
Reviewed-on: https://gerrit.chromium.org/gerrit/17159
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
2012-03-09 13:47:35 -08:00
David James
17c622a380 Add support for using local binary packages.
This CL adds the --reuse_pkgs_from_local_boards flag to setup_board and
build_packages. With this flag, binary packages are shared between boards
that are built locally, so that the total time required to build several
boards is reduced.

This flag is only useful when you are not able to use remote binary packages,
since remote binary packages are usually more up to date than anything you have
locally. For this reason it is typically only used by buildbots which build
multiple similar full builds on the same machine.

BUG=chromium-os:26232
TEST=Test build using only local binary packages from a different
     board.
CQ-DEPEND=I0353dd34f63f1b5c9c1a08882322279c6c4d82f5

Change-Id: I8a1d2687bd0d177de4464a80703b8b5a0b6c9f52
Reviewed-on: https://gerrit.chromium.org/gerrit/15775
Commit-Ready: David James <davidjames@chromium.org>
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2012-03-08 15:23:26 -08:00
Mike Frysinger
bb214a9f59 setup_board: drop arm-none-eabi gdb workaround
Now that the bots have run and built gdb binpkgs, release this onto
the wider development community.

BUG=chromium-os:26998
TEST=`./setup_board --board=amd64-generic --usepkg` installed arm-none-eabi/gdb via binpkg

Change-Id: I1f870d7a07662c96d9154d2e4d4777c00f6c9fdc
Reviewed-on: https://gerrit.chromium.org/gerrit/17482
Reviewed-by: David James <davidjames@chromium.org>
Reviewed-by: asharif <asharif@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-07 11:37:30 -08:00
Mike Frysinger
eb0ece6105 setup_board: migrate to new crossdev style
This allows us to simplify the code a bit.  Once this shakes out,
there is probably more improvements to be made.

BUG=chromium-os:26998
TEST=`cbuildbot chromiumos-sdk` works

Change-Id: I3f2775111da800622591c9b56ba00428d6106207
CQ-DEPEND=I25153be568e57596dd8ec90cd833da057e08a49a
Reviewed-on: https://gerrit.chromium.org/gerrit/16981
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-06 09:12:23 -08:00
Mike Frysinger
f1076415da setup_board: use [stable] for linux-headers now
Now that the linux-headers ebuilds are marked stable, we can drop
the hardcoded version string here and let the scripts do the rest.

BUG=chromium-os:26998
TEST=`cbuildbot chromiumos-sdk` works

Change-Id: I63e91612c711c2a17a3d350fa7703ac5d01116cb
Reviewed-on: https://gerrit.chromium.org/gerrit/16980
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-03-02 11:26:43 -08:00
Mike Frysinger
fbcc357e04 setup_board: use --quiet when installing kernel headers
No need to output all of the build log by default (including git progress).

BUG=None
TEST=`./setup_board --board=tegra2` works

Change-Id: I12473a0f0d6d13035270640695f3bed53399b6c8
Reviewed-on: https://gerrit.chromium.org/gerrit/17157
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
2012-03-01 12:19:18 -08:00
David James
544497cb20 Add support for reusing amd64-generic prebuilts on 64-bit platforms.
BUG=chromium-os:27008
TEST=Verify that link uses amd64-generic prebuilts.

Change-Id: Iefa1beca55382feacf301c982d9e77201f6c25d6
Reviewed-on: https://gerrit.chromium.org/gerrit/16992
Commit-Ready: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
Reviewed-by: Brian Harring <ferringb@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
2012-02-28 12:45:04 -08:00
Sonny Rao
f90b069f64 setup_board: add a skip_chroot_upgrade flag
We need this if we want to call setup_board from a upgrade script.

BUG=chrome-os-partner:8235
TEST=add new upgrade script, run setup_board --skip_version_hooks
ensure new upgrade script isn't run

Change-Id: I31341d0b9a5c378a8288ab42f8506db90c2299fa
Reviewed-on: https://gerrit.chromium.org/gerrit/16941
Commit-Ready: Sonny Rao <sonnyrao@chromium.org>
Reviewed-by: Sonny Rao <sonnyrao@chromium.org>
Tested-by: Sonny Rao <sonnyrao@chromium.org>
2012-02-28 11:23:42 -08:00
Mike Frysinger
ccfec8f71b setup_board: don't select compilers
We don't want the compilers listed in @world because we want crossdev to
manually take care of rebuilding everything.  Fix bug in previous change
to --select logic where it leaked --select into the compiler install and
the --oneshot didn't override.

BUG=None
TEST=None

Change-Id: I9db3e9149f727a0a74dbb55627d3b71b1064e3b5
Reviewed-on: https://gerrit.chromium.org/gerrit/16940
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-27 23:21:07 -08:00
Mike Frysinger
650bf873cd use --select for our core packages
We are changing the default emerge options to use --oneshot, so make sure
our scripts select the packages we care about for @world.

BUG=None
TEST=setup_board+build_packages for tegra2 adds pkgs to world

Change-Id: I5fc68c538a1a1c846bd9724f27ef717029d11d42
Reviewed-on: https://gerrit.chromium.org/gerrit/16838
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-27 14:07:37 -08:00
David James
184e39019d Fix --jobs flags to actually work.
The --jobs=<n> option wasn't actually being passed to parallel_emerge --
which meant it didn't do anything.

BUG=chromium-os:26827
TEST=Ran with --jobs=N and made sure only N parallel_emerge processes were
started.

Change-Id: I581fc5588b54e246acaefd0c7e528e55adf9ba8a
Reviewed-on: https://gerrit.chromium.org/gerrit/16570
Reviewed-by: Michael Krebs <mkrebs@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2012-02-23 21:42:34 -08:00
Mike Frysinger
551123f7ca setup_board: save/restore package.{mask,keywords} files
If we try to setup multiple boards that use the same toolchain, we end up
deleting the package.{mask,keywords} files for the existing toolchain so
that we can detect if there are upgrades available.  If there aren't, the
files don't get recreated (since we were relying on crossdev for it), and
the installed toolchain packages may no longer be directly reinstalled if
they aren't incidentally marked stable.

Normally this isn't an issue since people build for target boards only
rather than installing toolchains, but this breaks the sdk bot since it
sets up a bunch of bots and then tries to emerge all the toolchain pkgs
directly.  With packages we've pinned that are unstable, portage fails:

	The following keyword changes are necessary to proceed:
	#required by =cross-arm-none-eabi/newlib-1.18.0 (argument)
	>=cross-arm-none-eabi/newlib-1.18.0 **

So backup & restore the files in the update path rather than just blowing
them away.  If we end up installing things anyways, crossdev will do the
right thing.

BUG=None
TEST=`cbuildbot chromiumos-sdk` passes

Change-Id: I6efc71179d6f897af91deaefe1ce6c62df10ebf6
Reviewed-on: https://gerrit.chromium.org/gerrit/16220
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-19 13:00:57 -08:00
Mike Frysinger
a9043f5a99 setup_board: skip arm-none-eabi when copying glibc binpkgs
The arm-none-eabi toolchain doesn't use glibc, so trying to copy
the glibc binpkg won't work.

BUG=None
TEST=`cbuildbot chromiumos-sdk` passes

Change-Id: I47d420fa18466128fa319f15702d4864e5f7dce0
Reviewed-on: https://gerrit.chromium.org/gerrit/16225
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-19 11:57:12 -08:00
Mike Frysinger
9e30234e50 setup_board: allow toolchain.conf to list multiple toolchains
We want to have some 64bit boards also install the 32bit toolchain, so
extend the toolchain.conf file to allow specifying of multiple targets.

BUG=chromium-os:25969
TEST=build_packages for x86-mario installed both i686-pc-linux-gnu and x86_64-cros-linux-gnu

Change-Id: Ic2ca1aeeefa5ea2207d3c963ac856909cb40cae5
CQ-DEPEND=Iea6f682e258d59c0b3b3ca2cad7e15ae521dcc89
CQ-DEPEND=Ib71e7503c3ebc98549d09e35cb0bb9687b8fafb8
Reviewed-on: https://gerrit.chromium.org/gerrit/15902
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-17 18:19:43 -08:00
Mike Frysinger
fe8601bb51 setup_board: add portage-utils wrappers too
I use these wrappers all the time on my own system.

BUG=None
TEST=`./setup_board --board=x86-mario && qlist-x86-mario -Iv` works

Change-Id: I609ea07337b2fd14257fae9a0c89b544a40beab9
Reviewed-on: https://gerrit.chromium.org/gerrit/16071
Reviewed-by: David James <davidjames@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-17 09:37:30 -08:00
Han Shen
b91d73d7cf Roll out binutils 2.21-r4 version (setup_board part).
Includes 2 important bug fixes -
- bug fix for 24128 (fix glibc2.14 builds) (bfd)
- fix for ARM toolchain hardening (gold)

-------------------------------------------
Summary
-------------------------------------------
                                            vanilla       newbinutils
Autotest Key                    Iterations  Average       Average       Change
PageCyclerTests
de..ageCyclerTest.Alexa_usFile  5           218.08        217.93        1.00
de..  PageCyclerTest.BloatFile  5           22064.06      22145.45      1.00
de.. PageCyclerTest.MorejsFile  5           524.82        525.95        1.00
de..  PageCyclerTest.Intl1File  5           446.69        448.81        1.00
de..  PageCyclerTest.DhtmlFile  5           630.95        630.09        1.00
de..s   PageCyclerTest.MozFile  5           187.07        187.70        1.00
de../desktopui_PageCyclerTests  5           ALL PASS      ALL PASS      -
de..   PageCyclerTest.Moz2File  5           188.75        187.13        0.99
de..  PageCyclerTest.Intl2File  5           682.23        684.26        1.00
bvt   					    ALL PASS      ALL PASS      -
suite_Smoke                                 ALL PASS      ALL PASS      -

BUG=None
TEST=Built chromeos from scratch, and ran PageCyclerTests, bvt and suite_Smoke.

Change-Id: I85281eaee1702de0cc89e093caf70a5d45ccce14
Reviewed-on: https://gerrit.chromium.org/gerrit/15537
Commit-Ready: Han Shen <shenhan@chromium.org>
Reviewed-by: Han Shen <shenhan@chromium.org>
Tested-by: Han Shen <shenhan@chromium.org>
2012-02-14 10:11:20 -08:00
Zdenek Behan
0b33e0a6d3 setup_board: make the gcc/glibc version stable by default, take 4
This is needed as part of transition to cros-workon.

Crossdev has a -S option to install the current stable, which is
the preferred future option, but would greatly complicate the logic.

BUG=chromium-os:25338
TEST=setup_board --board=any --force, see it build the right versions
TEST=trybot chromiumos-sdk

Change-Id: I60dfffcfa38e482499f909787ead26fd27ef36e1
Reviewed-on: https://gerrit.chromium.org/gerrit/15702
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
2012-02-11 18:59:56 -08:00
David James
a69b68deb7 Remove aura special case in setup_board.
Now that aura is default, we don't need to special-case it anymore.

BUG=chromium-os:25818
TEST=Verify that default prebuilts uploaded by the x86-generic builder
     are used now instead of the aura-specific prebuilts. These prebuilts
     have aura enabled now, since it is the default.

Change-Id: I8b78f53f5ceab6e5907390e03554120f20ea96fe
Reviewed-on: https://gerrit.chromium.org/gerrit/15726
Tested-by: Ryan Cui <rcui@chromium.org>
Reviewed-by: Ryan Cui <rcui@chromium.org>
Commit-Ready: David James <davidjames@chromium.org>
Tested-by: David James <davidjames@chromium.org>
2012-02-10 17:18:34 -08:00
Mike Frysinger
d5d23b8d5a Revert "setup_board: make the gcc/glibc version stable by default, take 3"
This reverts commit 19754342048a44304150981b2938f604751605e7

The tree is on fire: the x86 canaries and x86 generic full
bots are dying with internal gold link errors.
http://crosbug.com/26168

Only happens on new sdks, so we're shotgunning a few
suspicious revs and hoping for the best.

Change-Id: Iae05c876ff2a84f4a9f549f74b2ee7e0903f2b5a
Reviewed-on: https://gerrit.chromium.org/gerrit/15669
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-02-10 09:31:40 -08:00
Zdenek Behan
cdf3bad8a3 setup_board: make the gcc/glibc version stable by default, take 3
This is needed as part of transition to cros-workon.

Crossdev has a -S option to install the current stable, which is
the preferred future option, but would greatly complicate the logic.

BUG=chromium-os:25338
TEST=setup_board --board=any --force, see it build the right versions
TEST=trybot chromiumos-sdk

Change-Id: I07c1ade5731e9391fb22a572f7fe8517011e6239
Reviewed-on: https://gerrit.chromium.org/gerrit/15176
Reviewed-by: David James <davidjames@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
2012-02-09 18:58:59 -08:00
Zdenek Behan
bcb72afd00 Revert "setup_board: make the gcc/glibc version stable by default, take 2"
Breaks chromiumos-sdk on failing to resolve the 'stable' keywords into actual versions.

This reverts commit 82eadcf2de828e4dd1182ee717998128387ecbad

Change-Id: I031e1edb90a251562621d935bb9e3800f35318af
Reviewed-on: https://gerrit.chromium.org/gerrit/15150
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
2012-02-01 06:10:23 -08:00
Zdenek Behan
22fe627981 setup_board: make the gcc/glibc version stable by default, take 2
This is needed as part of transition to cros-workon.

Crossdev has a -S option to install the current stable, which is
the preferred future option, but would greatly complicate the logic.

BUG=chromium-os:25338
TEST=setup_board --board=any --force, see it build the right versions

Change-Id: I9139b8a38c9156ea27dfb428cff8c7deffb0e6de
Reviewed-on: https://gerrit.chromium.org/gerrit/15011
Tested-by: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
2012-01-31 16:05:07 -08:00
Zdenek Behan
3ae2b4b5d1 Revert "setup_board: make the gcc version stable by default"
This reverts commit 76a930df83466050ef065c1e433681145b83ab4c

Change-Id: I1b3bd9e8ebc87edcce42a0c105cfeb96c0d1ffd4
Reviewed-on: https://gerrit.chromium.org/gerrit/15004
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
Tested-by: Zdenek Behan <zbehan@chromium.org>
2012-01-28 09:45:02 -08:00
Zdenek Behan
03b28fcbcf setup_board: make the gcc version stable by default
This is needed as part of transition to cros-workon.

Crossdev has a -S option to install the current stable, which is
the preferred future option, but would greatly complicate the logic.

BUG=chromium-os:25338
TEST=setup_board --board=any --force, see it build the right one

Change-Id: Ibb4fd18d122f69835eb471b2fa1a258c571dfdd1
Reviewed-on: https://gerrit.chromium.org/gerrit/14878
Tested-by: Zdenek Behan <zbehan@chromium.org>
Commit-Ready: Zdenek Behan <zbehan@chromium.org>
Reviewed-by: Zdenek Behan <zbehan@chromium.org>
2012-01-28 08:13:30 -08:00
Ahmad Sharif
a4856380eb Upgraded the target compiler to gcc-4.6.0-r13 for all boards.
BUG=none
TEST=cbuildbot x86-zgb and amd64-generic all pass.

Change-Id: I058fd27ebaad593f7b25f11c99f84d5f32cdb875
Reviewed-on: https://gerrit.chromium.org/gerrit/14193
Reviewed-by: Han Shen <shenhan@chromium.org>
Commit-Ready: asharif <asharif@chromium.org>
Tested-by: asharif <asharif@chromium.org>
2012-01-17 12:58:31 -08:00
Mike Frysinger
5d2df83002 Revert "Reduce the number of glibc patches Changed the glibc version"
This reverts commit 6fa1e14c59e541780e49a48f83683db079614d8f

We reverted the glibc-2.11.1-r4 ebuild (it no longer exists), so we have to revert this too since there is no 2.11.1-r4 to use.

Change-Id: Ie8d71eeaf436b348a695d55376e269557ced3b15
Reviewed-on: https://gerrit.chromium.org/gerrit/14061
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: asharif <asharif@chromium.org>
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2012-01-12 11:53:07 -08:00
Yunlian Jiang
aa52807720 Reduce the number of glibc patches
Changed the glibc version

BUG=none
TEST="cbuild bot x86-alex-release, lumpy-release,amd64-generic-full,arm-tegra2_kaen-release, all passed"

CQ-DEPEND=I26f8b017fd4c0277685f88496a413fc295b7d58e

Change-Id: I1bc4eded6526b980f532f7b32d453ca7c7ada11a
Reviewed-on: https://gerrit.chromium.org/gerrit/13383
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Ready: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
Tested-by: Yunlian Jiang <yunlian@chromium.org>
Reviewed-by: asharif <asharif@chromium.org>
2012-01-09 15:05:09 -08:00
Han Shen
0628fadf9d (Part 4 of 4) (re)Roll out "-fstack-protector-strong" which replaces
"-fstack-protector-all".

Rollout gcc-4.6.0 ebuild r12 that support a new stack protection
option "-fstack-protector-strong".

BUG=None
TEST=manually - build amd64-generic and x86-zgb from scratch.

Change-Id: I35dc315ef376467256266a62cf9e584b8bb3c8e5
Reviewed-on: https://gerrit.chromium.org/gerrit/13546
Tested-by: Han Shen <shenhan@google.com>
Reviewed-by: Han Shen <shenhan@chromium.org>
Reviewed-by: asharif <asharif@chromium.org>
Commit-Ready: Han Shen <shenhan@chromium.org>
2011-12-30 10:20:37 -08:00
Sonny Rao
f1c1087618 Revert "(Part 4 of 4) Roll out "-fstack-protector-strong" which replaces "-fstack-protector-all"."
This reverts commit 776802c3580260288c78201e444f05ef856db856

needs fix to 3/4 before landing
Change-Id: Id17c3096893ca1e4d5cd57ed8fa9fda029519466
2011-12-29 12:37:57 -08:00
Han Shen
b2237726e5 (Part 4 of 4) Roll out "-fstack-protector-strong" which replaces
"-fstack-protector-all".

Rollout gcc-4.6.0 ebuild r11.

Chrome OS security team has reviewed the design and implementation,
which can be found here -
https://docs.google.com/document/d/1xXBH6rRZue4f296vGt9YQcuLVQHeE516stHwt8M9xyU/edit?hl=en_US&ndplr=1&pli=1

This introduces performance changes as listed below:
===============================================================
Benchmark Summary Table: desktopui_PageCyclerTests
1: /usr/local/google/chromeos-newest-clone/src/build/images/x86-zgb/R18-1471.0.2011_12_21_1822-a1/chromiumos_image.bin Page (5 runs)
2: /usr/local/google/chromeos-newest/src/build/images/x86-zgb/R18-1471.0.2011_12_21_2109-a1/chromiumos_image.bin Page (5 runs)
Summary Table   1       2
desktopui_PageCyclerTests/desktopui_PageCyclerTests     ALL_PASS (x)    ALL_PASS (x)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.Alexa_usFile       231 (+0.0%)     214 (-7.0%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.BloatFile  23899 (+0.0%)   21567 (-9.8%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.DhtmlFile  649 (+0.0%)     621 (-4.3%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.Intl1File  472 (+0.0%)     437 (-7.3%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.Intl2File  712 (+0.0%)     657 (-7.7%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.MorejsFile 695 (+0.0%)     659 (-5.2%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.Moz2File   195 (+0.0%)     179 (-7.8%)
desktopui_PageCyclerTests/desktopui_PageCyclerTests   PageCyclerTest.MozFile    195 (+0.0%)     179 (-8.2%)

Benchmark Summary Table: platform_BootPerfServer
1: /usr/local/google/chromeos-newest-clone/src/build/images/x86-zgb/R18-1471.0.2011_12_21_1822-a1/chromiumos_image.bin BootPerfServer (10 runs)
2: /usr/local/google/chromeos-newest/src/build/images/x86-zgb/R18-1471.0.2011_12_21_2109-a1/chromiumos_image.bin BootPerfServer (10 runs)
Summary Table   1       2
platform_BootPerfServer ALL_PASS (x)    ALL_PASS (x)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf       ALL_PASS (x)    ALL_PASS (x)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   mhz_primary_cpu     1662 (+0.0%)    1662 (+0.0%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_chrome_exec       1.3e+08f (+0.0%)        1.3e+08f (+1.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_chrome_main       1.5e+08f (+0.0%)        1.4e+08f (-3.7%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_login     1.5e+08f (+0.0%)        1.4e+08f (-3.8%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_startup   3519829 (+0.0%) 3435861 (-2.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_startup_done      9014272 (+0.0%) 8776704 (-2.6%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   rdbytes_kernel_to_x_started 1.2e+08f (+0.0%)        1.2e+08f (+3.7%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   reboots_in_syslog   18.1 (+0.0%)    37.3 (+105.5%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_firmware_boot       36.7 (+0.0%)    36.5 (-0.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_chrome_exec       4.81 (+0.0%)    4.78 (-0.6%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_chrome_main       5.05 (+0.0%)    4.93 (-2.3%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_login     6.76 (+0.0%)    6.59 (-2.6%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_network   6.97 (+0.0%)    6.99 (+0.3%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_startup   2.08 (+0.0%)    2.03 (-2.6%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_startup_done      2.87 (+0.0%)    2.83 (-1.5%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_kernel_to_x_started 4.67 (+0.0%)    4.64 (-0.8%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_kernel  36.7 (+0.0%)    36.5 (-0.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_lf_end  1.77 (+0.0%)    1.77 (-0.1%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_lf_start        1.04 (+0.0%)    1.04 (+0.0%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_lk_end  36.4 (+0.0%)    36.2 (-0.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_lk_start        36.2 (+0.0%)    36.1 (-0.4%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_power_on_to_login   43.4 (+0.0%)    43.1 (-0.7%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_reboot_time 41.6 (+0.0%)    41.3 (-0.7%)
platform_BootPerfServer/platform_BootPerfServer/platform_BootPerf   seconds_shutdown_time       41.6 (+0.0%)    41.3 (-0.7%)

Benchmark Summary Table: desktopui_V8Bench
1: /usr/local/google/chromeos-newest-clone/src/build/images/x86-zgb/R18-1471.0.2011_12_21_1822-a1/chromiumos_image.bin V8Bench (20 runs)
2: /usr/local/google/chromeos-newest/src/build/images/x86-zgb/R18-1471.0.2011_12_21_2109-a1/chromiumos_image.bin V8Bench (20 runs)
Summary Table   1       2
desktopui_V8Bench/desktopui_V8Bench     ALL_PASS (x)    ALL_PASS (x)
desktopui_V8Bench/desktopui_V8Bench   score_crypto      3125 (+0.0%)    3144 (+0.6%)
desktopui_V8Bench/desktopui_V8Bench   score_deltablue   3109 (+0.0%)    3050 (-1.9%)
desktopui_V8Bench/desktopui_V8Bench   score_earleyboyer 4366 (+0.0%)    4372 (+0.1%)
desktopui_V8Bench/desktopui_V8Bench   score_raytrace    2034 (+0.0%)    2059 (+1.2%)
desktopui_V8Bench/desktopui_V8Bench   score_regexp      568 (+0.0%)     578 (+1.7%)
desktopui_V8Bench/desktopui_V8Bench   score_richards    2556 (+0.0%)    2544 (-0.5%)
desktopui_V8Bench/desktopui_V8Bench   score_splay       750 (+0.0%)     941 (+25.5%)
desktopui_V8Bench/desktopui_V8Bench   score_total       1892 (+0.0%)    1954 (+3.3%)

bvt and suite_Smoke all pass.
=================================

BUG=None
TEST=manually - build amd64-generic and x86-zgb from scratch.
CQ-DEPEND=I088ee61487194ea4e4407307a1c33af40d292265

Change-Id: Id4c5af610f01a96fbdfe30e345f73b9e9a55e050
Reviewed-on: https://gerrit.chromium.org/gerrit/13503
Tested-by: Han Shen <shenhan@chromium.org>
Reviewed-by: asharif <asharif@chromium.org>
Commit-Ready: Han Shen <shenhan@chromium.org>
2011-12-29 11:05:45 -08:00
Mike Frysinger
b623f321b9 setup_board: lock in new 3.1 kernel headers
BUG=chromium-os:14334
TEST=`emerge sys-kernel/linux-headers` now pulls in version 3.1 & works
TEST=`emerge cross-armv7a-cros-linux-gnueabi/linux-headers` now pulls in version 3.1 & works
TEST=`emerge cross-i686-pc-linux-gnu/linux-headers` now pulls in version 3.1 & works
TEST=`emerge cross-x86_64-cros-linux-gnu/linux-headers` now pulls in version 3.1 & works
TEST=`cbuildbot chromiumos-sdk` worked
TEST=`cbuildbot amd64-generic-full` passes
TEST=`cbuildbot arm-generic-full` passes
TEST=`cbuildbot x86-generic-full` passes
TEST=build_packages+build_image for x86-alex boots
CQ-DEPENDS=13082

Change-Id: I20460c174570ff004be14e82863aab316a1fb572
Reviewed-on: https://gerrit.chromium.org/gerrit/13083
Commit-Ready: Mike Frysinger <vapier@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
2011-12-19 09:39:43 -08:00