llvm with tablegen backend for capstone disassembler
Go to file
George Rimar 6da44ad75d [yaml2obj][obj2yaml] - Change how symbol's binding is descibed when parsing/dumping.
Currently, YAML has the following syntax for describing the symbols:

Symbols:
  Local:
    LocalSymbol1:
    ...
    LocalSymbol2:
    ...
  ...
  Global:
    GlobalSymbol1:
  ...
  Weak:
  ...
  GNUUnique:

I.e. symbols are grouped by their bindings. That is not very convenient,
because:

It does not allow to set a custom binding, what can be useful for producing
broken/special outputs for test cases. Adding a new binding would require to
change a syntax (what we observed when added GNUUnique recently).

It does not allow to change the order of the symbols in .symtab/.dynsym,
i.e. currently all Local symbols are placed first, then Global, Weak and GNUUnique
are following, but we are not able to change the order.

It is not consistent. Binding is just one of the properties of the symbol,
we do not group them by other properties.

It makes the code more complex that it can be. This patch shows it can be simplified
with the change performed.

The patch changes the syntax to just:

Symbols:
  Symbol1:
  ...
  Symbol2:
  ...
...

With that, we are able to work with the binding field just like with any other symbol property.

Differential revision: https://reviews.llvm.org/D60122

llvm-svn: 357595
2019-04-03 14:53:42 +00:00
clang Whitespace and formatting changes; NFC. 2019-04-03 14:40:00 +00:00
clang-tools-extra [clang-tidy] Remove the old ClangTidyCheck::registerPPCallbacks method 2019-04-03 14:03:43 +00:00
compiler-rt Fix typos in tests. NFC. 2019-04-03 13:15:09 +00:00
debuginfo-tests
libclc travis: Add LLVM-8 build 2019-03-27 21:28:31 +00:00
libcxx [libc++][NFC] Rename test file according to the libc++ convention 2019-04-03 14:38:28 +00:00
libcxxabi [libc++abi] Add LIBCXXABI_ENABLE_PIC cmake option 2019-04-03 00:34:12 +00:00
libunwind Revert "[runtimes] Move libunwind, libc++abi and libc++ to lib/ and include/" 2019-03-08 20:33:55 +00:00
lld [COFF] Reduce the size of Chunk and SectionChunk, NFC 2019-04-02 22:11:58 +00:00
lldb modify-python-lldb.py: clean up __iter__ and __len__ support 2019-04-03 11:48:38 +00:00
llgo IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
llvm [yaml2obj][obj2yaml] - Change how symbol's binding is descibed when parsing/dumping. 2019-04-03 14:53:42 +00:00
openmp [libomptarget] Introduce LIBOMPTARGET_ENABLE_DEBUG cmake option. 2019-03-26 15:19:15 +00:00
parallel-libs
polly Apply include-what-you-use #include removal suggestions. NFC. 2019-03-28 20:19:49 +00:00
pstl [pstl] Mangle the parallel_strict_scan backend function 2019-04-01 19:34:09 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format
.clang-tidy Disable tidy checks with too many hits 2019-02-01 11:20:13 +00:00
README.md

The LLVM Compiler Infrastructure

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.