[Bug]: FreeRTOS with gcc-none-arm-eabi toolchain support
- Dominant language
- C++
- Stars
- 18.1k
- Forks
- 3.2k
- Avg merge
- 20h 36m
- Merged PRs (30d)
- 1
Description
### Describe the issue
Currently abseil-cpp cannot be compiled for FreeRTOS platform (with custom pthread impl) due to several issues:
- `GetTID()` has no FreeRTOS implementation
- ELF memory image support is incorrectly enabled for FreeRTOS
- `EncodeVarint` is missing `bool` overload causing ambiguous overload resolution
- `tm_gmtoff()`/`tm_zone()` are not defined for FreeRTOS
This issue tracks a PR that adds basic FreeRTOS support to fix the above.
### Steps to reproduce the problem
toolchain file:
```
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER arm-none-eabi-gcc)
set(CMAKE_CXX_COMPILER arm-none-eabi-g++)
```
build command:
`cmake .. -DCMAKE_TOOLCHAIN_FILE=toolchain-arm-none-eabi.cmake`
### What version of Abseil are you using?
d061f5f134037afe8b31f168f115d753108c8a8d
### What operating system and version are you using?
FreeRTOS V11.1.0 with some posix primitives impl (such as pthread).
### What compiler and version are you using?
arm-none-eabi-gcc (Arm GNU Toolchain 13.3.Rel1 (Build arm-13.24)) 13.3.1 20240614
### What build system are you using?
cmake version 3.22.1
### Additional context
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.