From ae44b84bc568771b1e1831b66569065e118eba90 Mon Sep 17 00:00:00 2001 From: Richard Patel Date: Fri, 2 Sep 2022 03:55:49 +0200 Subject: [PATCH] sbf: move loader to subpackage --- pkg/sbf/{elf.go => loader/loader.go} | 5 ++++- pkg/sbf/{elf_test.go => loader/loader_test.go} | 2 +- pkg/sbf/{ => loader}/tests/bss_section.so | Bin pkg/sbf/{ => loader}/tests/empty_rodata.so | Bin pkg/sbf/{ => loader}/tests/multiple_file.so | Bin pkg/sbf/{ => loader}/tests/noop.so | Bin pkg/sbf/{ => loader}/tests/noro.so | Bin pkg/sbf/{ => loader}/tests/pass_stack_reference.so | Bin .../{ => loader}/tests/program_headers_overflow.so | Bin pkg/sbf/{ => loader}/tests/relative_call.so | Bin pkg/sbf/{ => loader}/tests/reloc_64_64.so | Bin .../{ => loader}/tests/reloc_64_64_high_vaddr.so | Bin pkg/sbf/{ => loader}/tests/reloc_64_relative.so | Bin .../{ => loader}/tests/reloc_64_relative_data.so | Bin .../tests/reloc_64_relative_data_high_vaddr.so | Bin .../tests/reloc_64_relative_data_pre_sbfv2.so | Bin .../tests/reloc_64_relative_high_vaddr.so | Bin pkg/sbf/{ => loader}/tests/rodata.so | Bin pkg/sbf/{ => loader}/tests/rodata_high_vaddr.so | Bin pkg/sbf/{ => loader}/tests/scratch_registers.so | Bin pkg/sbf/{ => loader}/tests/syscall_static.so | Bin .../{ => loader}/tests/syscall_static_unknown.so | Bin pkg/sbf/{ => loader}/tests/unresolved_syscall.so | Bin pkg/sbf/{ => loader}/tests/writable_data_section.so | Bin 24 files changed, 5 insertions(+), 2 deletions(-) rename pkg/sbf/{elf.go => loader/loader.go} (98%) rename pkg/sbf/{elf_test.go => loader/loader_test.go} (99%) rename pkg/sbf/{ => loader}/tests/bss_section.so (100%) rename pkg/sbf/{ => loader}/tests/empty_rodata.so (100%) rename pkg/sbf/{ => loader}/tests/multiple_file.so (100%) rename pkg/sbf/{ => loader}/tests/noop.so (100%) rename pkg/sbf/{ => loader}/tests/noro.so (100%) rename pkg/sbf/{ => loader}/tests/pass_stack_reference.so (100%) rename pkg/sbf/{ => loader}/tests/program_headers_overflow.so (100%) rename pkg/sbf/{ => loader}/tests/relative_call.so (100%) rename pkg/sbf/{ => loader}/tests/reloc_64_64.so (100%) rename pkg/sbf/{ => loader}/tests/reloc_64_64_high_vaddr.so (100%) rename pkg/sbf/{ => loader}/tests/reloc_64_relative.so (100%) rename pkg/sbf/{ => loader}/tests/reloc_64_relative_data.so (100%) rename pkg/sbf/{ => loader}/tests/reloc_64_relative_data_high_vaddr.so (100%) rename pkg/sbf/{ => loader}/tests/reloc_64_relative_data_pre_sbfv2.so (100%) rename pkg/sbf/{ => loader}/tests/reloc_64_relative_high_vaddr.so (100%) rename pkg/sbf/{ => loader}/tests/rodata.so (100%) rename pkg/sbf/{ => loader}/tests/rodata_high_vaddr.so (100%) rename pkg/sbf/{ => loader}/tests/scratch_registers.so (100%) rename pkg/sbf/{ => loader}/tests/syscall_static.so (100%) rename pkg/sbf/{ => loader}/tests/syscall_static_unknown.so (100%) rename pkg/sbf/{ => loader}/tests/unresolved_syscall.so (100%) rename pkg/sbf/{ => loader}/tests/writable_data_section.so (100%) diff --git a/pkg/sbf/elf.go b/pkg/sbf/loader/loader.go similarity index 98% rename from pkg/sbf/elf.go rename to pkg/sbf/loader/loader.go index 8f435e4..a754386 100644 --- a/pkg/sbf/elf.go +++ b/pkg/sbf/loader/loader.go @@ -1,4 +1,7 @@ -package sbf +// Package loader implements an ELF loader for the Sealevel virtual machine. +// +// Based on https://docs.rs/solana_rbpf/latest/solana_rbpf/elf_parser/index.html +package loader import ( "bufio" diff --git a/pkg/sbf/elf_test.go b/pkg/sbf/loader/loader_test.go similarity index 99% rename from pkg/sbf/elf_test.go rename to pkg/sbf/loader/loader_test.go index 3969f56..ad66311 100644 --- a/pkg/sbf/elf_test.go +++ b/pkg/sbf/loader/loader_test.go @@ -1,4 +1,4 @@ -package sbf +package loader import ( "debug/elf" diff --git a/pkg/sbf/tests/bss_section.so b/pkg/sbf/loader/tests/bss_section.so similarity index 100% rename from pkg/sbf/tests/bss_section.so rename to pkg/sbf/loader/tests/bss_section.so diff --git a/pkg/sbf/tests/empty_rodata.so b/pkg/sbf/loader/tests/empty_rodata.so similarity index 100% rename from pkg/sbf/tests/empty_rodata.so rename to pkg/sbf/loader/tests/empty_rodata.so diff --git a/pkg/sbf/tests/multiple_file.so b/pkg/sbf/loader/tests/multiple_file.so similarity index 100% rename from pkg/sbf/tests/multiple_file.so rename to pkg/sbf/loader/tests/multiple_file.so diff --git a/pkg/sbf/tests/noop.so b/pkg/sbf/loader/tests/noop.so similarity index 100% rename from pkg/sbf/tests/noop.so rename to pkg/sbf/loader/tests/noop.so diff --git a/pkg/sbf/tests/noro.so b/pkg/sbf/loader/tests/noro.so similarity index 100% rename from pkg/sbf/tests/noro.so rename to pkg/sbf/loader/tests/noro.so diff --git a/pkg/sbf/tests/pass_stack_reference.so b/pkg/sbf/loader/tests/pass_stack_reference.so similarity index 100% rename from pkg/sbf/tests/pass_stack_reference.so rename to pkg/sbf/loader/tests/pass_stack_reference.so diff --git a/pkg/sbf/tests/program_headers_overflow.so b/pkg/sbf/loader/tests/program_headers_overflow.so similarity index 100% rename from pkg/sbf/tests/program_headers_overflow.so rename to pkg/sbf/loader/tests/program_headers_overflow.so diff --git a/pkg/sbf/tests/relative_call.so b/pkg/sbf/loader/tests/relative_call.so similarity index 100% rename from pkg/sbf/tests/relative_call.so rename to pkg/sbf/loader/tests/relative_call.so diff --git a/pkg/sbf/tests/reloc_64_64.so b/pkg/sbf/loader/tests/reloc_64_64.so similarity index 100% rename from pkg/sbf/tests/reloc_64_64.so rename to pkg/sbf/loader/tests/reloc_64_64.so diff --git a/pkg/sbf/tests/reloc_64_64_high_vaddr.so b/pkg/sbf/loader/tests/reloc_64_64_high_vaddr.so similarity index 100% rename from pkg/sbf/tests/reloc_64_64_high_vaddr.so rename to pkg/sbf/loader/tests/reloc_64_64_high_vaddr.so diff --git a/pkg/sbf/tests/reloc_64_relative.so b/pkg/sbf/loader/tests/reloc_64_relative.so similarity index 100% rename from pkg/sbf/tests/reloc_64_relative.so rename to pkg/sbf/loader/tests/reloc_64_relative.so diff --git a/pkg/sbf/tests/reloc_64_relative_data.so b/pkg/sbf/loader/tests/reloc_64_relative_data.so similarity index 100% rename from pkg/sbf/tests/reloc_64_relative_data.so rename to pkg/sbf/loader/tests/reloc_64_relative_data.so diff --git a/pkg/sbf/tests/reloc_64_relative_data_high_vaddr.so b/pkg/sbf/loader/tests/reloc_64_relative_data_high_vaddr.so similarity index 100% rename from pkg/sbf/tests/reloc_64_relative_data_high_vaddr.so rename to pkg/sbf/loader/tests/reloc_64_relative_data_high_vaddr.so diff --git a/pkg/sbf/tests/reloc_64_relative_data_pre_sbfv2.so b/pkg/sbf/loader/tests/reloc_64_relative_data_pre_sbfv2.so similarity index 100% rename from pkg/sbf/tests/reloc_64_relative_data_pre_sbfv2.so rename to pkg/sbf/loader/tests/reloc_64_relative_data_pre_sbfv2.so diff --git a/pkg/sbf/tests/reloc_64_relative_high_vaddr.so b/pkg/sbf/loader/tests/reloc_64_relative_high_vaddr.so similarity index 100% rename from pkg/sbf/tests/reloc_64_relative_high_vaddr.so rename to pkg/sbf/loader/tests/reloc_64_relative_high_vaddr.so diff --git a/pkg/sbf/tests/rodata.so b/pkg/sbf/loader/tests/rodata.so similarity index 100% rename from pkg/sbf/tests/rodata.so rename to pkg/sbf/loader/tests/rodata.so diff --git a/pkg/sbf/tests/rodata_high_vaddr.so b/pkg/sbf/loader/tests/rodata_high_vaddr.so similarity index 100% rename from pkg/sbf/tests/rodata_high_vaddr.so rename to pkg/sbf/loader/tests/rodata_high_vaddr.so diff --git a/pkg/sbf/tests/scratch_registers.so b/pkg/sbf/loader/tests/scratch_registers.so similarity index 100% rename from pkg/sbf/tests/scratch_registers.so rename to pkg/sbf/loader/tests/scratch_registers.so diff --git a/pkg/sbf/tests/syscall_static.so b/pkg/sbf/loader/tests/syscall_static.so similarity index 100% rename from pkg/sbf/tests/syscall_static.so rename to pkg/sbf/loader/tests/syscall_static.so diff --git a/pkg/sbf/tests/syscall_static_unknown.so b/pkg/sbf/loader/tests/syscall_static_unknown.so similarity index 100% rename from pkg/sbf/tests/syscall_static_unknown.so rename to pkg/sbf/loader/tests/syscall_static_unknown.so diff --git a/pkg/sbf/tests/unresolved_syscall.so b/pkg/sbf/loader/tests/unresolved_syscall.so similarity index 100% rename from pkg/sbf/tests/unresolved_syscall.so rename to pkg/sbf/loader/tests/unresolved_syscall.so diff --git a/pkg/sbf/tests/writable_data_section.so b/pkg/sbf/loader/tests/writable_data_section.so similarity index 100% rename from pkg/sbf/tests/writable_data_section.so rename to pkg/sbf/loader/tests/writable_data_section.so