abseil / abseil/abseil-cpp

[Bug]: FreeRTOS with gcc-none-arm-eabi toolchain support

Open
#2,052 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.