Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Object: Fix COFF import file's symbols. | Rui Ueyama | 2015-09-01 | 1 | -3/+3 | |
| | | | | | | | If a symbol is marked as "data", the symbol should be exported with __imp_ prefix. Previously, the symbol was exported as-is. llvm-svn: 246532 | |||||
* | Re-apply r246276 - Object: Teach llvm-ar to create symbol table for COFF ↵ | Rui Ueyama | 2015-08-28 | 3 | -0/+10 | |
| | | | | | | | | | | | short import files This patch includes a fix for a llvm-readobj test. With this patch, the tool does no longer print out COFF headers for the short import file, but that's probably desirable because the header for the short import file is dummy. llvm-svn: 246283 | |||||
* | Rollback r246276 - Object: Teach llvm-ar to create symbol table for COFF ↵ | Rui Ueyama | 2015-08-28 | 3 | -10/+0 | |
| | | | | | | | | short import files This change caused a test for llvm-readobj to fail. llvm-svn: 246277 | |||||
* | Object: Teach llvm-ar to create symbol table for COFF short import files. | Rui Ueyama | 2015-08-28 | 3 | -0/+10 | |
| | | | | | | | | | | | | | COFF short import files are special kind of files that contains only DLL-exported symbol names. That's different from object files because it has no data except symbol names. This change implements a SymbolicFile interface for the short import files so that symbol names can be accessed through that interface. llvm-ar is now able to read the file and create symbol table entries for short import files. llvm-svn: 246276 | |||||
* | Report an error if a SHT_SYMTAB_SHNDX section has the wrong size. | Rafael Espindola | 2015-08-24 | 2 | -0/+4 | |
| | | | | llvm-svn: 245873 | |||||
* | Add a test showing that objdump (and so ObjectFIle) can handle shndx. | Rafael Espindola | 2015-08-10 | 2 | -0/+8 | |
| | | | | | | It was already passing, we were just not testing the code. llvm-svn: 244504 | |||||
* | add missing tests files | Rafael Espindola | 2015-08-07 | 1 | -0/+0 | |
| | | | | llvm-svn: 244323 | |||||
* | Add dynamic_table iterators back to ELF.h. | Rafael Espindola | 2015-08-07 | 2 | -0/+14 | |
| | | | | | | | | | In tree they are only used by llvm-readobj, but it is also used by https://github.com/mono/CppSharp. While at it, add some missing error checking. llvm-svn: 244320 | |||||
* | Move to llvm-readobj code that is only used there. | Rafael Espindola | 2015-08-06 | 1 | -1/+1 | |
| | | | | | | | | | | lld might end up using a small part of this, but it will be in a much refactored form. For now this unblocks avoiding the full section scan in the ELFFile constructor. This also has a (very small) error handling improvement. llvm-svn: 244282 | |||||
* | Update comments. | Rui Ueyama | 2015-08-06 | 1 | -2/+2 | |
| | | | | llvm-svn: 244259 | |||||
* | [COFF] Return symbol VAs instead of RVAs for PE files | Reid Kleckner | 2015-07-31 | 3 | -0/+31 | |
| | | | | | | | | This makes llvm-nm consistent with binutils nm on executables and DLLs. For a vanilla hello world executable, the address of main should include the default image base of 0x400000. llvm-svn: 243755 | |||||
* | ELFYAML: Enable parsing of EM_AMDGPU | Tom Stellard | 2015-07-31 | 1 | -0/+12 | |
| | | | | | | | | Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D11263 llvm-svn: 243724 | |||||
* | Support printing relocations in files with no section table. | Rafael Espindola | 2015-07-23 | 2 | -0/+12 | |
| | | | | llvm-svn: 242998 | |||||
* | Refactor duplicated code and check for invalid symbol table size. | Rafael Espindola | 2015-07-23 | 2 | -0/+4 | |
| | | | | llvm-svn: 242981 | |||||
* | Force the gnu archive format to fix the test on darwin. | Rafael Espindola | 2015-07-22 | 1 | -1/+1 | |
| | | | | llvm-svn: 242949 | |||||
* | Fix fetching the symbol table of a thin archive. | Rafael Espindola | 2015-07-22 | 1 | -0/+11 | |
| | | | | | | We were trying to read it as an external file. llvm-svn: 242926 | |||||
* | Identify thin archives as archives. | Rafael Espindola | 2015-07-22 | 1 | -0/+9 | |
| | | | | llvm-svn: 242921 | |||||
* | [Object][ELF] Handle files with no section header string table. | Michael J. Spencer | 2015-07-21 | 2 | -0/+10 | |
| | | | | llvm-svn: 242839 | |||||
* | Simplify iterating over the dynamic section and report broken ones. | Rafael Espindola | 2015-07-20 | 2 | -0/+6 | |
| | | | | llvm-svn: 242712 | |||||
* | Remove Elf_Rela_Iter and Elf_Rel_Iter. | Rafael Espindola | 2015-07-20 | 2 | -0/+7 | |
| | | | | | | Use just the pointers and check for invalid relocation sections. llvm-svn: 242700 | |||||
* | Report errors an invalid virtual addresses. | Rafael Espindola | 2015-07-20 | 2 | -0/+6 | |
| | | | | llvm-svn: 242676 | |||||
* | Simplify iterating over program headers and detect corrupt ones. | Rafael Espindola | 2015-07-20 | 2 | -0/+6 | |
| | | | | | | We now use a simple pointer and have range loops. llvm-svn: 242669 | |||||
* | llvm-readobj: Handle invalid references to the string table. | Rafael Espindola | 2015-07-20 | 2 | -0/+7 | |
| | | | | llvm-svn: 242658 | |||||
* | Move CHECKs closer to the RUN line. | Rafael Espindola | 2015-07-20 | 1 | -6/+9 | |
| | | | | llvm-svn: 242657 | |||||
* | llvm-readobj: call exit(1) on error. | Rafael Espindola | 2015-07-20 | 1 | -1/+0 | |
| | | | | | | | | | llvm-readobj exists for testing llvm. We can safely stop the program the first time we know the input in corrupted. This is in preparation for making it handle a few more broken files. llvm-svn: 242656 | |||||
* | Trying to fix the windows bots. | Rafael Espindola | 2015-07-16 | 1 | -4/+4 | |
| | | | | llvm-svn: 242367 | |||||
* | Fix handling of relative paths in thin archives. | Rafael Espindola | 2015-07-16 | 1 | -3/+18 | |
| | | | | | | The member has to end up with a path relative to the archive. llvm-svn: 242362 | |||||
* | llvm-ar: Don't write the directory in the string table. | Rafael Espindola | 2015-07-15 | 1 | -3/+12 | |
| | | | | | | | We were already doing the right thing for short file names, but not long ones. llvm-svn: 242354 | |||||
* | Handle the error of trying to convert a regular archive to a thin one. | Rafael Espindola | 2015-07-15 | 1 | -0/+14 | |
| | | | | | | While at it, test that we can add to a thin archive. llvm-svn: 242330 | |||||
* | Initial support for writing thin archives. | Rafael Espindola | 2015-07-15 | 1 | -0/+11 | |
| | | | | llvm-svn: 242269 | |||||
* | Accept lower case to handle windows error messages. | Rafael Espindola | 2015-07-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 242236 | |||||
* | Add support for reading members out of thin archives. | Rafael Espindola | 2015-07-14 | 1 | -0/+6 | |
| | | | | | | | | | | For now the Archive owns the buffers of the thin archive members. This makes for a simple API, but all the buffers are destructed only when the archive is destructed. This should be fine since we close the files after mmap so we should not hit an open file limit. llvm-svn: 242215 | |||||
* | llvm-ar: Don't try to extract from thin archives. | Rafael Espindola | 2015-07-14 | 1 | -0/+3 | |
| | | | | | | This matches the gnu ar behavior. llvm-svn: 242162 | |||||
* | Sleep for 2.1 seconds to see if that makes the test stable on windows. | Rafael Espindola | 2015-07-14 | 1 | -2/+3 | |
| | | | | | | Might fix pr24106. llvm-svn: 242158 | |||||
* | llvm-ar: print an error when the requested member is not found. | Rafael Espindola | 2015-07-14 | 1 | -0/+4 | |
| | | | | llvm-svn: 242156 | |||||
* | Rename a test. NFC. | Rafael Espindola | 2015-07-14 | 1 | -2/+0 | |
| | | | | llvm-svn: 242151 | |||||
* | Add missing file. | Rafael Espindola | 2015-07-13 | 1 | -0/+0 | |
| | | | | | | Sorry about that. llvm-svn: 242083 | |||||
* | Fix reading archive members with / in the name. | Rafael Espindola | 2015-07-13 | 1 | -0/+6 | |
| | | | | | | This is important for thin archives. llvm-svn: 242082 | |||||
* | Add support deterministic output in llvm-ar and make it the default. | Rafael Espindola | 2015-07-13 | 4 | -20/+20 | |
| | | | | llvm-svn: 242061 | |||||
* | [Object][ELF] Handle the dynamic string table in files without a section table. | Michael J. Spencer | 2015-07-10 | 1 | -1/+29 | |
| | | | | llvm-svn: 241937 | |||||
* | [Object][ELF] Support dumping hash-tables from files with no section table. | Michael J. Spencer | 2015-07-09 | 2 | -0/+8 | |
| | | | | | | This time without breaking the bots. llvm-svn: 241869 | |||||
* | Create BSD archives by default on OS X. | Rafael Espindola | 2015-07-09 | 1 | -1/+1 | |
| | | | | | | | | | They should probably be created on anything that is not windows or linux, but I will test on freebsd before changing that. With this it is possible to bootstrap with llvm-ar instead of ar+ranlib on OS X. llvm-svn: 241849 | |||||
* | llvm-ar: Pad the symbol table to 4 bytes. | Rafael Espindola | 2015-07-09 | 1 | -0/+8 | |
| | | | | | | | It looks like ld64 requires it. With this we seem to be able to bootstrap using llvm-ar+/usr/bin/true instead of ar+ranlib (currently on stage2). llvm-svn: 241842 | |||||
* | [yaml2obj] Initialize sh_addralign field for the .symtab section | Simon Atanasyan | 2015-07-09 | 1 | -0/+3 | |
| | | | | llvm-svn: 241835 | |||||
* | [ELF] Explicitly configure sections alignment in the tests. NFC | Simon Atanasyan | 2015-07-09 | 2 | -0/+2 | |
| | | | | llvm-svn: 241834 | |||||
* | Add missing file from previous commit. | Rafael Espindola | 2015-07-09 | 1 | -0/+0 | |
| | | | | llvm-svn: 241815 | |||||
* | Basic support for BSD symbol tables in archives. | Rafael Espindola | 2015-07-09 | 1 | -0/+21 | |
| | | | | | | | This could be optimized and for now we only produce __.SYMDEF and not "__.SYMDEF SORTED". llvm-svn: 241814 | |||||
* | Temporarily reverting 241765, 241768, and 241772 to unbreak the build bots. | Adrian Prantl | 2015-07-09 | 2 | -8/+0 | |
| | | | | llvm-svn: 241781 | |||||
* | [Object][ELF] Support dumping hash-tables from files with no section table. | Michael J. Spencer | 2015-07-09 | 2 | -0/+8 | |
| | | | | llvm-svn: 241765 | |||||
* | Don't reject an archive with just a symbol table. | Rafael Espindola | 2015-07-08 | 2 | -0/+4 | |
| | | | | | | It is pretty unambiguous how to interpret it and gnu ar accepts it too. llvm-svn: 241750 |