浏览代码

liboil: fix build on arm with softfloat

This patch, gotten from liboil git (recent commit), fixes the problem.

Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Julien Boibessot 15 年之前
父节点
当前提交
14d065b5bd
共有 2 个文件被更改,包括 45 次插入6 次删除
  1. 6 6
      CHANGES
  2. 39 0
      package/liboil/liboil-0.3.15-fixes-arm-softfloat-build.patch.arm

+ 6 - 6
CHANGES

@@ -7,12 +7,12 @@
 
 	Updated/fixed packages: alsa-lib, alsa-utils, at, autoconf, bash,
 	bind, binutils, bootutils, busybox, dbus, directfb, dnsmasq,
-	e2fsprogs, gstreamer, gperf, gst-plugins-bad, gvfs, fbdump, flex, hal,
-	iptables, iw, jpeg, kismet, libfuse, libglib2, libpcap, libungif,
-	libxml2, libxslt, lighttpd, mesa, mpg123, mtd-utils, newt, nbd, neon,
-	netstat-nat, openvpn, pcre, php, qt, rdesktop, readline, rpm, sawman,
-	sdl, sdl_ttf, sqlite, sshfs, tremor, u-boot, usb_modeswitch, usbutils,
-	webkit, wpa_supplicant, xfsprogs, zlib
+	e2fsprogs, gstreamer, gperf, gst-plugins-bad, gvfs, fbdump, flex,
+	hal, iptables, iw, jpeg, kismet, libfuse, libglib2, liboil, libpcap,
+	libungif, libxml2, libxslt, lighttpd, mesa, mpg123, mtd-utils, nbd,
+	neon, netstat-nat, newt, openvpn, pcre, php, qt, rdesktop, readline,
+	rpm, sawman, sdl, sdl_ttf, sqlite, sshfs, tremor, u-boot,
+	usb_modeswitch, usbutils, webkit, wpa_supplicant, xfsprogs, zlib
 
 	Removed package: openswan
 

+ 39 - 0
package/liboil/liboil-0.3.15-fixes-arm-softfloat-build.patch.arm

@@ -0,0 +1,39 @@
+Patch generated from:
+http://cgit.freedesktop.org/liboil/commit/?id=227782d45d14ca0d68ee73b54eab71c1582dcbfa
+
+From 227782d45d14ca0d68ee73b54eab71c1582dcbfa Mon Sep 17 00:00:00 2001
+From: Adrian Bunk <adrian.bunk@movial.com>
+Date: Wed, 09 Sep 2009 13:31:40 +0000
+Subject: fix ARM -mfloat-abi=soft builds
+
+If __SOFTFP__ is defined, VFP support is not available
+even when __VFP_FP__ is defined.
+---
+diff --git a/liboil/arm/math_vfp.c b/liboil/arm/math_vfp.c
+index ffd3981..0bed96e 100644
+--- a/liboil/arm/math_vfp.c
++++ b/liboil/arm/math_vfp.c
+@@ -30,7 +30,7 @@
+ #include <liboil/liboilclasses.h>
+ #include <liboil/liboilfunction.h>
+ 
+-#if __VFP_FP__
++#if defined(__VFP_FP__) && !defined(__SOFTFP__)
+ 
+ extern void vfp_add_f32 (float *d, const float *s1, const float *s2, int n);
+ extern void vfp_add_f64 (double *d, const double *s1, const double *s2, int n);
+diff --git a/liboil/arm/math_vfp_asm.S b/liboil/arm/math_vfp_asm.S
+index ea68dba..ae5c803 100644
+--- a/liboil/arm/math_vfp_asm.S
++++ b/liboil/arm/math_vfp_asm.S
+@@ -24,7 +24,7 @@
+  * SUCH DAMAGE.
+  */
+ 
+-#if __VFP_FP__
++#if defined(__VFP_FP__) && !defined(__SOFTFP__)
+ /* 
+ ** compile with -mcpu=arm1136j-s -mfpu=vfp -mfloat-abi=softfp
+ **
+--
+cgit v0.8.3-6-g21f6