esp-idf/components/freertos
Ivan Grokhotkov 0535195983 freertos: fix TLS run-time address calculation
Since dd849ffc, _rodata_start label has been moved to a different
linker output section from where the TLS templates (.tdata, .tbss)
are located. Since link-time addresses of thread-local variables are
calculated relative to the section start address, this resulted in
incorrect calculation of THREADPTR/$tp registers.

Fix by introducing new linker label, _flash_rodata_start, which points
to the .flash.rodata output section where TLS variables are located,
and use it when calculating THREADPTR/$tp.

Also remove the hardcoded rodata section alignment for Xtensa targets.
Alignment of rodata can be affected by the user application, which is
the issue dd849ffc was fixing. To accommodate any possible alignment,
save it in a linker label (_flash_rodata_align) and then use when
calculating THREADPTR. Note that this is not required on RISC-V, since
this target doesn't use TPOFF.
2021-04-21 13:45:21 +02:00
..
include/freertos doc: Add notes that vTaskStartScheduler() is called during startup 2021-03-31 09:37:28 +11:00
port freertos: fix TLS run-time address calculation 2021-04-21 13:45:21 +02:00
test freertos: Add some comments about deleting tasks when using SMP 2021-04-13 03:40:10 +00:00
CMakeLists.txt freertos: add xQueueGenericReceive for backward compatibility 2020-11-27 19:08:42 +05:30
component.mk freertos: Add RISC-V port 2020-11-13 07:49:11 +11:00
croutine.c Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
event_groups.c freertos: fix errors reported by PVS-Studio 2021-02-11 03:15:04 +00:00
freertos_v8_compat.c freertos: add xQueueGenericReceive for backward compatibility 2020-11-27 19:08:42 +05:30
FreeRTOS-openocd.c freertos: fix defining uxTopUsedPriority for esp32s2beta 2019-10-29 16:38:48 +01:00
History.txt Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
Kconfig freertos: Use the standard assert() function for configASSERT 2021-03-03 10:26:57 +11:00
license.txt Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
linker.lf Merge branch 'bugfix/ldgen_ignore_nonexistent_archives_and_obj' into 'master' 2021-01-21 15:59:35 +08:00
list.c Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
queue.c Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
sdkconfig.rename freertos: always enable static allocation 2020-12-29 16:18:04 +01:00
stream_buffer.c freertos: merged freertos 10 kernel files into IDF 2020-10-13 23:52:03 +00:00
tasks.c freertos: Fix race condition returning incorrect TCB on unpinned tasks 2021-04-20 14:46:49 +10:00
timers.c Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00