mark internal functions linker private (#381)

Prevents unused functions in the emitted ELF object. Drive-by add a
missing test case (which misses a relocation under `-Oz` when all
internal functions are marked as private).

---------

Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
This commit is contained in:
xermicus
2025-09-29 17:55:29 +02:00
committed by GitHub
parent 1cc4f967b4
commit 6858cb9a61
14 changed files with 111 additions and 65 deletions
@@ -215,7 +215,7 @@ impl PolkaVMWriteLLVM for FunctionDefinition {
self.identifier.as_str(),
function_type,
self.result.len(),
Some(inkwell::module::Linkage::External),
Some(inkwell::module::Linkage::Private),
Some((self.location.line, self.location.column)),
)?;
PolkaVMFunction::set_attributes(