Pat Tullmann 0cb742dafb binfmt-detector-cli: rewrite to support PE32+ binaries (#38)
Rewrite with hard-coded offsets into the PE file format to discern
if a binary is PE32 or PE32+, and then to determine if it contains
a "CLR Data Directory" entry that looks valid.

Tested with PE32 and PE32+ compiled Mono binaries, PE32 and PE32+ native
binaries, and a random assortment of garbage files.

Former-commit-id: 9e7ac86ec84f653a2f79b87183efd5b0ebda001b
2023-10-16 20:16:47 +02:00
..
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00
2020-01-16 16:38:04 +00:00

+==============================================================================+
| How to organize the lit tests                                                |
+==============================================================================+

- If you write a test for matching a single DAG opcode or intrinsic, it should
  go in a file called {opcode_name,intrinsic_name}.ll (e.g. fadd.ll)

- If you write a test that matches several DAG opcodes and checks for a single
  ISA instruction, then that test should go in a file called {ISA_name}.ll (e.g.
  bfi_int.ll

- For all other tests, use your best judgement for organizing tests and naming
  the files.

+==============================================================================+
| Naming conventions                                                           |
+==============================================================================+

- Use dash '-' and not underscore '_' to separate words in file names, unless
  the file is named after a DAG opcode or ISA instruction that has an
  underscore '_' in its name.