[llvm] [yaml2obj][GOFF] Fix writing GOFF header (PR #91383)
via llvm-commits
llvm-commits at lists.llvm.org
Tue May 7 12:34:42 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-objectyaml
Author: Kai Nacke (redstar)
<details>
<summary>Changes</summary>
The first byte in the header is reserved, but the write method
currently ignores that. Emit the missing zero byte, and update
the tests accordingly.
---
Full diff: https://github.com/llvm/llvm-project/pull/91383.diff
3 Files Affected:
- (modified) llvm/lib/ObjectYAML/GOFFEmitter.cpp (+2-1)
- (modified) llvm/test/tools/yaml2obj/GOFF/GOFF-header-end.yaml (+1-1)
- (modified) llvm/test/tools/yaml2obj/GOFF/GOFF-header-settings.yaml (+1-1)
``````````diff
diff --git a/llvm/lib/ObjectYAML/GOFFEmitter.cpp b/llvm/lib/ObjectYAML/GOFFEmitter.cpp
index 345904407e1d24..47550ac971980e 100644
--- a/llvm/lib/ObjectYAML/GOFFEmitter.cpp
+++ b/llvm/lib/ObjectYAML/GOFFEmitter.cpp
@@ -219,7 +219,8 @@ void GOFFState::writeHeader(GOFFYAML::FileHeader &FileHdr) {
}
GW.makeNewRecord(GOFF::RT_HDR, GOFF::PayloadLength);
- GW << binaryBe(FileHdr.TargetEnvironment) // TargetEnvironment
+ GW << zeros(1) // Reserved
+ << binaryBe(FileHdr.TargetEnvironment) // TargetEnvironment
<< binaryBe(FileHdr.TargetOperatingSystem) // TargetOperatingSystem
<< zeros(2) // Reserved
<< binaryBe(FileHdr.CCSID) // CCSID
diff --git a/llvm/test/tools/yaml2obj/GOFF/GOFF-header-end.yaml b/llvm/test/tools/yaml2obj/GOFF/GOFF-header-end.yaml
index a5e99c2da2c491..8fab5f6ddad409 100644
--- a/llvm/test/tools/yaml2obj/GOFF/GOFF-header-end.yaml
+++ b/llvm/test/tools/yaml2obj/GOFF/GOFF-header-end.yaml
@@ -4,7 +4,7 @@
# CHECK: 03 f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# CHECK-NEXT: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# CHECK-NEXT: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-# CHECK-NEXT: 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
+# CHECK-NEXT: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
# CHECK-NEXT: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
## Verify GOFF Module end.
diff --git a/llvm/test/tools/yaml2obj/GOFF/GOFF-header-settings.yaml b/llvm/test/tools/yaml2obj/GOFF/GOFF-header-settings.yaml
index 1971c407199fbe..74a2a08f771322 100644
--- a/llvm/test/tools/yaml2obj/GOFF/GOFF-header-settings.yaml
+++ b/llvm/test/tools/yaml2obj/GOFF/GOFF-header-settings.yaml
@@ -4,7 +4,7 @@
# CHECK: 03 f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# CHECK-NEXT: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
# CHECK-NEXT: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
-# CHECK-NEXT: 00 00 01 00 03 00 00 00 00 00 00 00 00 00 00 00
+# CHECK-NEXT: 00 00 00 01 00 03 00 00 00 00 00 00 00 00 00 00
# CHECK-NEXT: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
## Verify GOFF Module end.
``````````
</details>
https://github.com/llvm/llvm-project/pull/91383
More information about the llvm-commits
mailing list