This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
>-----Original Message----- >From: Jibin Han [mailto:jihan@eece.unm.edu] >Sent: 19 November 2001 02:18 >To: crossgcc@sources.redhat.com >Subject: gnu c libc and linux:how do they hook up? > > >in gnu c stdio.h, there defines a stdout which is a file pointer. then in >Linux how does this file pointer hook with Linux file system? could you >pint me the doc of source-code-level explaination about it? How does it >implement? then how about this hooking up issue in Solaris or vxWorks? It is always the job of the CRT startup code, which is part of the libc, to set up any run-time environment needed. I've not really explored the glibc code, but there may be some .info files about it, or you might need to configure the source code and then look through the various crt?.s files to get an idea how they work. Solaris will work pretty much the same way as Linux, and in outline, the startup code will take file descriptors 0, 1 and 2 (which are opened by the shell before it exec's the application) and links them to stdio file stream buffers, then place pointers to these in the named variables. In VxWorks there is no startup code for the application, but the dynamic linking takes care of it: the OS itself initialises the streams, and the stdin, stdout and stderr variables are task-specific variables that are created automatically (presumably in the task init code) - see sections 3.3.2 and 3.4.2 of the VxWorks programmers guide (numbering relates to T2/vxw 5.4, but is probably the same in earlier versions). DaveK -- Burn your ID card! http://www.optional-identity.org.uk/ Help support the campaign, copy this into your .sig! ********************************************************************** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This footnote also confirms that this email message has been swept by MIMEsweeper for the presence of computer viruses. www.mimesweeper.com ********************************************************************** ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |