| Summary: | lang/php56: zend_strtod.c needs __VFP_FP__ defined to work correctly on arm AT91SAM9 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | David Horwitt <dhorwitt> | ||||
| Component: | Individual Port(s) | Assignee: | Alex Dupre <ale> | ||||
| Status: | Closed Overcome By Events | ||||||
| Severity: | Affects Some People | CC: | ale, freebsd-arm, mikael, mmoll, rene, w.schwarzenfeld | ||||
| Priority: | --- | Keywords: | needs-patch, needs-qa | ||||
| Version: | Latest | Flags: | koobs:
maintainer-feedback?
(ale) koobs: merge-quarterly? |
||||
| Hardware: | arm | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
|
Description
David Horwitt
2015-12-02 22:17:02 UTC
could you test https://sources.debian.net/data/main/p/php5/5.6.16+dfsg-1/debian/patches/0006-strtod_arm_fix.patch ? After applying patch the failing behavior is the same; explicitly defining __VFP_FP__ restores correct behavior. It looks like the patch asumes that __VFP_FP__ is supplied by clang (builtin) which isn't the case on my system. is this on armv6 or armv6hf? AT91SAM9 = ARM926EJS = ARMv5TEJ. I think; ARM nomenclature hurts my brain. My buildworld and buildkernel used TARGET=arm and TARGET_ARCH=arm (cross-built on i386). What does "cc -E -dM - < /dev/null | grep VFP_FP" returns? Created attachment 163846 [details]
Full output of "cc -E -dM - </dev/null"
More direct reply to comment 5: Script started on Fri Dec 4 14:12:46 2015 # uname -v FreeBSD 10.2-STABLE #1: Tue Nov 3 20:18:10 UTC 2015 root@dstar2:/data/src/sys/arm/compile/SOM9G20M # cc -E -dM - </dev/null | grep VFP_FP # exit exit Script done on Fri Dec 4 14:13:10 2015 David, could you try if it works when you just define IEEE_LITTLE_ENDIAN? Does _not_ work when IEEE_LITTLE_ENDIAN is defined. NB: 1) Using original zend_strtod.c (patch in comment 1 not applied) 2) Tried defining IEEE_LITTLE_ENDIAN in various places a) at line 155 b) at line 285 According to #bsdmips none of the ARMv5 processors we do support with the "arm" architecture does have VFP, so this might be just an accidental fix by some cross effects. I does work for me on armv6hf and I'm quite sure it would also work on armv6. I tried to tinker around on my old Sheevaplug to get more insights, but it seems clang is broken on -CURRENT (see https://lists.freebsd.org/pipermail/freebsd-arm/2015-October/012491.html ff.). -> assigning ticket back to ports pool Correctly assign to MAINTAINER Maintainer feedback? Expired port removed, no recent updates. |