Page 1 of 1

.tbss section in ChibiOS

Posted: Thu Oct 24, 2013 5:03 pm
by alexlesuper
Hello,

I have mostly ported the ChibiOS application to Rowley Crossworks except for a few last things. Their user_libc.o needs to know where a particular section of memory called ".tbss" is. A google search tell me that this section is associated with the uninitialized thread variables section. Is that something that ChibiOS is aware of?

The exact error message I get during linking is:

Code: Select all

/usr/share/crossworks_for_arm_3.0/lib/libc_user_libc_v7m_t_le_eabi.a(user_libc.o): In function `__aeabi_read_tp':
user_libc.c:(.text.libc.__aeabi_read_tp+0x4): undefined reference to `__tbss_start__'


I have managed to force linking by doing a declaration __tbss_start__ = _bss_start_

Would you suggest a better way of going about this?

Thanks,

Alex

Re: .tbss section in ChibiOS

Posted: Thu Oct 24, 2013 7:27 pm
by Giovanni
Hi,

It is not something that ChibiOS requires or is aware of, it should be part of the generic integration effort with the toolchain. I don't know if it is correct to use the BSS section for TBSS, probably not because that symbol probably should be referring to a specific section. You should look at the rowley scatter files and see how it is used.

Giovanni