Closed Bug 492299 Opened 16 years ago Closed 16 years ago

xptcall for e500(booke)

Categories

(Core :: XPCOM, defect)

PowerPC
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.9.3a1

People

(Reporter: hsaito54, Assigned: mozbug)

Details

Attachments

(1 file, 1 obsolete file)

I couldn't search a dependent code for e500 that is based on a PowerPC architecture but doesn't have FPU. This may be useful if there is not yet the code.
Attached patch patch (obsolete) — Splinter Review
I made a similar patch before I found this one. After a review I noticed that this patch contains the same bug for double handling as current code for long longs as I reported in #520367. I attach my patch :)
Attached patch soft float addonSplinter Review
jst/sicking: can we help Sebastian find a reviewer?
Josh thought that bsmedberg or dbaron might be able to review ppc xptcall code.
I think Benjamin's better. :-) Which patch needs review? (How do they differ?)
I would say the second one https://bugzilla.mozilla.org/attachment.cgi?id=404421 which obsoletes the first one. The difference is that, the first one has the same bug for double as described in #520367 for long long. Both types are 64bit, have to be split in two 32-bit regs / stack slots and padded properly.
Is this patch covered by the existing xptcall tests?
Which one would be that? I tested it with xpcom/reflect/xptcall/tests/TestXPTCInvoke.cpp. Is there something else?
Yes, that one. Does that test the functionality you've changed here?
Yes it does. I did the test on a softloat machine. I didn't test it on a machine with hardfloat but it should not change anything due to the ifdefs. Do you want me to test it on a box with hardfloat?
I've built the files in question on a powerpc without softloat with and without the patch. The result after striping the resulting binary (to lose debug info is): xpcom/reflect/xptcall/src/md/unix/no-patch$ sha1sum * ../patch/* | sort 32f9955e8267b4bbaf68b44ab364338d2dcb702e ../patch/xptcinvoke_ppc_linux.o 32f9955e8267b4bbaf68b44ab364338d2dcb702e xptcinvoke_ppc_linux.o 86b26e652731ed942fe059c4f85b25e85055f7d3 ../patch/xptcstubs_asm_ppc_linux.o 86b26e652731ed942fe059c4f85b25e85055f7d3 xptcstubs_asm_ppc_linux.o 91f581143a5c2286c0f26682d8c5365082e8ac32 ../patch/xptcstubs_ppc_linux.o 91f581143a5c2286c0f26682d8c5365082e8ac32 xptcstubs_ppc_linux.o d8e183b0288d1f6d214eb1e38031df92339a020d ../patch/xptcinvoke_asm_ppc_linux.o d8e183b0288d1f6d214eb1e38031df92339a020d xptcinvoke_asm_ppc_linux.o So the patch does not change the behavior for the non-softfloat case.
Attachment #404421 - Flags: review?(benjamin) → review+
Keywords: checkin-needed
This patch depends on the patch in #520367.
Assignee: nobody → mozbug
Attachment #376651 - Attachment is obsolete: true
Status: NEW → RESOLVED
Closed: 16 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.3a1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: