diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2008-10-19 15:05:04 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2008-10-19 15:05:04 (GMT) |
commit | 10deb6bbbeeaacfec577f5b24c5f821492af77f3 (patch) | |
tree | 9db0a1679c518f6a95cdb25e38c7a281b8ea30c1 /src/format/elf/e_elf.c | |
parent | 43f740ee35b452980e8d190660896a535816dfc3 (diff) |
Registered symbols found in the PLT.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@35 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/format/elf/e_elf.c')
-rw-r--r-- | src/format/elf/e_elf.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/format/elf/e_elf.c b/src/format/elf/e_elf.c index 3aa9394..03b2e82 100644 --- a/src/format/elf/e_elf.c +++ b/src/format/elf/e_elf.c @@ -137,6 +137,18 @@ bin_part **get_elf_default_code_parts(const elf_format *format, size_t *count) if (format->sec_size > 0) { + if (find_elf_section(format, ".plt", &offset, &size, &voffset)) + { + part = create_bin_part(); + + set_bin_part_name(part, ".plt"); + set_bin_part_values(part, offset, size, voffset); + + result = (bin_part **)realloc(result, ++(*count) * sizeof(bin_part *)); + result[*count - 1] = part; + + } + if (find_elf_section(format, ".init", &offset, &size, &voffset)) { part = create_bin_part(); |