aboutsummaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/main.c b/main.c
index 8713b0c..9463860 100644
--- a/main.c
+++ b/main.c
@@ -125,8 +125,6 @@ getsection(const char* name)
static void
initsections(void)
{
- Elf64_Sym elfsym;
-
shstrtab = newsection();
secaddbyte(shstrtab, 0);
shstrtab->hdr.sh_name = elfstr(shstrtab, ".shstrtab");
@@ -142,8 +140,6 @@ initsections(void)
symtab->hdr.sh_type = SHT_SYMTAB;
symtab->hdr.sh_link = strtab->idx;
symtab->hdr.sh_entsize = sizeof(Elf64_Sym);
- memset(&elfsym, 0, sizeof(elfsym));
- secaddbytes(symtab, &elfsym, sizeof(Elf64_Sym));
bss = newsection();
bss->hdr.sh_name = elfstr(shstrtab, ".bss");
@@ -875,9 +871,13 @@ addtosymtab(Symbol* sym)
static void
fillsymtab(void)
{
+ Elf64_Sym elfsym;
Symbol* sym;
size_t i;
+ memset(&elfsym, 0, sizeof(elfsym));
+ secaddbytes(symtab, &elfsym, sizeof(Elf64_Sym));
+
// Local symbols
for (i = 0; i < symbols->cap; i++) {
if (!symbols->keys[i].str)