From c14321c4d35549d989d614437953b36b8c771cc2 Mon Sep 17 00:00:00 2001 From: lemon Date: Mon, 1 Dec 2025 19:10:53 +0100 Subject: c: make tentative definitions work --- obj/elf.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'obj/elf.c') diff --git a/obj/elf.c b/obj/elf.c index d889fdd..5578452 100644 --- a/obj/elf.c +++ b/obj/elf.c @@ -87,6 +87,20 @@ enum { BSS_SHNDX = 4, }; +enum section +elfhassym(const char *nam) +{ + struct sym *sym = findsym(str2idx(nam)); + if (sym) switch (sym->shndx) { + case SHN_UND: return Snone; + case TEXT_SHNDX: return Stext; + case RODATA_SHNDX: return Srodata; + case DATA_SHNDX: return Sdata; + case BSS_SHNDX: return Sbss; + } + return Snone; +} + void elfaddsym(const char *nam, int info, enum section sect, uvlong value, uvlong size) { -- cgit v1.2.3