[Lldb-commits] [PATCH] D40616: ObjectFileELF: Add support for compressed sections
Zachary Turner via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Nov 30 09:04:20 PST 2017
zturner added inline comments.
================
Comment at: lit/Modules/compressed-sections.yaml:1
+# REQUIRES: zlib
+# RUN: yaml2obj %s > %t
----------------
labath wrote:
> It's right here. (I'm open to suggestions where to place it).
I see. I think part of the reason I didn't notice it is because it has a `.yaml` extension just like the old one, so I didn't notice this was really a test.
LLVM is a little inconsistent here (it has tests that end in `.ll` and `.s`, but not for most other file extensions), so can you rename this to `compressed-sections.test`?
At some point I think we should inject another directory in this hierarchy (i.e. `lit/test/Modules`), but since this is not going to be the first directory here, I guess it doesn't need to happen now.
================
Comment at: lit/Modules/compressed-sections.yaml:12-13
+ - Name: .hello_elf
+# CHECK: Section 1
+# CHECK: Name: .hello_elf
+ Type: SHT_PROGBITS
----------------
Can you separate the `CHECK` lines and the YAML content? I think it makes it easier to follow this way, and it gives a consistent paradigm (checks first, then input, or vice versa). Interspersing them doesn't always work (for example if the tool doesn't output things in the same order as the input description).
================
Comment at: lit/Modules/compressed-sections.yaml:17-18
+ Content: 010000000800000001000000789c5330700848286898000009c802c1
+# CHECK: File size: 8
+# CHECK: Data: 2030405060708090
+ - Name: .bogus
----------------
Can you use `CHECK-NEXT` for these two? As it stands, if we output:
```
Name: .hello_elf
File size: -1
Data: -1
Name: .hello_coff
File size: 8
Data: 2030405060708090
```
It would pass, as written.
================
Comment at: lit/Modules/compressed-sections.yaml:20
+ - Name: .bogus
+# CHECK-NOT: .bogus
+ Type: SHT_PROGBITS
----------------
You should probably put this as the very first check statement. Each successfully matching `CHECK` line will update an internal position and subsequent checks will only start from that position, so here you're only checking that after `.bogus` does not occur after `.hello_elf`, but this test would pass if `.bogus` occurred before `.hello_elf`. But putting the `CHECK-NOT` first, both will fail (this is also a good reason not to intersperse the check lines).
https://reviews.llvm.org/D40616
More information about the lldb-commits
mailing list