My favorites | Sign in
Project Home Downloads Wiki Issues Code Search
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 203298: buildbot and developer toolchains inconsistent on tegra2_seaboard at least
1 person starred this issue and may be notified of changes. Back to list
 
Project Member Reported by kliegs@chromium.org, Sep 8, 2011
Trying to build locally with packages from the buildbots are failing:

To setup:
repo sync && build_packages

To reproduce:
emerge-tegra2_seaboard -g libcros
emerge-tegra2_seaboard power_manager
Notice the following failure:
power_manager-0.0.1-r200: /usr/libexec/gcc/armv7a-cros-linux-gnueabi/ld: /build/tegra2_seaboard/usr/lib/libcrosapi.a(load.o): Unknown mandatory EABI object attribute 44

Rebuild libcros locally instead of using binary package:
emerge-tegra2_seaboard libcros
emerge-tegra2_seaboard power_manager
It now builds successfully (without using cros_workon and from upstream sources).

libXi2, libXtst and libgtk+ are also showing this error when linking against chromeos-chrome.

This was initially attempted to be fixed by uprevving the broken packages to force a rebuild but that did not appear to fix the issue.  
Sep 8, 2011
#1 kliegs@chromium.org
(No comment was entered for this change.)
Cc: adlr@chromium.org benc...@chromium.org vpala...@chromium.org yj...@chromium.org
Sep 8, 2011
#2 kliegs@chromium.org
Output requested:

From upstream libcros:

(cr) ((920482f...)) kliegs ~/trunk/src/scripts $ armv7a-cros-linux-gnueabi-readelf -A /build/tegra2_seaboard/usr/lib/libcrosapi.a

File: /build/tegra2_seaboard/usr/lib/libcrosapi.a(load.o)
Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "7-A"
  Tag_CPU_arch: v7
  Tag_CPU_arch_profile: Application
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-2
  Tag_VFP_arch: VFPv3-D16
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align8_needed: Yes
  Tag_ABI_align8_preserved: Yes, except leaf SP
  Tag_ABI_enum_size: int
  Tag_ABI_HardFP_use: SP and DP
  Tag_ABI_optimization_goals: Aggressive Speed
  Tag_unknown_44: 1 (0x1)

Sep 8, 2011
#3 vpala...@chromium.org
The normal output for libcrosapi compiled with the current toolchain is :

File: /build/tegra2_kaen/usr/lib/libcrosapi.a(load.o)
Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "7-A"
  Tag_CPU_arch: v7
  Tag_CPU_arch_profile: Application
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-2
  Tag_VFP_arch: VFPv3-D16
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align8_needed: Yes
  Tag_ABI_align8_preserved: Yes, except leaf SP
  Tag_ABI_enum_size: int
  Tag_ABI_HardFP_use: SP and DP
  Tag_ABI_optimization_goals: Aggressive Speed

So this one has probably be compiled with another very recent toolchain (gcc 4.6 ?) 
Sep 8, 2011
#4 kliegs@chromium.org
And when built locally:

(cr) ((920482f...)) kliegs@~/trunk/src/scripts $ armv7a-cros-linux-gnueabi-readelf -A /build/tegra2_seaboard/usr/lib/libcrosapi.a

File: /build/tegra2_seaboard/usr/lib/libcrosapi.a(load.o)
Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "7-A"
  Tag_CPU_arch: v7
  Tag_CPU_arch_profile: Application
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-2
  Tag_VFP_arch: VFPv3-D16
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align8_needed: Yes
  Tag_ABI_align8_preserved: Yes, except leaf SP
  Tag_ABI_enum_size: int
  Tag_ABI_HardFP_use: SP and DP
  Tag_ABI_optimization_goals: Aggressive Speed

Sep 8, 2011
#5 vpala...@chromium.org
According to binutils sources, the attribute 44 seems to be "use DIV" and is set by the compiler depending on the type of CPU. (should not be here for cortex A9)
Sep 8, 2011
#6 vpala...@chromium.org
After having check our binutils source, this flag is set in GAS for binutils 2.21
and is NOT set in current binutils (2.20.1.20100303)
So this libcros binary has been compiled with new binutils 2.21
Sep 8, 2011
#7 raymes@chromium.org
(No comment was entered for this change.)
Cc: asha...@chromium.org raymes@chromium.org
Sep 8, 2011
#8 asha...@chromium.org
I think this happened because the binary packages you downloaded were built with binutils-2.21.

By mistake I submitted my binutils-2.21 upgrade CL on 9/6/2011 which was reverted on 9/7/2011. Binaries built by the buildbot during that period had that extra attribute.

That CL is now reverted and hopefully the binaries that get downloaded when you now do ./build_packages --usepkg are built by binutils-2.20.
Sep 8, 2011
#9 bugdroid1@chromium.org
Commit: 17c8073112bed42c9b9a0d1be86ac59c6c0b7992
 Email: davidjames@chromium.org

Don't use binary packages for clobber builds.

If a developer asked to clobber the build, really clobber it so as to allow
for packages to be rebuilt completely from source.

BUG=chromium-os:20207
TEST=Try preflight build with --clobber.

Change-Id: I3c3f35d548618c359ca79c86e53570a1b7439d7b
Reviewed-on: http://gerrit.chromium.org/gerrit/7445
Reviewed-by: Raymes Khoury <raymes@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Tested-by: David James <davidjames@chromium.org>

M	buildbot/cbuildbot_stages.py
Sep 8, 2011
#10 bugdroid1@chromium.org
Commit: 454455c2cd1da496a5ba4d78326a9cce248b1293
 Email: davidjames@chromium.org

Remove broken binhosts built with new binutils.

BUG=chromium-os:20207
TEST=Verify these binhosts are no longer used.

Change-Id: Ie4bd4a0f3e2a9954520e40d6c7212f590c63e9f3
Reviewed-on: http://gerrit.chromium.org/gerrit/7458
Reviewed-by: Ryan Cui <rcui@chromium.org>
Tested-by: David James <davidjames@chromium.org>

M	chromeos/binhost/target/tegra2-LATEST_RELEASE_CHROME_BINHOST.conf
M	chromeos/binhost/target/tegra2-PREFLIGHT_BINHOST.conf
D	chromeos/binhost/target/tegra2_dev-board-PREFLIGHT_BINHOST.conf
Sep 8, 2011
#11 bugdroid1@chromium.org
Commit: 7acec22d8a3727edf714ef05585959deb49da78f
 Email: davidjames@chromium.org

Go back to a binhost from yesterday that has binutils 2.21.

BUG=chromium-os:20207
TEST=Check that binutils-2.21 is installed with this binhost.

Change-Id: I1b5c0c6d3d3a224d12c07e60288a23e0badaca95
Reviewed-on: http://gerrit.chromium.org/gerrit/7465
Reviewed-by: Raymes Khoury <raymes@chromium.org>
Tested-by: David James <davidjames@chromium.org>

M	chromeos/config/make.conf.amd64-host
Sep 8, 2011
#12 davidjames@google.com
Okay, finally, issue is fixed! TL/DR: run build_packages and your build should work now.

Detailed description: On Monday, asharif upgraded binutils to 2.21. Yesterday, he then downgraded binutils to 2.20 to prepare for R15 branch. This introduced an inconsistency where different builders and developers were stuck on different versions of binutils.

This caused breakage in one situation: If you have binutils 2.20 and use a package built by binutils 2.21, your build will be broken. This turns out to affect all developers who have binutils 2.20 because the buildbot packages were built with binutils 2.21.

Now that R15 is branched, asharif rolled forward to 2.21. To speed up the rollout I reverted the sdk binhost to one from yesterday that has 2.21. This should fix developer builds immediately if you run build_packages.
Status: Fixed
Labels: Iteration-38
Sep 8, 2011
#13 asha...@chromium.org
Thanks davidjames and raymes for addressing this.
Sep 13, 2011
#14 chromeos...@chromium.org
(No comment was entered for this change.)
Labels: FixedIn-0.16-1013.0
Sep 13, 2011
#15 chromeos...@chromium.org
(No comment was entered for this change.)
Labels: -FixedIn-0.16-1013.0
Sep 20, 2011
#16 kr...@chromium.org
(No comment was entered for this change.)
Status: Verified
Sep 20, 2011
#17 chromeos...@chromium.org
(No comment was entered for this change.)
Labels: FixedIn-0.16-1013.0
Oct 25, 2011
#18 chromeos...@chromium.org
(No comment was entered for this change.)
Labels: -FixedIn-0.16-1013.0 FixedIn-1013.0.0
Jan 13, 2012
#19 vapier@chromium.org
(No comment was entered for this change.)
Summary: buildbot and developer toolchains inconsistent on tegra2_seaboard at least
Jan 20, 2012
#20 chromeos...@chromium.org
(No comment was entered for this change.)
Labels: FixedInIndex-22
Mar 6, 2013
#21 bugdroid1@chromium.org
(No comment was entered for this change.)
Labels: OS-Chrome
Mar 9, 2013
#22 bugdroid1@chromium.org
(No comment was entered for this change.)
Labels: -Area-Build Build
Sign in to add a comment

Powered by Google Project Hosting