I encounter a problem that use clang/libc++/libc++abi only to build the whole system(As i remeber gcc should be ok).

In firefox, there is a system_wrapper header include sched.h, but in hunspell codes, calloc and free was redefined, so there is a conflicts here.
for example, in "extensions/spellcheck/hunspell/src/hunspell_alloc_hooks.h"
#define calloc(count, size) HunspellAllocator::CountingCalloc(count, size)

It's not a big issue and can be fixed in firefox.

but still feel strange that these declarations exists in sched.h and also a little bit conflict with common sense.

Please consider it.
 
------------------ Original ------------------
Date:  Fri, Oct 31, 2014 11:24 AM
To:  "musl"<musl@lists.openwall.com>;
Subject:  Re: [musl] the prototype decl of memcpy/memcmp/calloc/free shouldnot in sched.h
 
On Fri, Oct 31, 2014 at 11:03:35AM +0800, 黄建忠 wrote:
> Hi, there,
>
> sched.h in musl should not contains the prototype declarations of "memcpy/memcmp/calloc/free" func.
>
> memcpy/memcmp already in string.h
> calloc/free already in stdlib.h
>
> Any reason they should exist in sched.h?

They're present only under _GNU_SOURCE mode, and the reason is that
musl's CPU_* macros for working with cpu sets for affinity use these
functions directly rather than having additional exported symbols in a
protected namespace to do the work. Is this approach causing a problem
for you?

Rich