[LTP] 回复：[PATCH v1] include/mk/env_post.mk: enable __ANDROID__ definition for Android build

=?unknown-8bit?b?6Ziu5q2j5pe6?=
2019-04-23T17:28:57Z

Hi Petr,

-------- Original Message --------
From: Petr Vorel
Sent: Mon, 22 Apr 2019 00:10:30 +0200
To: Zhengwang Ruan
Cc: Sandeep Patil, Ltp, Steve Muckle
Subject: Re: [LTP] 回复：[PATCH v1] include/mk/env_post.mk : enable
__ANDROID__ definition for Android build
> Hi Sandeep, Zhengwang,
>
>>> I don't know why autotools fails preadv and pwritev detection with AC_CHECK_FUNCS.
>>> I considered it as problem of my setup, but maybe it's an autotools bug.
>> I also encountered this issue, but I temporarily walked around it by
>> applying the following patch.
>> ==================
>> $ git diff testcases/
>> diff --git a/testcases/commands/ldd/datafiles/Makefile
>> b/testcases/commands/ldd/datafiles/Makefile
>> index d8bcf5c..74fbe50 100644
>> --- a/testcases/commands/ldd/datafiles/Makefile
>> +++ b/testcases/commands/ldd/datafiles/Makefile
>> @@ -30,7 +30,7 @@ CLEAN_TARGETS         += *.obj $(LDD_SO_FILES)
>>         $(CC) $(CFLAGS) -shared -o $@ $^
>>  lddfile.out: main.o $(LDD_SO_FILES)
>> -       $(CC) $(CFLAGS) -O -o $@ $?
>> +       $(CC) $(CFLAGS) $(LDFLAGS) -O -o $@ $?
> What is this change for?

This is a really long story. In my build, I need to use '-nostdlib
/ndk/path/to/crtend_android.o /ndk/path/to/crtbegin_dynamic.o' as linker
arguments to cross-compile, and I have to put these arguments into
LDFLAGS since there were other errors occurred on linking *.o to
executable if I put them into CFLAGS.

Right here, lddfile.out is an executable and obviously needed to be
linked, therefore LDFLAGS must be required in my case.

Regards,

Zhengwang

>
>>  INSTALL_DIR            := testcases/data/ldd01
>> diff --git a/testcases/kernel/syscalls/Makefile
>> b/testcases/kernel/syscalls/Makefile
>> index 45a00cf..27c2e7a 100644
>> --- a/testcases/kernel/syscalls/Makefile
>> +++ b/testcases/kernel/syscalls/Makefile
>> @@ -43,6 +43,8 @@ FILTER_OUT_DIRS       += \
>>         sched_getaffinity sched_setaffinity sendmsg setgroups setns sighold
>> \
>>         sigrelse sigsuspend sigtimedwait sigwait sigwaitinfo stime \
>>         setdomainname sethostname symlinkat ulimit ustat vfork vhangup
>> vmsplice
>> +
>> +FILTER_OUT_DIRS += preadv pwritev
> Yes, that fixes build. But manually disabling features in config.h enables these
> tests to be build.
>
> Kind regards,
> Petr
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linux.it/pipermail/ltp/attachments/20190424/187172f2/attachment.html>