|
|
Created:
7 years, 4 months ago by tonyg Modified:
7 years, 4 months ago CC:
chromium-reviews, Robert Sesek Base URL:
svn://svn.chromium.org/chrome/trunk/src Visibility:
Public. |
DescriptionMake minidump_stackwalk compile with target_arch=ia32 on a linux x64 host.
This is necessary for the perf bots to build minidump_stackwalk which will
allow us to have stack traces when perf tests crash.
BUG=223572
TEST=GYP_DEFINES="branding=Chrome buildtype=Official target_arch=ia32 component=static_library" gclient runhooks && ninja -C out/Release minidump_stackwalk
Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=218622
Patch Set 1 #Patch Set 2 : Rework with thestig's approach #Messages
Total messages: 17 (0 generated)
This fixes the error: /usr/local/google/code/chromium/src/chrome/installer/linux/debian_wheezy_i386-sysroot/usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory
Are you doing an official build because you need an official build, or just to get '-g' into cflags? If the latter, just use linux_dump_symbols=1 instead.
On 2013/08/18 09:41:03, Lei Zhang wrote: > Are you doing an official build because you need an official build, or just to > get '-g' into cflags? If the latter, just use linux_dump_symbols=1 instead. I want the perf bots to do official builds so that we are testing performance against the bits we are actually shipping. The perf bots include minidump_stackwalk in the target they build so that we can display a crash dump when a bot crashes on a perf test. Make sense?
LGTM, I guess, but I’m trying to understand why you need this as much as I guess Lei is. Are the perf bots that you want to have do official builds somehow different from the non-perf bots that are doing official builds?
On 2013/08/19 14:35:52, Mark Mentovai wrote: > LGTM, I guess, but I’m trying to understand why you need this as much as I guess > Lei is. > > Are the perf bots that you want to have do official builds somehow different > from the non-perf bots that are doing official builds? The major differences are that they do not clobber every build and they build the chromium_builder_perf target instead of the all target. These make them cycle much faster. If we relied on the builders on the chromium.chrome waterfall to produce the builds for the chromium.perf waterfall, there would be too many CLs in each build. Please confirm you are okay with me landing this.
That doesn’t explain why you need this change. That’s what I’m trying to get at.
On 2013/08/19 15:49:27, Mark Mentovai wrote: > That doesn’t explain why you need this change. That’s what I’m trying to get at. Oh, master.chromium.chrome has two linux official builders: a 32 bit host that builds a 32 bit target and a 64 bit host that builds a 64 bit target. master.chromium.perf has one linux builder in which I'm trying to make a 64 bit host build a 32 bit target.
OK, LGTM
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tonyg@chromium.org/23064014/1
not lgtm This only works because you just happen to have a machine with both the 32-bit and 64-bit chroots. On a machine that only does a 32-bit official build, this won't work. Also, you shouldn't need the chroot unless you are doing an official+chrome build. "Normal" builds shouldn't need the chroot.
> On a machine that only does a 32-bit official build, this won't work. But this is guarded by: 'conditions': [ ['host_arch=="x86_64"', { ... > Also, you shouldn't need the chroot unless you are doing an official+chrome > build. "Normal" builds shouldn't need the chroot. My basic goal is just to get the build working on a 64bit host cross-compiling to 32bit. I don't really even care whether the minidump_stackwalk binary ends up respecting the 32bit flag or just builds in host mode. Could you suggest to me the right way to go about accomplishing this?
On 2013/08/19 21:14:09, tonyg wrote: > > On a machine that only does a 32-bit official build, this won't work. > > But this is guarded by: > > 'conditions': [ > ['host_arch=="x86_64"', { > ... To clarify, on a 64-bit host doing a 32-bit build, this won't work because you don't have the 64-bit chroot. > > Also, you shouldn't need the chroot unless you are doing an official+chrome > > build. "Normal" builds shouldn't need the chroot. > > My basic goal is just to get the build working on a 64bit host cross-compiling > to 32bit. I don't really even care whether the minidump_stackwalk binary ends up > respecting the 32bit flag or just builds in host mode. > > Could you suggest to me the right way to go about accomplishing this? Sure, let me test out some ideas and get back to you later today.
So how about have a condition inside the host_arch=="x86_64" condition like this? ['target_arch=="ia32" and sysroot!=""', { 'cflags!': ['--sysroot=<(sysroot)'], }],
On 2013/08/20 08:32:36, Lei Zhang wrote: > So how about have a condition inside the host_arch=="x86_64" condition like > this? > > ['target_arch=="ia32" and sysroot!=""', { > 'cflags!': ['--sysroot=<(sysroot)'], > }], That worked like a charm. Thanks for setting me straight. PTAL
lgtm
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/tonyg@chromium.org/23064014/45001
Message was sent while issue was closed.
Change committed as 218622 |