namespace rgpot::aoti_execstackΒΆ
namespace aoti_execstack {
// global variables
uint32_t kPtGnuStack = 0x6474e551u;
uint32_t kPfX = 1u;
uint32_t kZipLocal = 0x04034b50u;
uint32_t kZipCentral = 0x02014b50u;
// global functions
uint16_t rd16(const uint8_t* p);
uint32_t rd32(const uint8_t* p);
uint64_t rd64(const uint8_t* p);
uint32_t zip_crc32(const uint8_t* data, size_t n);
void wr32(uint8_t* p, uint32_t v);
bool clear_elf_gnu_stack(uint8_t* data, size_t n);
bool elf_needs_gnu_stack_clear(const uint8_t* data, size_t n);
bool scan_or_clear_pt2(uint8_t* buf, size_t n, bool write);
std::vector<uint8_t> read_all(const std::string& path);
void write_all(const std::string& path, const std::vector<uint8_t>& buf);
std::string cache_path_for(const std::string& src);
std::string prepare_pt2_for_load(const std::string& src);
} // namespace aoti_execstack