Closed Bug 644140 Opened 13 years ago Closed 5 years ago

#error Can't identify floating point calling conventions. with debian gcc 4.5.2

Categories

(Core :: XPCOM, defect)

ARM
Linux
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: glandium, Unassigned)

References

Details

Apparently, debian gcc 4.5.2 defines neither __ARM_PCS_VFP nor __ARM_PCS. I guess this applies to any gcc 4.5.2.

Not sure if we need to improve the check in xptcinvoke_arm.cpp or if I'll just define __ARM_PCS by hand.
As a data point, there are other places in the code base that #ifdef __ARM_PCS_VFP, but they don't rely on __ARM_PCS being defined.
I really had a hope that this gcc problem would have been fixed long ago and be available in 4.5.2 already: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45886

Maybe 'xptcinvoke_arm.cpp' can be modified in some way, but when the precise information about the ABI is not available, one has to make guesses (which may be wrong in some configurations) or provide this information from outside like defining __ARM_PCS by hand if you are sure that you are really using soft/softfp ABI.

As one of the examples, the unpatched gcc 4.5.2 is definitely going to cause problems for the debian fellows who are working on a hard-float ARM port: http://wiki.debian.org/ArmHardFloatPort

This failing guard check in Mozilla code exposes an issue in gcc. Surely, this code could make some silent guess instead, and even be right in most of the cases. But I thought that a better idea was to apply the fix where it actually belongs. Looking at how it turned out, maybe I was wrong after all.

This is obsolete due bug 1322792.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.