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