<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 11"><meta name="Originator" content="Microsoft Word 11"><link rel="File-List" href="file:///C:%5CDOCUME%7E1%5Cxur%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"><style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:ËÎÌå;
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-alt:SimSun;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
        {font-family:"\@ËÎÌå";
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        mso-pagination:none;
        font-size:10.5pt;
        mso-bidi-font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:ËÎÌå;
        mso-font-kerning:1.0pt;}
 /* Page Definitions */
 @page
        {mso-page-border-surround-header:no;
        mso-page-border-surround-footer:no;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;
        mso-header-margin:36.0pt;
        mso-footer-margin:36.0pt;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style>

<p class="MsoNormal"><span lang="EN-US">libc_global_reent structure will take
1kb SRAM. This relic is too big for a system with only a few k sram. Though the
pointer to libc_reent is used in thread dispatch, it is not a must for thread
dispatch.</span></p>

<br><br><div class="gmail_quote">2008/5/8 ÑÖíµ <<a href="mailto:yanmiaobest@gmail.com">yanmiaobest@gmail.com</a>>:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi,<br>
<br>
I am trying to disable newlibc.c reentrant support. And Our goal is to<br>
defer as many things as possible to link time. To that end, newlibc.c<br>
should be splitted. bsp_libc_init(in bsppost.c) calls libc_init, which<br>
is defined in newlibc.c(in libcsupport directory). There are also some<br>
libc reentrant hooks defined in newlibc.c plus the libc_global_reent<br>
variable. So I create a new file newlibc_init.c in<br>
cpukit/libcsupport/src(of course need to modify the Makefile), which<br>
has only one function(libc_init, copied from newlibc.c), and a<br>
variable definition(libc_global_reent copied from newlibc.c), and I<br>
also move the definition of RTEMS_NEWLIB_EXTENSION  to confdefs.h,<br>
wrapped by CONFIGURE_DISABLE_NEWLIB_REENTRANCY macro. If you do not<br>
want newlibc reentrancy support, you define macro<br>
CONFIGURE_DISABLE_NWELIB_REENTRANCY in your application configuration<br>
file as before, and libc reentrant hooks will no be linked; If you<br>
need newlibc reentrancy code, you do nothing.  Is that OK?<br>
_______________________________________________<br>
rtems-users mailing list<br>
<a href="mailto:rtems-users@rtems.com">rtems-users@rtems.com</a><br>
<a href="http://rtems.rtems.org/mailman/listinfo/rtems-users" target="_blank">http://rtems.rtems.org/mailman/listinfo/rtems-users</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Thanks & Best Regards!<br><br>Ray, Xu