abseil / abseil/abseil-cpp

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

未关闭
#2,052 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
C++
星标
18.1k
派生
3.2k
平均合并
20 小时 36 分钟
30 天内合并 PR
1

描述

### 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_

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。