X-Spam-Check-By: sourceware.org Message-ID: <43D5CAA8.264EB3E@dessent.net> Date: Mon, 23 Jan 2006 22:35:20 -0800 From: Brian Dessent MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Need information about data and bss segment address access in cygwin References: <43D0D06C DOT 3010906 AT hones DOT org DOT uk> <46ca01fa0601232209i54db2a6dg159b822e025da446 AT mail DOT gmail DOT com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Reply-To: cygwin AT cygwin DOT com Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Sudhahar wrote: > Thanks Cliff/Dave. I could not find the code where the dll data/bss > segments address are updated in cygwin. But in the fork code we are > doing a copy for all linked and loaded dlls data/bss segments by > giving the address as There is no code to update them. As the other replies have already said, they act like labels and are established by the linker via the linker script. When the program runs, they contain the address, that's it. The values in the per_process struct are filled in by the startup code in _cygwin_crt0_common.cc. > And also please let me know if there exist any document which gives > some idea about this. The 'ld' manual, section 3.5.3. Brian -- 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/