summaryrefslogtreecommitdiffstats
path: root/llvm/tools/yaml2obj
diff options
context:
space:
mode:
authorSean Silva <silvas@purdue.edu>2013-06-20 20:59:47 +0000
committerSean Silva <silvas@purdue.edu>2013-06-20 20:59:47 +0000
commit05001b9f382c769cfee86e550ee51278b15f0c5f (patch)
tree6daf3dd2aaaec774bae9ace04e274486ec31856b /llvm/tools/yaml2obj
parent98186220bee39bc238c7473bbc21fba2e8f2b589 (diff)
downloadbcm5719-llvm-05001b9f382c769cfee86e550ee51278b15f0c5f.tar.gz
bcm5719-llvm-05001b9f382c769cfee86e550ee51278b15f0c5f.zip
[yaml2obj][ELF] Add support for st_value and st_size.
After this patch, the ELF file produced by `yaml2obj-elf-symbol-basic.yaml`, when linked and executed on x86_64 (under SysV ABI, obviously; I tested on Linux), produces a working executable that goes into an infinite loop! llvm-svn: 184469
Diffstat (limited to 'llvm/tools/yaml2obj')
-rw-r--r--llvm/tools/yaml2obj/yaml2elf.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/tools/yaml2obj/yaml2elf.cpp b/llvm/tools/yaml2obj/yaml2elf.cpp
index 421781ce14c..a8eeeeacf19 100644
--- a/llvm/tools/yaml2obj/yaml2elf.cpp
+++ b/llvm/tools/yaml2obj/yaml2elf.cpp
@@ -206,6 +206,8 @@ static void handleSymtabSectionHeader(
exit(1);
}
Symbol.st_shndx = Index;
+ Symbol.st_value = Sym.Value;
+ Symbol.st_size = Sym.Size;
Syms.push_back(Symbol);
}
OpenPOWER on IntegriCloud