Re: Make FIO for Android

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Anush,

Yes, you are right.  I'd forgot I'd fixed that in my local tree.  The
following patch should fix that issue, but as I said I still get the
unresolved inline asm problem.

 -- Aaron


diff --git a/arch/arch-x86.h b/arch/arch-x86.h
index 8eea538..69cf60b 100644
--- a/arch/arch-x86.h
+++ b/arch/arch-x86.h
@@ -20,6 +20,12 @@
 #define __NR_sys_vmsplice      316
 #endif

+#ifndef __NR_shmget
+#define __NR_shmget 29
+#define __NR_shmat 30
+#define __NR_shmctl 31
+#endif
+
 #define        FIO_HUGE_PAGE           4194304

 #define nop            __asm__ __volatile__("rep;nop": : :"memory")



On 12 April 2013 13:17, Krishnamurthy, Anush
<anush.krishnamurthy@xxxxxxxxx> wrote:
> Thanks Aaron -
>
> I tried doing that and I got stuck at gettime_thread.c which refers to shmctl and shmat etc. it is looking for __NR_shmat and not able to find it. Basically native android source does not have shared memory in any of the headers.
>
> Regards
> Anush Krishnamurthy
>
>
> On Apr 11, 2013, at 7:49 PM, "Aaron Carroll" <xaaronc@xxxxxxxxx> wrote:
>
>> On 12 April 2013 11:20, Krishnamurthy, Anush
>> <anush.krishnamurthy@xxxxxxxxx> wrote:
>>> Thanks Aaron. I will give this a go. I also wanted to know if you ever tried
>>> compiling this in the native source. I mean the whole android source.
>>
>> I have not.  Others have tried creating Android.mk make files for
>> this, but IIRC they bypass the fio build system and specify everything
>> manually. If you know how to do such a thing without creating a
>> maintenance nightmare, I think that would be well received.
>>
>> Thanks,
>>  -- Aaron
>>
>>
>>>
>>> Regards
>>> Anush Krishnamurthy
>>>
>>>
>>> On Apr 11, 2013, at 6:17 PM, "Aaron Carroll" <xaaronc@xxxxxxxxx> wrote:
>>>
>>> Hi Anush,
>>>
>>> On 12 April 2013 03:57, Krishnamurthy, Anush <anush.krishnamurthy@xxxxxxxxx>
>>> wrote:
>>>>
>>>> I would like to make FIO for Android source. I tried Aaron's post and ran
>>>> into problems. I also tried making a Android.mk and got into undeclared
>>>> values for __NR_shm*
>>>>
>>>> When I make here is what i get..
>>>>
>>>> akrish9@akrish9-ws:~/setup/fio [master] $ make V=1 UNAME=Android
>>>> cross_prefix=~/android-ndk-r8e/toolchains/x86-4.6/prebuilt/linux-x86_64/bin/i686-linux-android-
>>>
>>>
>>> This is not the problem here, but the preferred way to invoke cross compiles
>>> is now:
>>>  make CROSS_COMPILE=/path/to/bin/i686-linux-android-
>>> Uname is deprecated.
>>>
>>> Now, the issue is that you can't run the Android toolchains directly out of
>>> the NDK, because the lib paths are wrong.  What you need to do is build a
>>> standalone toolchain with ./build/tools/make-standalone-toolchain.sh from
>>> the NDK root dir. The script has a bunch of args to specify the versions and
>>> archs.  That will generate a tar of a standalone toolchain: untar is
>>> somewhere and point CROSS_COMPILE to there, and it should build.
>>>
>>> Except that if you're targeting x86, it doesn't, due to a previously
>>> reported issue with some inline asm:
>>>  arch/arch-x86-common.h:9:2: error: inconsistent operand constraints in an
>>> 'asm'
>>>
>>> I'm not sure what's going on there, but I don't speak x86 asm.
>>>
>>>
>>>
>>> Cheers,
>>>   -- Aaron
>>>
>>>
>>>
>>>
>>>
>>>> Makefile:12: config-host.mak: No such file or directory
>>>> Running configure for you...
>>>> compile test failed
>>>> Configure failed, check config.log and/or the above output
>>>>
>>>>
>>>>
>>>> when i try to configure i get this..
>>>>
>>>> akrish9@akrish9-ws:~/setup/fio [master] $ ./configure --cpu=i386
>>>> --extra-cflags="-D__ANDROID__"
>>>> --cc=/home/akrish9/android-ndk-r8e/toolchains/x86-4.6/prebuilt/linux-x86_64/i686-linux-android/bin/gcc
>>>> compile test failed
>>>> Configure failed, check config.log and/or the above output
>>>> akrish9@akrish9-ws:~/setup/fio [master] $ cat config.log
>>>> # FIO configure log Thu Apr 11 10:46:48 MST 2013
>>>> # Configured with: './configure' '--cpu=i386'
>>>> '--extra-cflags=-D__ANDROID__'
>>>> '--cc=/home/akrish9/android-ndk-r8e/toolchains/x86-4.6/prebuilt/linux-x86_64/i686-linux-android/bin/gcc'
>>>> #
>>>> gcc -D_GNU_SOURCE -include config-host.h -D__ANDROID__ -c -o
>>>> /tmp/fio-conf--4681-.o /tmp/fio-conf--4681-.c
>>>> Compiling test case cross
>>>>
>>>>
>>>> Any help here is appreciated.
>>>>
>>>> Thanks,
>>>> Anush Krishnamurthy
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe fio" in
>>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>>
>>>
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux