Created attachment 370860 [details] [diff] [review] hppa.patch Hi, please apply the following patch, it's from debian. What it does is: -Support generic hppa CHOST. -Compile xpcom with -O0, since more than that segfaults. Props to Mike Hommey <glandium at debian dot org> since he did it. Patch should apply to 1.9 as well.
Comment on attachment 370860 [details] [diff] [review] hppa.patch Please wait a bit. I'll try to ping some hppa-aware people that promised a real patch a while ago (the ifneq part still applies, though). I tackled what is happening, but lacked the hppa assembly knowledge to come up with a proper fix. The problem lies in the fact that the stubs get a data structure from the stack, but function tail call optimization in the caller function breaks the stack location expectations, which is why building with -O0 works.
Comment on attachment 370860 [details] [diff] [review] hppa.patch i'll gladly give this an r-. clobbering optimizations for a large number of unrelated patches is entirely unacceptable collateral damage.
Attachment #370860 - Flags: review-
Huh? It's ifdef'ed and wouldn't be -O0 unless compiled on hppa! Anyways, let's wait for the real patch.
ok, so, i'd like this as a patch queue (or export series, whatever). if you're adding an optimization restriction in one patch with an explanation that something is wrong, citing a bug, and in a second patch adding an additional variant of hppa, with an explanation of what it is, then those are two separate patches that should land as distinct changesets.
From xpcom/reflect/xptcall/src/md/unix/Makefile.in: > 212 ifeq ($(OS_ARCH),HP-UX) > 213 ifneq ($(CC),gcc) > 214 ifneq ($(OS_TEST),ia64) > 215 CPPSRCS := xptcinvoke_pa32.cpp xptcstubs_pa32.cpp > 216 ASFILES := xptcstubs_asm_pa32.s xptcinvoke_asm_pa32.s > 217 else > 218 CPPSRCS := xptcinvoke_ipf32.cpp xptcstubs_ipf32.cpp > 219 ASFILES := xptcstubs_asm_ipf32.s xptcinvoke_asm_ipf32.s > 220 endif > 221 > 222 # #18875 Building the CPP's (CXX) optimized causes a crash > 223 CXXFLAGS := $(filter-out $(MOZ_OPTIMIZE_FLAGS), $(CXXFLAGS)) > 224 endif > 225 endif Adding the part from 221-223 makes it work on HPPA/Linux. So, if its being done for HP-UX, we could do it on Linux, couldn't we? What do you say Mike?
(In reply to comment #6) > Adding the part from 221-223 makes it work on HPPA/Linux. So, if its being done > for HP-UX, we could do it on Linux, couldn't we? > > What do you say Mike? I'd say this would be a fix for bug 434190, though modifying the assembly would be better, but I never got the patch from our hppa guys :( That would leave only the generic hppa chost in the patch here. What do you think ?
Dunno, whatever you think its better.
Created attachment 435822 [details] [diff] [review] Patch Let's do the chost only, here, and leave the rest to bug 434190
Attachment #435822 - Flags: review? → review?(timeless)
Status: ASSIGNED → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.