Hello everyone,
My name is Saksham Upadhyay. I am currently pursuing B.Tech in Computer Science Engineering (AI specialization) in India. I am interested in contributing to RTEMS, particularly in areas related to POSIX compliance and low-level system libraries.
I have experience in C, C++, Python, and Java. I am particularly interested in low-level systems, embedded development, and how standard libraries interact with operating systems.
Recently, I started exploring Newlib (the C standard library used in embedded systems like RTEMS) to understand how libc is structured and built for ARM targets.
I am interested in:
POSIX compliance improvements
RTEMS + Newlib integration
System-level programming in C
As part of my learning and contribution preparation, I performed the following:
Set up the ARM cross-compilation environment using arm-none-eabi-gcc
Built Newlib from source for ARM architecture
Explored the internal structure of Newlib, especially the libc implementation
Added a custom function my_special_func(int x) inside the Newlib source (newlib/libc/stdlib)
Rebuilt the toolchain and verified that the function is successfully included in libc.a
Used arm-none-eabi-nm to confirm the presence of the symbol inside the compiled library
Created a patch using Git (git format-patch) to track my changes
This helped me understand:
How libc functions are implemented and linked
How static libraries like libc.a are generated
How symbol resolution works during linking