This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Linker script parsing Windows vs Linux

Hello,

I'm current using GNU Tools for Arm Embedded Processors 7-2018-q2-update, with MINGW bash as my shell on Windows 10. I have created a linker script that works on Linux when I invoke the linker for a CORTEX-M3. It places certain libraries in RAM vs flash as desired. 

If I use the same tools (version, etc) on Windows, I get a very different ELF file, with libraries that should be placed in RAM, being placed in flash. Its like its not parsing the directives in the .lds file correctly on windows. I'm not sure if its a syntax issue in the file or what yet.

Any help would be appreciated.

Here is a snippet of the linker script to put the necessary libs in RAM:

/* Ordinary sections */
.text ALIGN(32): {
*/libinnobase.a:*(.text* .rodata*)
*/libwifi.a:sta.o(.text* .rodata*)
*/libwifi.a:media.o(.text* .rodata*)
*/libwifi.a:bb.o(.text* .rodata*)
*/liblwip2.a:*.o(.text* .rodata*)
*(.text.irq*) *(.rodata.irq*)
*(.text.cop*) *(.rodata.cop*)
*(.text.pr*)
. = ALIGN(32);
} > ram

Thank you.