abseil / abseil/abseil-cpp

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

Đang mở
#2,052 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C++
Star
18.1k
Fork
3.2k
Merge trung bình
20 giờ 36 phút
Pull request đã merge (30 ngày)
1

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.