EmbDev.net

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
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
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
useful
not useful
Ok; thanks.  Time to write more startup code :-)

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.