Created attachment 287046[details][diff][review]
Patch v1
I'll take several weeks' leave. In case someone feels interested in having a try. This patch is the one that can work with Firefox trunk. It also includes the sub patch which I've already submitted an issue for breakpad.

Created attachment 292393[details][diff][review]
patch v2
One limitation: In order to upload the correct symbols information to the server, we can't make the build in the topsrcdir directory. A different directory is fine.
If we make the build in the topsrcdir, the generated dynamic libraries only contain the file name information, not the path information. This will bring some trouble when getting the Revision information in symbolstore.py.

luser, thanks for the review. See my comments below:
(In reply to comment #8)
> > #elif defined(XP_LINUX)
> > #include "client/linux/handler/exception_handler.h"
> > #include <fcntl.h>
> > #include <sys/types.h>
> > #include <unistd.h>
> >+#elif defined(XP_SOLARIS)
> >+#include "client/solaris/handler/exception_handler.h"
> >+#include <fcntl.h>
> >+#include <sys/types.h>
> >+#include <unistd.h>
> > #else
> > #error "Not yet implemented for this platform"
> > #endif // defined(XP_WIN32)
>
> Again, can you combine these blocks if they're exactly the same? No point in
> having multiple copies. Should just be:
> #if defined(XP_LINUX) || defined(XP_SOLARIS)
>
The header file exception_handler.h are in different path between Linux and Solaris. I think we should keep them separate.
> >Index: toolkit/crashreporter/client/Makefile.in
> >===================================================================
> >+ifeq ($(OS_ARCH),SunOS)
> >+CPPSRCS += crashreporter_linux.cpp
>
> Maybe we should consider renaming this to crashreporter_gtk.cpp?
>
So we need a cvs copy request for this to keep all the log?
> This is a definite no-no, I don't want to hardcode "mozilla" in this script.
> What exactly are you trying to do here?
>
Take libmozjs.so as an example, the filename is in the form of "../../../mozilla/js/src/js*.c" when the topsrcdir is "../mozilla". This line of code helps kill the leading "../../*" and we can get the VCS info from it. Anyway, I'll get rid of the hardcode in the updated patch.
> >Index: toolkit/crashreporter/google-breakpad/src/common/solaris/Makefile.in
> >===================================================================
> >+CXXFLAGS := $(filter-out -pedantic,$(CXXFLAGS))
>
> This sucks, what doesn't build with -pedantic?
Then how about the Makefile in Linux directory? Do we also need to remove it?
Will update the patch later.

Comment on attachment 294024[details][diff][review]
patch v3
This looks good. Let's not worry about renaming crashreporter_linux.cpp right now though, we can do that later. (Maybe in the mercurial repository where it's easier. :-) Also, I didn't remember that we had that -pedantic filter in the Linux Makefile. If we can build without it, I'd like to get it removed.

Comment on attachment 310305[details][diff][review]
patch v4
Ok, this looks good. Let's leave the renaming of crashreporter_linux.cpp out for now, we can do that very easily in mozilla2, and it's not very important for right now.
Drivers: this patch will enable breakpad support on Solaris, and it's pretty low-risk, basically the entire patch is just adding Solaris-only paths to makefiles and one or two source files.