[all-commits] [llvm/llvm-project] 4dd5f1: [yaml2obj] - Add `ELFYAML::YAMLIntUInt` to fix how...
Georgii Rymar via All-commits
all-commits at lists.llvm.org
Tue Mar 17 04:22:36 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 4dd5f1ca9b2b7ae50849efeb7cf3ecfbdb1cf67a
https://github.com/llvm/llvm-project/commit/4dd5f1ca9b2b7ae50849efeb7cf3ecfbdb1cf67a
Author: Georgii Rymar <grimar at accesssoftek.com>
Date: 2020-03-17 (Tue, 17 Mar 2020)
Changed paths:
M llvm/include/llvm/ObjectYAML/ELFYAML.h
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/test/tools/yaml2obj/ELF/relocation-addend.yaml
Log Message:
-----------
[yaml2obj] - Add `ELFYAML::YAMLIntUInt` to fix how we parse a relocation `Addend` key.
This patch makes `Relocation::Addend` to be `ELFYAML::YAMLIntUInt` and not `int64_t`.
`ELFYAML::YAMLIntUInt` it is a new type and it has the following benefits/features:
1) For an 64-bit object any hex/decimal addends
in the range [INT64_MIN, UINT64_MAX] is accepted.
2) For an 32-bit object any hex/decimal addends
in range [INT32_MIN, UINT32_MAX] is accepted.
3) Negative hex numbers like -0xffffffff are not accepted.
4) It is printed as decimal. I.e. obj2yaml will print
something like "Addend: 125", this matches the current behavior.
This fixes all FIXMEs in `relocation-addend.yaml`.
Differential revision: https://reviews.llvm.org/D75527
More information about the All-commits
mailing list