zephyr/kernel
Daniel Flodin 746c59c82a arch: kernel: lib: toolchain: Standardize TLS keyword
Up until now, the `__thread` keyword has been used for declaring
variables as Thread local storage. However, `__thread` is a GNU
specific keyword which thus limits compatibility with other
toolchains (for instance IAR).

This PR intoduces a new macro `Z_THREAD_LOCAL` which expands to the
corresponding C11, C23 or C++11 standard keyword based on the standard
that is specified during compilation, else it uses the old `__thread`
keyword.

Signed-off-by: Daniel Flodin <daniel.flodin@iar.com>
2024-09-23 10:01:48 +02:00
..
include arch: add interface to dump privileged stack in coredump 2024-09-21 11:29:39 +02:00
paging kernel: mm: rename z_num_pagefaults_get to k_mem_num_* 2024-06-12 21:13:26 -04:00
CMakeLists.txt lib c/cpp: Move .ctor .init_array handling from C++ to kernel 2024-06-25 19:14:37 -04:00
Kconfig init: introduce soc and board hooks 2024-09-09 10:07:33 +02:00
Kconfig.device libc: common: Fix init hang issue 2024-06-26 13:07:02 -04:00
Kconfig.init init: enhance kconfig docs for custom hooks 2024-09-20 13:15:31 +02:00
Kconfig.mem_domain kconfig: replace known integer constants with variables 2024-07-27 20:49:15 +03:00
Kconfig.obj_core kernel: reorg Kconfigs and split them 2024-03-06 19:27:28 -05:00
Kconfig.smp kernel: remove `CONFIG_MP_NUM_CPUS` 2024-09-19 18:28:37 +01:00
Kconfig.vm kernel: mmu: support for on-demand mappings 2024-08-26 17:25:41 -04:00
atomic_c.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
banner.c kernel: banner: Add option to clear screen on boot 2024-06-13 20:30:14 -04:00
busy_wait.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
compiler_stack_protect.c arch: kernel: lib: toolchain: Standardize TLS keyword 2024-09-23 10:01:48 +02:00
condvar.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
cpu_mask.c kernel: Simplify k_thread_cpu_pin() 2024-09-20 09:02:38 +02:00
device.c device_dt_metadata: handle dt_meta being NULL 2024-08-12 15:54:22 +02:00
dynamic.c kernel: fix typo 2024-07-08 15:51:37 +02:00
dynamic_disabled.c kernel: dynamic: declare dynamic stubs when disabled 2023-07-24 12:59:43 -04:00
errno.c arch: kernel: lib: toolchain: Standardize TLS keyword 2024-09-23 10:01:48 +02:00
events.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
fatal.c kernel: fatal: Fix NO_OPTIMIZATIONS build 2024-08-07 19:03:40 -04:00
float.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
futex.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
idle.c pm: Move z_pm_save_idle_exit to pm subsys 2024-05-27 02:10:03 -07:00
init.c arch: kernel: lib: toolchain: Standardize TLS keyword 2024-09-23 10:01:48 +02:00
init_static.c lib c/cpp: Move .ctor .init_array handling from C++ to kernel 2024-06-25 19:14:37 -04:00
ipi.c kernel: Add CONFIG_ARCH_HAS_DIRECTED_IPIS 2024-06-04 22:35:54 -04:00
irq_offload.c kernel: add closing comments to config endifs 2024-03-25 18:03:31 -04:00
kheap.c tracing: add k_realloc trace 2024-05-28 17:55:12 +02:00
mailbox.c kernel: Clean up mailbox async msg configuration 2024-04-09 11:05:55 +02:00
main_weak.c kernel: Switch main return type from void to int 2023-04-14 07:49:41 +09:00
mem_domain.c coding guidelines: comply with MISRA Rule 12.1. 2024-05-12 13:37:27 -04:00
mem_slab.c kernel: mem_slab: only define slab_ptr_is_good with assert enabled 2024-06-10 17:46:10 +01:00
mempool.c kernel: avoided increments/decrements with side effects 2024-06-14 19:19:29 +02:00
mmu.c kernel: mmu: install demand mappings for the on-demand linker sections 2024-09-10 17:17:30 -04:00
msg_q.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
mutex.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
nothread.c kernel: move nothread support to own file 2024-04-06 14:22:08 +03:00
obj_core.c kernel: reduce `k_spin_unlock` calls using `if-else if-else` structure 2024-07-27 20:48:07 +03:00
pipes.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
poll.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
priority_queues.c kernel: priority queues: declare as static inlines 2024-04-22 16:40:11 -04:00
queue.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
sched.c doc: kernel/arch: fix some wrong doxygen references 2024-09-17 05:24:09 -04:00
sem.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
smp.c kernel: Relax loop in z_smp_global_lock() 2024-05-22 21:35:06 -04:00
spinlock_validate.c kernel/spinlock: Fix SPIN_VALIDATE in ISRs 2024-05-02 13:55:03 -04:00
stack.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
system_work_q.c kernel: system_work_q: Mark queue thread as essential 2024-04-25 21:40:24 +02:00
thread.c style: kernel: remove unnecessary `return` statements 2024-09-20 11:06:55 +02:00
thread_monitor.c style: kernel: comply with MISRA C:2012 Rule 15.6 2024-09-11 07:40:35 -04:00
timeout.c kernel: fix typo 2024-07-08 15:51:37 +02:00
timer.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
timeslicing.c kernel: Add CONFIG_IPI_OPTIMIZE 2024-06-04 22:35:54 -04:00
usage.c kernel: Remove duplicate execution_cycles write and improve docstring 2024-04-28 13:04:20 -04:00
userspace.c kernel: userspace: Fix dynamic thread stack allocation for RISC-V 2024-09-04 21:28:36 +02:00
userspace_handler.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
version.c build: namespace the generated headers with `zephyr/` 2024-05-28 22:03:55 +02:00
work.c coding guidelines: comply with MISRA Rule 2.2 2024-05-02 09:32:46 +01:00
xip.c arch: kernel: lib: toolchain: Standardize TLS keyword 2024-09-23 10:01:48 +02:00