This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: linker script question


> From: Nick Papadonis <npapadon@yahoo.com>
> Date: 28 Mar 2001 02:45:56 -0500

> Hi.  Quick question that might help me resolve a possible bug in
> binutils.
> 
> In the following linker script snippit:
> 
> 	.data : 
> 	{ 
> 		_sdata = . ;
> 		*(.data) 
> 	} > ram
> 
> 
> Can I assume, _sdata becomes a symbol and is initialized with an
> unsigned integer value of the memory location  at .data?  

Yes.  That is, the value of the symbol should be equal to the start of
the ".data" section.

> Should _sdata be a symbol located at .data and assigned nothing?

It should be equal to ".data+0".  All symbols have some value.  It
should not be '*ABS*+0', which is the location zero, unless the linker
knows this in some other way.

> 'ld' is apparently doing the later.  I don't think this is correct.

I'm pretty sure this works.  Many linker scripts use this construction.

-- 
- Geoffrey Keating <geoffk@geoffk.org>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]