summaryrefslogtreecommitdiff
path: root/src/format/elf/e_elf.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2008-10-19 15:05:04 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2008-10-19 15:05:04 (GMT)
commit10deb6bbbeeaacfec577f5b24c5f821492af77f3 (patch)
tree9db0a1679c518f6a95cdb25e38c7a281b8ea30c1 /src/format/elf/e_elf.c
parent43f740ee35b452980e8d190660896a535816dfc3 (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.c12
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();