Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add configurables section offset in the preamble (#6522)
The preamble now contains 8 bytes of offset to the configurables section. If there is no configurable const in the data-section, then the value of this integer will be equal to the size of the binary itself. This also means that we now sort the data-section to have all the non-configurables first, and then the configurables. The preamble final asm looks like this (the offset to configurables is 0'd out here in the example): ``` ;; ASM: Final program ;; Program kind: Script .program: move $$tmp $pc jmpf $zero i10 DATA_SECTION_OFFSET[0..32] DATA_SECTION_OFFSET[32..64] CONFIGURABLES_OFFSET[0..32] CONFIGURABLES_OFFSET[32..64] lw $$ds $$tmp i1 add $$ds $$ds $$tmp ``` The preamble bytecode looks like this: ``` 0x00000000 MOVE R60 $pc ;; [26, 240, 48, 0] 0x00000004 JMPF $zero 0xa ;; [116, 0, 0, 10] 0x00000008 ;; [0, 0, 0, 0, 0, 0, 2, 40] 0x00000010 ;; [0, 0, 0, 0, 0, 0, 0, 0] 0x00000030 LW R63 R60 0x1 ;; [93, 255, 192, 1] 0x00000034 ADD R63 R63 R60 ;; [16, 255, 255, 0] ... ``` --------- Co-authored-by: Sophie Dankel <[email protected]> Co-authored-by: IGI-111 <[email protected]>
- Loading branch information