Re: Problem with linking static lib text into specific section

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
I have the following linker script

/* those linker changes are for Flash section */
#define SECTION_cliLib_tree(_region_, _vma_, _lma_)    \
	.cliLib_tree _vma_ : _lma_               	  	    \
    {                                                   \
    	FORCE_OUTPUT;\
    	KEEP(*( SORT (.ecos.cli.table.*)));				\
    }> _region_ 	

#define SECTION_cliLib_text(_region_, _vma_, _lma_)    \
	.cliLib_text _vma_ : _lma_               	  	    \
    {                                                   \
    	FORCE_OUTPUT;\
    	libMars-Cli.a (.text)                	        \
      	libMars-Cli.a *(.text.*)              	        \
      	libMars-Cli.a (.rodata)              	        \
        libMars-Cli.a *(.rodata.*)						\
    }> _region_ 	

#define SECTION_guiLib_text(_region_, _vma_, _lma_)    \
	.guiLib_text _vma_ : _lma_               	  	    \
    {                                                   \
    	FORCE_OUTPUT;\
    	KEEP(*( SORT (mars.syslog.table.*)));	\
        libMars-ATP-GUI.a (.text)                	        \
      	libMars-ATP-GUI.a *(.text.*)              	        \
      	libMars-ATP-GUI.a (.rodata)              	        \
        libMars-ATP-GUI.a *(.rodata.*)						\
    }> _region_ 	



SECTION_cliLib_tree - is fine and has the data in want.
SECTION_cliLib_text - is bad is also has the text & rodata that I want
to be in SECTION_guiLib_text.
SECTION_guiLib_text - is bad it has only the syslog table from KEEP(*(
SORT (mars.syslog.table.*)));

Please help
Elad











On Tue, Mar 6, 2012 at 12:36 PM, Elad Yosef <elad.yosef@xxxxxxxxx> wrote:
> Hi,
> Don't ask me how but somehow it works now
>
> The original ld file with your fix
>
> Thank you very much
>
> Elad
>
> On Tue, Mar 6, 2012 at 7:43 AM, Elad Yosef <elad.yosef@xxxxxxxxx> wrote:
>> Hi,
>> I checked that by increasing the ram region size and found that both
>> libs text and rodata is linked in the wrong place.
>> It is linked into the ram region and not into my section.
>>
>> Thanks
>>
>> Elad
>>
>> On Tue, Mar 6, 2012 at 12:17 AM, Ian Lance Taylor <iant@xxxxxxxxxx> wrote:
>>> Elad Yosef <elad.yosef@xxxxxxxxx> writes:
>>>
>>>> I have tried changing the exclude rule as suggested but still the same error.
>>>> Does my new section rules are O.K?
>>>
>>> Time to use the -M option to generate a map file to confirm that the
>>> data is going where you want it to.
>>>
>>> If your data is going where you want, and your memory region is
>>> overflowing, then you need to make your region larger or make your code
>>> smaller.
>>>
>>> Ian


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux