- Jul 12, 2013
-
-
Rafael Espindola authored
llvm-svn: 186202
-
Rafael Espindola authored
This fixes two bugs is lib/Object that the use in llvm-ar found: * In OS X created archives, the name can be padded with nulls. Strip them. * In the constructor, remember the first non special member and use that in begin_children. This makes sure we skip all special members, not just the first one. The change to llvm-ar itself consist of * Using lib/Object for reading archives instead of ArchiveReader.cpp. * Writing the modified archive directly, instead of creating an in memory representation. The old Archive library was way more general than what is needed, as can be seen by the diffstat of this patch. Having llvm-ar using lib/Object now opens the way for creating regular symbol tables for both native objects and bitcode files so that we can use those archives for LTO. llvm-svn: 186197
-
Rafael Espindola authored
llvm-svn: 186192
-
Rafael Espindola authored
llvm-svn: 186186
-
Rafael Espindola authored
llvm-svn: 186184
-
Rafael Espindola authored
llvm-svn: 186183
-
Rafael Espindola authored
llvm-svn: 186159
-
NAKAMURA Takumi authored
llvm-svn: 186143
-
- Jul 11, 2013
-
-
Rafael Espindola authored
llvm-svn: 186118
-
Rafael Espindola authored
llvm-svn: 186110
-
Rafael Espindola authored
While at it, use strftime on Unix too and use the thread safe versions of localtime. llvm-svn: 186090
-
Rafael Espindola authored
llvm-svn: 186084
-
Rafael Espindola authored
in parallel. llvm-svn: 186083
-
Rafael Espindola authored
llvm-svn: 186082
-
Rafael Espindola authored
llvm-svn: 186081
-
Rafael Espindola authored
It is not reliable to depend on the output of llvm_unreachable. The original change will have proper tests when llvm-ar moves to lib/Object (soon). llvm-svn: 186043
-
Rafael Espindola authored
llvm-svn: 186041
-
- Jul 10, 2013
-
-
Rafael Espindola authored
There is no lib/Archive anymore and some archive tests were in test/Archive and others in test/Object. Since archive is just one of the formats supported by lib/Object, test/Object is probably the best location. llvm-svn: 186038
-
Rafael Espindola authored
llvm-svn: 186029
-
- Jul 05, 2013
-
-
Rafael Espindola authored
llvm-svn: 185697
-
- Jul 04, 2013
-
-
Rafael Espindola authored
llvm-svn: 185664
-
- Jul 03, 2013
-
-
Rafael Espindola authored
While there, use early returns to reduce nesting. llvm-svn: 185547
-
Rafael Espindola authored
This is a small compatibility improvement with gnu nm and makes llvm-nm more useful as a testing tool. llvm-svn: 185546
-
- Jun 22, 2013
-
-
Sean Silva authored
Although in reality the symbol table in ELF resides in a section, the standard requires that there be no more than one SHT_SYMTAB. To enforce this constraint, it is cleaner to group all the symbols under a top-level `Symbols` key on the object file. llvm-svn: 184627
-
Sean Silva authored
It wouldn't really test anything that doesn't already have a more targeted test: `yaml2obj-elf-section-basic.yaml`: Already tests that section content is correctly passed though. `yaml2obj-elf-symbol-basic.yaml` (this file): Tests that the st_value and st_size attributes of `main` are set correctly. Between those two tests, disassembling the file doesn't really add anything, so just remove mention of disassembling the file. llvm-svn: 184607
-
Sean Silva authored
This reverts commit r184602. In an upcoming commit, I will just remove the disassembler part of the test; it was mostly just a "nifty" thing marking a milestone but it doesn't test anything that isn't tested elsewhere. llvm-svn: 184606
-
Renato Golin authored
llvm-svn: 184602
-
- Jun 21, 2013
-
-
Sean Silva authored
This was causing buildbot failures when build without X86 support. Is there a way to conditionalize the test on the X86 target being present? llvm-svn: 184597
-
Sean Silva authored
Previously we unconditionally enforced that section references in symbols in the YAML had a name that was a section name present in the object, and linked the references to that section. Now, permit empty section names (already the default, if the `Section` key is not provided) to indicate SHN_UNDEF. llvm-svn: 184513
-
Sean Silva authored
Instead, just have 3 sub-lists, one for each of {STB_LOCAL,STB_GLOBAL,STB_WEAK}. This allows us to be a lot more explicit w.r.t. the symbol ordering in the object file, because if we allowed explicitly setting the STB_* `Binding` key for the symbol, then we might have ended up having to shuffle STB_LOCAL symbols to the front of the list, which is likely to cause confusion and potential for error. Also, this new approach is simpler ;) llvm-svn: 184506
-
- Jun 20, 2013
-
-
Sean Silva authored
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
-
Sean Silva authored
llvm-svn: 184468
-
Rafael Espindola authored
Should fix the bots that are seeing a corrupted file from a previous run. llvm-svn: 184424
-
- Jun 19, 2013
-
-
Sean Silva authored
llvm-svn: 184269
-
Sean Silva authored
llvm-svn: 184268
-
Sean Silva authored
llvm-svn: 184263
-
Sean Silva authored
llvm-svn: 184258
-
Sean Silva authored
Currently, we only output the name. llvm-svn: 184255
-
- Jun 18, 2013
-
-
Alexey Samsonov authored
llvm-svn: 184191
-
- Jun 15, 2013
-
-
Sean Silva authored
llvm-svn: 184022
-