Thomas Quinot wrote:
* Joel Sherrill <[EMAIL PROTECTED]>, 2005-11-16 :


RTEMS has networking functions but they are not available at this stage
during the build.


I am not sure I understand how this can happen (I am not familiar at all
with the RTEMS build process). If the network functions are available on
RTEMS, isn't it the case that corresponding header files should be
present as well? If so why aren't they available when you build the Ada
runtime library? If not how are these functions made available to
applications?

You build RTEMS proper after you build the toolset with which you will build it. So when you gcc, you only have access to .h files which are
properly associated with libc or libm.  Those are provided by newlib.
Headers files for networking, most tasking, and other functionality
is only available later when you build the OS.

To look at it another way, RTEMS doesn't use prebuilt binaries for the run-time libraries when building the tools. We start with a fresh slate every time we build gcc and bootstrap our way up. That way every object on the target is compiled by the same gcc.

This lets us get the full benefit of a newer and better gcc every time
we update.

this patch is needed to make *-rtems compile again.  OK to commit?


I'd first like to understand what exactly the situation is.

I hope the explanation above helps make it clearer.

FWIW the extern might be better stylistically outside the function.  The
function already has more than enough conditional compilation going on.

--joel

Reply via email to