Skip to content

Conversation

@ghaith
Copy link
Collaborator

@ghaith ghaith commented Oct 30, 2025

Adds an LLVM C++ Wrapper that provides access to mark the compiled application to use the elf .init_array constructors.
Removes the built in linker scripts and deprecates the --no-linker-script flag.
This is a breaking change as the init functions are no longer visible in the binary.

This PR also activates builds on aarch64 (arm64) and for that we needed to filter out alignmets from all the tests.

We are still missing a test that explicitly tests alignments.

@ghaith ghaith force-pushed the fix_arm_constructors branch 3 times, most recently from 18437fb to 750d3e5 Compare November 19, 2025 13:15
adds a new plc_llvm crate that wraps llvm c++ apis.
The only api currently provided is to expose the init array flag.
This ensures that the constructors created by the compiler are actually
called in aarch64 architectures.
@ghaith ghaith force-pushed the fix_arm_constructors branch from 38bae86 to 8b4e085 Compare November 25, 2025 06:13
@ghaith ghaith changed the title fix: make sure constructors don't get optimised out feat!: make sure constructors don't get optimised out Nov 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants