Closed
Bug 491774
Opened 15 years ago
Closed 14 years ago
crashreporter fails to compile when doing 32-bit cross compile on Mac OS X 10.6 seed 10A335
Categories
(Toolkit :: Crash Reporting, defect)
Tracking
()
RESOLVED
FIXED
Tracking | Status | |
---|---|---|
blocking2.0 | --- | - |
People
(Reporter: jaas, Assigned: jimb)
References
Details
Attachments
(6 files)
559 bytes,
text/plain
|
Details | |
3.39 KB,
text/plain
|
Details | |
718 bytes,
patch
|
Details | Diff | Splinter Review | |
23.38 KB,
text/plain
|
Details | |
20.48 KB,
patch
|
Details | Diff | Splinter Review | |
11.36 KB,
patch
|
Details | Diff | Splinter Review |
The crash reporter fails to compile when doing a 32-bit cross-compile on Mac OS X 10.6, where 64-bit is the default arch. Use the attached mozconfig and Mozilla trunk code to reproduce on Mac OS X 10.6 seed 10A335 (or later). (No, I am not using a PDP-11!)
Comment 1•15 years ago
|
||
Also, need this filed upstream, since we don't take local patches. Happy to sync with upstream if we get it fixed there, though.
Comment 3•15 years ago
|
||
Ok, so it looks like we just need another block here that sets CPU_TYPE_X86_64: http://mxr.mozilla.org/mozilla-central/source/toolkit/crashreporter/google-breakpad/src/common/mac/macho_walker.cc#63 Can you patch that and submit it upstream?
Its not really that easy, breakpad lacks 64-bit support in general for darwin so doing that isn't enough. Here is a patch that does it though because I have a question - what is the right alternative to __i386__ to use for x86-64? __LP64__ will also be true for 64-bit PPC.
Comment 6•15 years ago
|
||
defined(__x86_64__)
Comment 7•15 years ago
|
||
(In reply to comment #4) > Created an attachment (id=376468) [details] > partial fix v1.0 > > Its not really that easy, breakpad lacks 64-bit support in general for darwin > so doing that isn't enough. Should be ok, though, since we disable breakpad support on 64-bit systems in configure. Only dump_syms (and its bits) need to compile, since we compile those for the host architecture, but they only need to deal with x86 binaries.
Updated•14 years ago
|
blocking2.0: --- → ?
Comment 8•14 years ago
|
||
I wouldn't block on this. You can always --disable-crashreporter.
blocking2.0: ? → -
Comment 9•14 years ago
|
||
Josh, this is fixed now, right?
Reporter | ||
Comment 10•14 years ago
|
||
yes
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
Comment 11•14 years ago
|
||
I'm hitting this with the latest mozilla-central, with 10.6 and Xcode 3.2.1, and a universal build setup -- I think this got regressed.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 12•14 years ago
|
||
Breakpad's Macintosh symbol dumper uses deprecated functions for dealing with mixed-endianness code. This patch provides an overloaded function, ByteSwap, that automatically chooses the CFSwap* functions from <CoreFoundation/CFByteOrder.h> appropriate for its argument's size.
Assignee | ||
Comment 13•14 years ago
|
||
Since we're using its types, #include <stdint.h>. Don't cast 'void *' to 'uint32_t' where we need to do byte-pointer arithmetic. Instead, use 'char *'; the language guarantees that sizeof(char) == 1. To make the above easier, pass pointers to byte buffers as 'char *', not 'void *. Use natural pointer arithmetic where possible. If ptr is a 'struct A *', then write: (struct B *) (ptr + 1) instead of: (struct B *) ((char *) ptr + sizeof(struct A)) This helps us avoid (say) using the size of the 32-bit Mach-O header to skip a 64-bit Mach-O header. (The latter has an extra 32-bit word at the end.)
Assignee | ||
Comment 14•14 years ago
|
||
With those two patches, I can get dump_syms to build for x86_64. I don't think it runs, though.
Assignee | ||
Updated•14 years ago
|
Assignee: nobody → jim
Assignee | ||
Comment 15•14 years ago
|
||
Those patches filed with Google as: http://breakpad.appspot.com/71001/show http://breakpad.appspot.com/70001/show
Assignee | ||
Comment 16•14 years ago
|
||
The patch series up at the URL below fixes the symbol dumper on Mac. It works fine compiled as either 32-bit or 64-bit code.
Assignee | ||
Comment 17•14 years ago
|
||
The URL: http://hg.mozilla.org/users/jblandy_mozilla.com/breakpad-mq/file/8e6f6dd0b0d6 We'll be importing this into the tree as soon as it gets reviewed upstream.
Assignee | ||
Comment 18•14 years ago
|
||
Verified that all unit tests build and pass on Mac x86_64.
Comment 19•14 years ago
|
||
Fixed by the update in bug 567424.
Status: REOPENED → RESOLVED
Closed: 14 years ago → 14 years ago
Depends on: 567424
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•