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 摘要。