about header files used in score

Zhongjie zhurabbit at gmail.com
Sun Jun 14 19:00:17 UTC 2009


thanks for reply.
timespec is a POSIX.1b structure should be defined in time.h, but it seems
newlib defines it in sys/types.h, but I don't know why, so super core
included sys/types.h for this struct, I think we should use time.h instead
of sys/types.h


On Sun, Jun 14, 2009 at 6:39 AM, Joel Sherrill <joel.sherrill at oarcorp.com>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 compiler defines the fundamental C99 types.  Most of these appear to
> be
> are getting standard C99 types.  The obvious exceptions I see are
>
> + super core time is now available as struct timespec so
>  there are includes for that.
> + score/cpu/unix which is a port to a "synthetic" unix target
>  so is allowed to include anything.
> +Nothing in this set should include stdio.h.  I removed those.
>  Thanks for this one.
> + region.h was including stddef.h which was already included
>  by system.h so I removed that one.
>
> But stdint.h, stdbool.h, sys/types.h are ok.    I wouldn't be surprised
> if they are not needed in .c files because they are already included in
> .h files though.
>
> If you have specific cases and a patch for unnecessary includes,
> we are happy to merge them.
> I am guessing that <stdio.h> anywhere is a hint that someone
> had a debug printf and it can likely be removed or the printf
> converted to a printk.  But each case would have to be examined.
>
>
>  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
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20090615/123f55a2/attachment.html>


More information about the users mailing list