Hello Neeraj,
I managed to reproduce the problem in a Docker container using ubuntu:jammy (22.04.4 LTS) as the base image. Doing what I suggested in a previous mail fixes build errors, so please carefully check if you followed my recommendations closely enough.
Below is the Dockerfile I used for testing, including the workaround:
------------------------------------------------------------------
FROM ubuntu:jammy
RUN apt-get update && \ apt-get install -y --no-install-recommends \ autoconf automake libtool \ build-essential \ gcc-arm-none-eabi \ libnewlib-arm-none-eabi \ ca-certificates \ python3 git
WORKDIR /root
RUN git clone https://git.osmocom.org/osmocom-bb
# workaround for the ARM toolchain provided by Ubuntu 22.04.4 # ii binutils-arm-none-eabi 2.40-2+18+b1 # ii gcc-arm-none-eabi 15:12.2.rel1-1 RUN cd osmocom-bb/ && \ git config --global user.email "you@example.com" && \ git revert --no-edit 818133cd23b493da472daff2cda9a8e97d0c9637 && \ sed -i "/DCONFIG_TX_ENABLE/c\CFLAGS += -DCONFIG_TX_ENABLE" \ src/target/firmware/Makefile && \ sed -i "/LDFLAGS =/c\LDFLAGS = -nostdlib -z nodefaultlib --gc-sections --cref" \ src/target/firmware/Makefile.inc
RUN cd osmocom-bb/src/ && make firmware
------------------------------------------------------------------
I don't think there is anything we can do to support the variety of toolchain variants/versions. We're using 'debian:bookworm' Docker image for the build verification, so I would suggest to use it too. We also have a Dockerfile for building the old toolchain:
https://cgit.osmocom.org/docker-playground/tree/arm-none-eabi-gcc-4.8.2