building multilibs broken

Dave Murphy wintermute2k4@ntlworld.com
Thu May 10 05:12:00 GMT 2007


Michael Ambrus wrote:
> Hi Dave,
> I have no immediate solution for your problem but some pointers that
> might be helpful.
>
> In the /newlib/libc/misc/init.c file you have #ifdef
> HAVE_INITFINI_ARRAY that to me indicates it must be involved in your
> problem.
Yes, that's definitely what the problem is - HAVE_INITFINI_ARRAY is not 
defined during the build of the thumb libraries.

>
> I've just checked with a recent build of a multi-lib target of mine
> and I can verify that there are indeed several targ-include
> directories in the build (one for each multilib library). Each of them
> has it's own newlib.h and I figure that the one your -isystem is
> currently pointing out is the one you need to check. In my case there
> were 27 newlib.h which were all identical.
I did a bit more digging and found much the same thing after a 
successful build, many identical copies of newlib.h.

It appears that the -isystem path is identical for all iterations of 
multilib and points to the top level newlib target build directory which 
does not yet have the targ-include directory populated when building the 
thumb libraries. Unfortunately I don't currently understand the build 
system well enough to determine where and when the targ-include 
directory is being created and filled Would anyone have any pointers 
where I need to be looking?

I've found the stmp-targ-inlcude target in newlib/Makefile.in which 
seems to be responsible for creating & populating targ-include. It looks 
like this file is used for all multilib directories though so I'm a bit 
confused where to go next.

Dave



More information about the Newlib mailing list