Mail Archives: cygwin/2006/01/20/06:45:40
Thanks Dave your reply answered the question where they declared. But
how does these variables get the segment address of data and bss for a
running process to make a copy to the child process? This is the
questions which is a puzzle to me.
Thanks in Advance for your answer
Sudha
On 1/20/06, Dave Korn <dave DOT korn AT artimi DOT com> wrote:
> Sudhahar wrote:
>
> > from parent process to child process. After trying to find where the
> > data_start and data_end get the address of running process data and
> > bss segment, I ended up with a declaration of
> >
> > extern char _data_start__, _data_end__, _bss_start__, _bss_end__; in
> > file Winsup.h
> >
> > There is no other place where _data_start__, _data_end__,
> > _bss_start__, _bss_end__ are defined they act as external symbols for
> > cygwin.
> >
> > Can anyone through some light on where these variables are actually
> > declared and how they get the running process segment addresses.
>
> They are generated by the linker. Take a look at the linker script by
> running "ld --verbose".
>
> dk AT espanola /usr/build/src-binutils/bfd> ld --verbose | grep _start
> to include this between __data_start__ and __data_end__, but that
> __data_start__ = . ;
> __bss_start__ = . ;
> ___crt_xc_start__ = . ;
> ___crt_xi_start__ = . ;
> ___crt_xl_start__ = . ;
> ___crt_xp_start__ = . ;
> ___crt_xt_start__ = . ;
> ___tls_start__ = . ;
> dk AT espanola /usr/build/src-binutils/bfd> ld --verbose | grep _end
> to include this between __data_start__ and __data_end__, but that
> ".data_cygwin_nocopy" and explictly include it after __data_end__. */
> __data_end__ = . ;
> __bss_end__ = . ;
> ___crt_xc_end__ = . ;
> ___crt_xi_end__ = . ;
> /* ___crt_xl_end__ is defined in the TLS Directory support code */
> ___crt_xp_end__ = . ;
> ___crt_xt_end__ = . ;
> ___tls_end__ = . ;
> PROVIDE ( _end = .);
> __end__ = .;
> dk AT espanola /usr/build/src-binutils/bfd>
>
>
> cheers,
> DaveK
> --
> Can't think of a witty .sigline today....
>
>
> --
> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
> Problem reports: http://cygwin.com/problems.html
> Documentation: http://cygwin.com/docs.html
> FAQ: http://cygwin.com/faq/
>
>
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -