On 3/09/2013, at 5:53 PM, Jakub Jelinek wrote:
> On Tue, Sep 03, 2013 at 09:25:31AM +0400, Alexander Ivchenko wrote:
>> Several builds are broken after r201838.
>
> What targets actually support bionic? If it is just arm, i?86/x86_64
> and perhaps aarch64 and nothing else, I'd like to question the way where
> you enforce all the
> # Add Android userspace support to Linux targets.
> case $target in
> *linux*)
> tm_p_file="${tm_p_file} linux-protos.h"
> tmake_file="${tmake_file} t-linux-android"
> tm_file="$tm_file linux-android.h"
> extra_options="$extra_options linux-android.opt"
> extra_objs="$extra_objs linux-android.o"
> ;;
> esac
> stuff onto all Linux targets, without actually testing all of them.
> Wouldn't it be much better not to support Android in any way
> in config/linux.h (say at most #define TARGET_HAS_BIONIC 0 there,
> #ifdef HAVE_GNU_INDIRECT_FUNCTION
> #define TARGET_LIBC_HAS_FUNCTION hook_bool*true
> #endif
> etc.), and append the android stuff only to targets which you
> support, not before the target specific snippets in config.gcc,
> but after those (so linux-android.h, etc. come last, not first)?
Jakub,
Nominal handling of Bionic by all *linux* targets is my fault, and it seemed
like a good thing at the time. With several iterations of improvements laid on
top of this initial decision it now becoming a mess. I'm thinking along
similar lines as you to restrict Bionic/Android handling only to targets that
actually support it.
As Alexander said in his email, this rework should be done as a separate patch.
Thanks,
--
Maxim Kuvyrkov
www.kugelworks.com