aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
diff options
context:
space:
mode:
authorLucas Prates <lucas.prates@arm.com>2022-07-11 17:33:48 +0100
committerLucas Prates <lucas.prates@arm.com>2022-08-01 13:28:01 +0100
commitba9caf91708abb052e22982d2665abb50e9759cb (patch)
tree6a7845473a49fe4aff42fdbab4531c3f7846abce /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
parentf96e15932161d2fe8f8740ed0fa02079e782d753 (diff)
downloadllvm-ba9caf91708abb052e22982d2665abb50e9759cb.zip
llvm-ba9caf91708abb052e22982d2665abb50e9759cb.tar.gz
llvm-ba9caf91708abb052e22982d2665abb50e9759cb.tar.bz2
[Arm] Fix parsing and emission of Tag_also_compatible_with eabi attribute
According to the ABI for the Arm Architecture, the value for the Tag_also_compatible_with eabi attribute is represented by an NTBS entry. This string value, in turn, is composed of a pair of tag+value encoded in one of two formats: - ULEB128: tag, ULEB128: value, 0. - ULEB128: tag, NBTS: data. (See [[ https://github.com/ARM-software/abi-aa/blob/60a8eb8c55e999d74dac5e368fc9d7e36e38dda4/addenda32/addenda32.rst#3373secondary-compatibility-tag | section 3.3.7.3 on the Addenda to, and Errata in, the ABI for the Arm Architecture ]].) Currently the Arm assembly parser and streamer ignore the encoding of the attribute's NTBS value, which can result in incorrect attributes being emitted in both assembly and object file outputs. This patch fixes these issues by properly handing the value's encoding. An update to llvm-readobj to properly handle the attribute's value will be covered by a separate patch. Patch by Victor Campos and Lucas Prates. Reviewed By: vhscampos Differential Revision: https://reviews.llvm.org/D129500
Diffstat (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp')
0 files changed, 0 insertions, 0 deletions