about header files used in score

Zhongjie zhurabbit at gmail.com
Sun Jun 14 18:16:42 UTC 2009


thanks for reply.
I am just beginning studying RTEMS, the newlib depends on a limited number
of low level functions.
In fact, we do not need any C library to build gcc as a cross complier, like
arm-elf-gcc, only enable the c
language. what I concerns is that some part of RTEMS should can be compiled
using those compiler.
Of course, with newlib support, RTEMS works well, it just a little confused
logically for a beginner like me.
as my understanding, it is a c library depends on a os, not a os depends a c
library.
I think we could define those types in rtems, then included by gcc and
newlib, but not use those types directly in
a c library header files. it will make the architecture more clearly.

Regards
Zhongjie
On Sun, Jun 14, 2009 at 6:01 AM, Chris Johns <chrisj at rtems.org> wrote:

> Zhongjie wrote:
>
>> Hi,
>> I don't know whether am I wrong, but I don't think it is right to uesd
>> header files like stdlib.h sys/types.h in the score?
>> logically, we should not use any c library in the score and bsp.
>> could any one tell me why?
>>
>>
> The C library is part of the C language, for example you need libc headers
> to build gcc as libc is used by the compiler. Looking at the list of headers
> I would say most are after standard type support to improve the portability
> of RTEMS. Having said this we do try to limit the scope but sometimes things
> creep in. If you see something specific that concerns you please raise it.
>
> RTEMS needs a working C compiler and supported libc to work. With gcc it
> knows about the RTEMS thread model and so does newlib the C library we use
> with gcc.
>
> Regards
> Chris
>
>  here is a list of some of those files, there are more in bsp code.
>> rtems/src/ratemonreportstatistics.c:#include <stdlib.h>
>> rtems/src/rtemsobjectgetclassinfo.c:#include <stdio.h>
>> rtems/include/rtems/rtems/types.h:#include <stdint.h>
>> rtems/include/rtems/rtems/object.h:#include <stdint.h>
>> rtems/include/rtems/rtems/region.h:#include <stddef.h>
>> score/cpu/sh/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/sh/rtems/score/types.h:#include <stdint.h>
>> score/cpu/c4x/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/c4x/rtems/score/types.h:#include <stdint.h>
>> score/cpu/arm/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/arm/rtems/score/types.h:#include <stdint.h>
>> score/cpu/avr/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/avr/rtems/score/types.h:#include <stdint.h>
>> score/cpu/bfin/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/bfin/rtems/score/types.h:#include <stdint.h>
>> score/cpu/i386/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/i386/rtems/score/types.h:#include <stdint.h>
>> score/cpu/m32c/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/m32c/rtems/score/types.h:#include <stdint.h>
>> score/cpu/m32c/context_init.c:#include <stdint.h>
>> score/cpu/m32r/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/m32r/rtems/score/types.h:#include <stdint.h>
>> score/cpu/m32r/context_init.c:#include <stdint.h>
>> score/cpu/m68k/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/m68k/rtems/score/types.h:#include <stdint.h>
>> score/cpu/lm32/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/lm32/rtems/score/types.h:#include <stdint.h>
>> score/cpu/mips/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/mips/rtems/score/types.h:#include <stdint.h>
>> score/cpu/unix/cpu.c:#include <stdio.h>
>> score/cpu/unix/cpu.c:#include <stdlib.h>
>> score/cpu/unix/cpu.c:#include <unistd.h>
>> score/cpu/unix/cpu.c:   * Avoid using the stdio section of the library.
>> score/cpu/unix/cpu.c:         *  We avoid using the stdio section of the
>> library.
>> score/cpu/unix/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/unix/rtems/score/types.h:#include <stdint.h>
>> score/cpu/h8300/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/h8300/rtems/score/types.h:#include <stdint.h>
>> score/cpu/nios2/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/nios2/rtems/score/types.h:#include <stdint.h>
>> score/cpu/sparc/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/sparc/rtems/score/types.h:#include <stdint.h>
>> score/cpu/no_cpu/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/no_cpu/rtems/score/types.h:#include <stdint.h>
>> score/cpu/powerpc/rtems/score/types.h:#include <stdbool.h>
>> score/cpu/powerpc/rtems/score/types.h:#include <stdint.h>
>> score/cpu/powerpc/rtems/powerpc/registers.h:#include <stdint.h>
>> score/src/objectgetnameasstring.c:#include <stdlib.h>
>> score/src/objectgetnameasstring.c:#include <stdio.h>
>> score/src/timespecdivide.c:#include <stdio.h>
>> score/src/objectsetname.c:#include <stdlib.h>
>> score/src/objectsetname.c:#include <stdio.h>
>> score/src/heapwalk.c:#include <stdlib.h> /* abort */
>> score/src/heapwalk.c:#include <stdio.h>
>> score/src/ts64divide.c:#include <stdio.h>
>> score/include/rtems/score/timespec.h:#include <stdint.h> /* uint32_t */
>> score/include/rtems/system.h:#include <stddef.h>
>> score/include/rtems/system.h:#include <stdint.h>
>> sapi/src/posixapi.c:#include <sys/types.h>
>> sapi/src/itronapi.c:#include <sys/types.h>
>> sapi/include/confdefs.h:  #include <sys/types.h>
>> score/cpu/unix/cpu.c:#include <sys/types.h>
>> score/src/ts64lessthan.c:#include <sys/types.h>
>> score/src/timespectoticks.c:#include <sys/types.h>
>> score/src/timespecdivide.c:#include <sys/types.h>
>> score/src/timespecdividebyinteger.c:#include <sys/types.h>
>> score/src/ts64getseconds.c:#include <sys/types.h>
>> score/src/ts64getnanoseconds.c:#include <sys/types.h>
>> score/src/timespecgreaterthan.c:#include <sys/types.h>
>> score/src/timespecisvalid.c:#include <sys/types.h>
>> score/src/ts64equalto.c:#include <sys/types.h>
>> score/src/timespecsubtract.c:#include <sys/types.h>
>> score/src/ts64addto.c:#include <sys/types.h>
>> score/src/ts64set.c:#include <sys/types.h>
>> score/src/timespeclessthan.c:#include <sys/types.h>
>> score/src/timespecaddto.c:#include <sys/types.h>
>> score/src/ts64toticks.c:#include <sys/types.h>
>> score/src/ts64dividebyinteger.c:#include <sys/types.h>
>> score/src/ts64subtract.c:#include <sys/types.h>
>> score/src/ts64totimespec.c:#include <sys/types.h>
>> score/src/ts64divide.c:#include <sys/types.h>
>> score/src/ts64greaterthan.c:#include <sys/types.h>
>> score/src/ts64settozero.c:#include <sys/types.h>
>>
>> BR.
>> Zhongjie
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> rtems-users mailing list
>> rtems-users at rtems.org
>> http://www.rtems.org/mailman/listinfo/rtems-users
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20090615/dcf56029/attachment.html>


More information about the users mailing list