summaryrefslogtreecommitdiff
path: root/liboil
diff options
context:
space:
mode:
authorDavid Schleef <ds@ginger.bigkitten.com>2008-02-26 00:14:50 -0800
committerDavid Schleef <ds@ginger.bigkitten.com>2008-02-26 00:14:50 -0800
commit50078367429f4c67e003b43492905f69a5b4a1d3 (patch)
tree7222902a12f80d1bd60d6f45020701e8e5f23e7f /liboil
parent48c8d7743d47a8e5e181865ece98957216b1f7e1 (diff)
Build fixes on ARM. Patch from Robert Schwebel <r.schwebel@pengutronix.de>
Diffstat (limited to 'liboil')
-rw-r--r--liboil/liboilcpu-arm.c35
1 files changed, 30 insertions, 5 deletions
diff --git a/liboil/liboilcpu-arm.c b/liboil/liboilcpu-arm.c
index 12ac4c0..b180487 100644
--- a/liboil/liboilcpu-arm.c
+++ b/liboil/liboilcpu-arm.c
@@ -60,10 +60,6 @@
*
*/
-static void oil_cpu_detect_arch(void);
-
-static unsigned long oil_cpu_flags;
-
extern unsigned long (*_oil_profile_stamp)(void);
#if defined(__arm__)
@@ -126,6 +122,35 @@ oil_cpu_arm_getflags_cpuinfo (char *cpuinfo)
free (cpuinfo_flags);
}
+static char *
+get_proc_cpuinfo (void)
+{
+ char *cpuinfo;
+ int fd;
+ int n;
+
+ cpuinfo = malloc(4096);
+ if (cpuinfo == NULL) return NULL;
+
+ fd = open("/proc/cpuinfo", O_RDONLY);
+ if (fd < 0) {
+ free (cpuinfo);
+ return NULL;
+ }
+
+ n = read(fd, cpuinfo, 4095);
+ if (n < 0) {
+ free (cpuinfo);
+ close (fd);
+ return NULL;
+ }
+ cpuinfo[n] = 0;
+
+ close (fd);
+
+ return cpuinfo;
+}
+
static void
oil_cpu_detect_arm(void)
{
@@ -249,7 +274,7 @@ oil_cpu_detect_mips(void)
}
#endif
-static void
+void
oil_cpu_detect_arch(void)
{
#if defined(__i386__) || defined(__amd64__)