Skip to content

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

@vasko-110

Description

@vasko-110

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?

d061f5f

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions