The second big milestone in Bear's codebase. This announcement details the new OBJ format.
Today we're announceing a Bear 0.0.1-in2, change.
This milestone announces the introduction of the new OBJ format (BROBJ). BROBJ is the linker-input: code, exported symbols, string constants, and relocations for call sites that the linker must resolve.
The BRBIN is the final executable that is consumed by the runtime VM.
Both of the formats are little-endian, and self describing.
- BROBJ is the Bear Object file format, which is the output of the assembler and input to the linker.
- BRBIN is the Bear Binary file format, which is the output of the linker and input to the runtime VM.
Bear 0.0.1-in2 is a milestone in the ongoing rewrite of Bear's codebase, and it introduces the new OBJ format as a key part of the toolchain. The OBJ format is designed to be simple, efficient, and easy to work with, while also providing the necessary information for the linker to produce a final executable.
The OBJ format is not close to completion, and will require a lot more work. Contributing is possible: https://github.com/bearlanguageorg/bear/tree/main/obj.
The OBJ format is a key milestone in Bear's development, as it establishes a clear separation between the compiler, assembler, linker, and runtime. This separation allows for more modular development and easier maintenance of the toolchain.