Adjustments in .tbss section

Severin Teona teona.severin9 at gmail.com
Wed Dec 16 11:51:52 UTC 2020


Hi again guys!

I have been trying to develop a small-sized DRuntime for 
microcontrollers during SAoC2020. My last update is here[1]. At 
the moment, I have managed to build a DRuntime that can be linked 
with a simple application (not using classes or anything), for 
TockOS[2], and using the D userland I developed this spring[3].

But, in the linking process, I get the following warnings, that I 
believe are the cause of the faults on the microcontroller when I 
actually run the application:

/home/tock/gcc-arm-none-eabi-9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: build/cortex-m4/cortex-m4.elf: section .tbss._D4core9exception6_storeG128v lma 0x8002dd28 adjusted to 0x8002dd30
/home/tock/gcc-arm-none-eabi-9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: build/cortex-m4/cortex-m4.elf: section .tbss._D4core6thread10threadbase10ThreadBase7sm_thisCQBtQBrQBnQBe lma 0x8002dd28 adjusted to 0x8002ddb0
/home/tock/gcc-arm-none-eabi-9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: build/cortex-m4/cortex-m4.elf: section .tbss._D2gc4impl12conservativeQw14bytesAllocatedm lma 0x8002dd28 adjusted to 0x8002ddb4
/home/tock/gcc-arm-none-eabi-9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: build/cortex-m4/cortex-m4.elf: section .tbss._D2gc4impl12conservativeQw14ConservativeGC12_inFinalizerb lma 0x8002dd28 adjusted to 0x8002ddbc
/home/tock/gcc-arm-none-eabi-9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: build/cortex-m4/cortex-m4.elf: section .tbss._D2rt7dwarfeh15ExceptionHeader5stackPSQBkQBkQBf lma 0x8002dd28 adjusted to 0x8002ddbd
/home/tock/gcc-arm-none-eabi-9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: build/cortex-m4/cortex-m4.elf: section .tbss._D2rt7dwarfeh15ExceptionHeader9ehstorageSQBnQBnQBi lma 0x8002dd28 adjusted to 0x8002ddc1
/home/tock/gcc-arm-none-eabi-9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: build/cortex-m4/cortex-m4.elf: section .tbss._D2rt8lifetime18__blkcache_storagePS4core6memory8BlkInfo_ lma 0x8002dd28 adjusted to 0x8002de31
/home/tock/gcc-arm-none-eabi-9-2020-q2-update/bin/../lib/gcc/arm-none-eabi/9.3.1/../../../../arm-none-eabi/bin/ld: build/cortex-m4/cortex-m4.elf: section .tbss._D2rt8lifetime12__nextBlkIdxi lma 0x8002dd28 adjusted to 0x8002de35

All the addresses are from the flash memory of the 
microcontroller, but I believe there are some problems with the 
memory alignment. The microcontroller I am using in running in 
Thumb mode (16-bit architecture).

Does anyone have any ideea what the cause might be? Or what 
compilation flag/option should I use to not get these warnings? I 
have build the DRuntime using the ldc-build-runtime tool and 
modifying the CMakeLists.txt file to compile and link only the 
modules I need (for now).

Thank you!

[1] : 
https://forum.dlang.org/post/xqiaphttdtbohfmwwppm@forum.dlang.org
[2] : https://www.tockos.org
[3] : https://github.com/DLang-IoT/libtock-d


More information about the Digitalmars-d-learn mailing list