This is the mail archive of the binutils@sourceware.org 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]
Other format: [Raw text]

No error for Linker Section Overlapping



Hi,

Following is my observation regarding the modified LMA assignment done
in the 
binutils 2.17:

Now whenever the VMAs of sections overlap, it is assumed that 
these are overlay sections. Different LMAs are assigned to them instead
of 
reporting any section overlapping error as done in previous versions of 
binutils. 

Following are the relevant lines from my linker script.The size of
".data" 
section is 0x334 bytes which is observed from the map file. So VMAs of
".data"
and ".bss" sections are overlapping.

////////////////////////////////////////////////////////////////////////
/////

.data 0x00FFFA10 : AT (_mdata)
	{
		_data = .;
		*(.data)
		*(.data.*)
		_edata = .;
	}
.gcc_exc :
	{
		*(.gcc_exc)
	}
.bss 0x00FFFA20 :
	{
		_bss = .;
		*(.bss)
		*(COMMON)
		_ebss = .;
		_end = .;
	}
////////////////////////////////////////////////////////////////////////
//////

The VMA overlapping error should have been generated.
Instead, ".bss" section which is a nonloadable section, is assigned a
LMA 
under the same assumption that ".data" and ".bss" are overlay sections. 
(LMA of .bss section) = (LMA of .data section) + (size of .data
section).

Following lines from the generated map file exhibits the same.

////////////////////////////////////////////////////////////////////////
/////

.data           0x00fffa10      0x334     load address 0x000007ba
                0x00fffa10                      _data = .
   .                 .                             .
   .                 .                             . 
   .                 .                             .
   
 *(.data.*)     0x00fffd44                  _edata = .

.gcc_exc
 *(.gcc_exc)

.bss            0x00fffa20      0x6        load address 0x00000aee
                0x00fffa20                  _bss = .
  .                 .                             .
  .                 .                             . 
  .                 .                             .
                  
////////////////////////////////////////////////////////////////////////
/////

What is the benefit of assigning distinct LMAs to the non-overlay
sections 
having overlapped VMAs? 

Is there any way to generate an overlapping error for
non-overlay/non-loadable
sections (such as .bss section),if there VMAs get overlapped?


Regards,
Deepen Mantri

KPIT Cummins InfoSystems Ltd.
Pune, India
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Free download of GNU based tool-chains for Renesas' SH, H8, R8C, M16C
and M32C Series. The following site also offers free technical support
to its users. Visit http://www.kpitgnutools.com for details. 
Latest versions of KPIT GNU tools were released on February 6, 2007.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


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