Hi,
if I add a section using the code below, I obtain a section like this:
[29] NULL 0000000000000000
fff1000400000001 000000 00 0 0 281487861612544
The attached patch fixed it for me. Any ideas?
Code:
if (elf_version(EV_CURRENT) == EV_NONE)
errx(1, "elf_version: %s" , elf_errmsg(-1));
fd = open(argv[1], O_RDWR, 0);
if (fd < 0)
err(1, "open");
elf = elf_begin(fd, ELF_C_RDWR, NULL);
if (!elf)
errx(EXIT_FAILURE, "elf_begin: %s", elf_errmsg(-1));
data = elf_newdata(scn);
if (!data)
errx(1, "!elf_newdata: %s", elf_errmsg(-1));
GElf_Shdr shdr_data, *shdr;
shdr = gelf_getshdr(scn, &shdr_data);
if (!shdr)
errx(1, "gelf_getshdr: %s", elf_errmsg(-1));
shdr->sh_type = SHT_NOBITS;
if (!gelf_update_shdr(scn, shdr))
errx(EXIT_FAILURE, "gelf_update_shdr: %s", elf_errmsg(-1));
if (elf_update(elf, ELF_C_NULL) < 0)
errx(EXIT_FAILURE, "elf_update1: %s", elf_errmsg(-1));
if (elf_update(elf, ELF_C_WRITE) < 0)
errx(EXIT_FAILURE, "elf_update2: %s", elf_errmsg(-1));
if (elf_end(elf))
errx(EXIT_FAILURE, "elf_end: %s", elf_errmsg(-1));
close(fd);
thanks,
--
js
suse labs