- To: Ian Lance Taylor <iant@xxxxxxxxxx>
- Subject: Re: Problem with linking static lib text into specific section
- From: Elad Yosef <elad.yosef@xxxxxxxxx>
- Date: Tue, 29 May 2012 12:40:10 +0300
- Cc: gcc-help@xxxxxxxxxxx
- Comment: DKIM? See http://www.dkim.org
- Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
- In-reply-to: <CAOFa9c1nMRy-K=NyYOiS8jJPFPkZrKUPw8ZY2OMb8e=wP9_UyQ@mail.gmail.com>
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
[Linux C Programming]
[Linux Kernel]
[eCos]
[Fedora Development]
[Fedora Announce]
[Autoconf]
[The DWARVES Debugging Tools]
[Yosemite Campsites]
[Yosemite News]
[Linux GCC]