mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-16 07:39:56 +00:00
Make minor improvements
This commit is contained in:
parent
1fc91f3580
commit
b562d6fdb3
41 changed files with 1948 additions and 92 deletions
|
@ -129,7 +129,7 @@ static size_t FlushStrtab(struct ElfWriter *elf, const char *name,
|
|||
struct Interner *strtab) {
|
||||
size_t size = strtab->i * sizeof(strtab->p[0]);
|
||||
elfwriter_align(elf, 1, 0);
|
||||
AppendSection(elf, ".strtab", SHT_STRTAB, 0);
|
||||
AppendSection(elf, name, SHT_STRTAB, 0);
|
||||
mempcpy(elfwriter_reserve(elf, size), strtab->p, size);
|
||||
elfwriter_commit(elf, size);
|
||||
return FinishSection(elf);
|
||||
|
@ -172,6 +172,9 @@ struct ElfWriter *elfwriter_open(const char *path, int mode) {
|
|||
elf->ehdr = memcpy(elf->map, &kObjHeader, (elf->wrote = sizeof(kObjHeader)));
|
||||
elf->strtab = newinterner();
|
||||
elf->shstrtab = newinterner();
|
||||
intern(elf->strtab, "");
|
||||
intern(elf->shstrtab, "");
|
||||
intern(elf->shstrtab, ".shstrtab");
|
||||
return elf;
|
||||
}
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
void elfwriter_cargoculting(struct ElfWriter *elf) {
|
||||
elfwriter_startsection(elf, "", SHT_NULL, 0);
|
||||
elfwriter_finishsection(elf);
|
||||
elfwriter_startsection(elf, ".text", SHT_PROGBITS, SHF_ALLOC | SHF_EXECINSTR);
|
||||
elfwriter_finishsection(elf);
|
||||
elfwriter_startsection(elf, ".data", SHT_PROGBITS, SHF_ALLOC | SHF_WRITE);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue