Forum: ARM programming with GCC/GNU tools arm-none-eabi-gcc displaces zero-valued .data into .bss

von James C. (jamesc)

Attached files:

Rate this post
0 useful
not useful
I'm using a fairly current yargarto on a slightly older MacOS.  Specific 
details should be extractable from output.sh.

As I understand the distinction between linker sections .data and .bss:
- initialised data goes in .data
- uninitialised data goes in .bss
- data that goes in .bss is not guaranteed to be zero-valued

I think that my test shows that this version of gcc is putting:
- non-zero valued data in .data
- zero-valued data in .bss

Do people think that this is a fault?

von Jörg W. (dl8dtl) (Moderator)

Rate this post
1 useful
not useful
James C. wrote:

> - data that goes in .bss is not guaranteed to be zero-valued

No.  Data in .bss are supposed to be zeroed out at startup by the
run-time startup code.  .data is meant for data being initialized
to non-zero values.  On microcontrollers, this is typically done
by copying over their initial values from flash (again, by the
run-time startup code).

von James C. (jamesc)

Rate this post
0 useful
not useful
Ok; thanks.  Time to write more startup code :-)


Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.