Closed
Bug 491774
Opened 16 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)
(deleted),
text/plain
|
Details | |
(deleted),
text/plain
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
text/plain
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review | |
(deleted),
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•16 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•16 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•16 years ago
|
||
defined(__x86_64__)
Comment 7•16 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•15 years ago
|
blocking2.0: --- → ?
Comment 8•15 years ago
|
||
I wouldn't block on this. You can always --disable-crashreporter.
blocking2.0: ? → -
Comment 9•15 years ago
|
||
Josh, this is fixed now, right?
Reporter | ||
Comment 10•15 years ago
|
||
yes
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Comment 11•15 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•15 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•15 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•15 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•15 years ago
|
Assignee: nobody → jim
Assignee | ||
Comment 15•15 years ago
|
||
Those patches filed with Google as:
http://breakpad.appspot.com/71001/show
http://breakpad.appspot.com/70001/show
Assignee | ||
Comment 16•15 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•15 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•15 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: 15 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
•