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

Looking for a way to not place any static data in BSS section

Note: This was originally posted on 2nd October 2012 at http://forums.arm.com

The ARM compiler is very strict (and formidable) at placing zero initialized or uninitialized static data > 8 bytes into the BSS section to save space in the image.  I have a use case where I do not want ANY static data in BSS.  I want all of it to go into RO/RW-DATA sections only. 

I've scoured the web looking for something similar or equivalent to the GNU C compiler's -fno-zero-initialized-in-bss option for RVCT, but cannot find anything.  I'm compiling with DS-5. 

Does anyone know if there is a way to compile without placing any static data into the BSS section?  Placing static data into a BSS section is an optimization, and it's only natural that you should be able to disable it.

Thanks,
Meiyo
Parents
  • Note: This was originally posted on 3rd October 2012 at http://forums.arm.com

    Hi Sasa,

    Thanks for your response.  I am aware that you are able to use the scatter loading procedure to place various sections like ZI and RW data in the same loadable region, but this is not quite what I am looking for.

    My problem exists because the .bss sections have a filesize of 0 bytes.  For my use case I need the static data to actually occupy space in the executable.  The only  way to do this seems to be to have the static data in the data section and not bss.

    I'm looking for any way to get around this optimization.  Being able to disable it is ideal, since it's nothing more than space optimization, but it's seeming less and less likely that this is supported for some reason. 

    Thanks again,
    Meiyo
Reply
  • Note: This was originally posted on 3rd October 2012 at http://forums.arm.com

    Hi Sasa,

    Thanks for your response.  I am aware that you are able to use the scatter loading procedure to place various sections like ZI and RW data in the same loadable region, but this is not quite what I am looking for.

    My problem exists because the .bss sections have a filesize of 0 bytes.  For my use case I need the static data to actually occupy space in the executable.  The only  way to do this seems to be to have the static data in the data section and not bss.

    I'm looking for any way to get around this optimization.  Being able to disable it is ideal, since it's nothing more than space optimization, but it's seeming less and less likely that this is supported for some reason. 

    Thanks again,
    Meiyo
Children
No data