Commit Graph

  • d9bbe33316 Add initial autoanalysis Massimo Fioravanti 2023-01-17 15:37:31 +01:00
  • b866e9010e ELFImporter: fix setting gp_mips canonical value Alessandro Di Federico 2023-03-22 14:22:22 +01:00
  • 956160e667 TypeCopier: Avoid copying the types twice Djordje Todorovic 2023-03-22 11:38:12 +01:00
  • 2fdfaef77e Merge branch 'feature/fix-rename' Alessandro Di Federico 2023-03-20 16:38:11 +01:00
  • c7d13fd176 PipelineC: fix model verification clause feature/fix-rename Giacomo Vercesi 2023-03-20 13:47:37 +01:00
  • 3b94dfae4b PipelineC: rework rp_error data type Giacomo Vercesi 2023-03-20 13:30:35 +01:00
  • 92dd38c603 TypeCopier: copy PrimitiveTypes only when needed Alessandro Di Federico 2023-03-16 15:19:41 +01:00
  • 5d4cbbbda3 Merge branch 'feature/stack-argument-alignment' Pietro Fezzardi 2023-03-15 14:49:11 +01:00
  • d24a8ff120 Merge branch 'feature/stack-argument-alignment' Alessandro Di Federico 2023-03-15 14:07:47 +01:00
  • e52a07a657 revng-primitive-types.h: fix a typo Ivan Krysak 2023-02-20 14:52:46 +01:00
  • 47213e1669 Backend: remove an obsolete log file Ivan Krysak 2023-02-16 11:03:15 +01:00
  • b0024a302f Fixes for SPTAR passed on the stack Alessandro Di Federico 2023-02-14 10:26:55 +01:00
  • f5c50da449 Tests: reorder the analyses to import first Ivan Krysak 2023-02-07 14:58:33 +01:00
  • 4e2159d9b5 MakeModelGEP: fix aggregate return value support Ivan Krysak 2023-02-09 13:04:44 +01:00
  • d08c9387d2 DLA: stop updating aggregate return value types Ivan Krysak 2023-01-12 10:06:41 +01:00
  • eb34c2ee1f Pipes: add ConvertToCABIFunctionType analysis Ivan Krysak 2023-01-03 12:25:02 +01:00
  • 89774a1789 RemoveStackAlignmentPass: Add empty input support Ivan Krysak 2023-01-18 16:45:03 +01:00
  • 64d83c89c4 Testing: use the new temp file generator Ivan Krysak 2023-01-12 10:06:34 +01:00
  • d325e3b64a SSA: support shadow arguments on stack Alessandro Di Federico 2023-02-09 13:39:02 +00:00
  • 85fcd92f0e Backend: reword a comment Ivan Krysak 2023-02-14 17:14:38 +01:00
  • 56cdd8f876 Model: make model::Type::size() stricter Ivan Krysak 2023-01-12 10:04:34 +01:00
  • c2f0fc19e5 ABI: FunctionType.h -> FunctionType/Layout.h Ivan Krysak 2023-01-03 12:24:27 +01:00
  • 9475eefe76 ABI-testing: add unit tests for the alignment feature/stack-argument-alignment Ivan Krysak 2023-02-27 17:03:29 +01:00
  • 64856306c4 BinaryImporter: rework command line interface Ivan Krysak 2023-03-01 09:19:15 +02:00
  • 35956f46fe DwarfImporter: leave a note about static functions Ivan Krysak 2023-02-28 13:56:15 +02:00
  • 19e292f097 abi::FunctionType: standardize std integer usage Ivan Krysak 2023-02-21 11:44:01 +01:00
  • 7c360eb8d1 PDBImporter: preserve x64 vector and clr ABIs Ivan Krysak 2023-02-20 15:04:20 +01:00
  • 34b532c754 BinaryImporter: always promote original name Ivan Krysak 2023-02-20 15:02:46 +01:00
  • 08b3764b23 BinaryImporter: prevent overlap in segment struct Ivan Krysak 2023-02-15 09:15:43 +01:00
  • 1f439cbb8c ABI-testing: extend to support unusual alignment Ivan Krysak 2023-02-08 12:11:38 +02:00
  • 750b6361a8 ABI-testing: add SPTARV support Ivan Krysak 2023-02-08 11:39:39 +02:00
  • d65ed50e0b ABI-testing: allow explicit abi overrides Ivan Krysak 2023-02-08 11:33:48 +02:00
  • a7be2cd11b ABI-testing: improve robustness against padding Ivan Krysak 2023-02-08 11:37:06 +02:00
  • e1ebe8ea35 ABI-testing: introduce CABI-FT correction script Ivan Krysak 2023-03-01 16:25:10 +01:00
  • a360b11426 ABI: fix issues with regparm abi definitions Ivan Krysak 2023-02-02 17:58:10 +02:00
  • 1f27e938bf ABI: rework non-position based distribution Ivan Krysak 2023-02-08 12:26:36 +02:00
  • e84c76019a ABI: introduce an additional definition option Ivan Krysak 2023-02-07 17:03:31 +02:00
  • b8b1a716ed ABI: let NoOrDead painlessly decay to No Ivan Krysak 2023-02-02 18:04:59 +02:00
  • 550b286a9e ABI: stop treating stack pointer as callee saved Ivan Krysak 2023-02-01 10:18:08 +01:00
  • 15f8999fce ABI-testing: simplify compatibility checker Ivan Krysak 2023-02-02 17:37:35 +02:00
  • 2dfe65f65c ABI: purge unnamed types when analyses are done Ivan Krysak 2023-02-27 14:41:56 +02:00
  • 17c128c59b Make ABI depend on ModelPasses Ivan Krysak 2023-02-07 14:54:24 +01:00
  • 4d21a88777 Model: remove an obsolete function conversion pass Ivan Krysak 2023-01-02 15:38:34 +01:00
  • f068bcb34f ABI-testing: switch to the new analyses Ivan Krysak 2023-01-02 15:37:55 +01:00
  • 158272dee5 ABI: add an analysis for ToCABI conversion Ivan Krysak 2023-02-07 16:50:54 +02:00
  • 952b938598 ABI: add an analysis for ToRaw conversion Ivan Krysak 2023-02-07 16:49:54 +02:00
  • fba30712cc ABI: introduce abi::FunctionType::filterTypes Ivan Krysak 2023-01-23 10:39:01 +00:00
  • 3d05439001 ABI: improve multi-aligned stack argument support Ivan Krysak 2023-01-30 17:28:24 +01:00
  • 3edfaa827f ABI: preserve big scalar return values if possible Ivan Krysak 2023-01-26 08:22:16 +01:00
  • a936990c77 ABI: abstract stack alignment verification away Ivan Krysak 2023-01-19 17:31:56 +02:00
  • 806d4053a0 ABI: reintroduce conversion logs Ivan Krysak 2023-01-26 09:44:42 +00:00
  • 09f1d5b5e7 ABI: rework stack argument conversion Ivan Krysak 2023-01-24 13:48:55 +01:00
  • ea6148e616 DetectABI: leave a todo on droping RS deductions Ivan Krysak 2023-01-24 13:42:58 +01:00
  • a0adafeab0 ABI: take advantage of register state deductions Ivan Krysak 2023-01-24 13:42:04 +01:00
  • 0c82ff91b1 ABI: move the conversion ouside the helper class Ivan Krysak 2023-01-24 13:23:10 +01:00
  • 3422a9bf0f ABI: reintoduce conversion logs Ivan Krysak 2023-01-24 13:18:10 +01:00
  • b966637373 Layout: improve shadow return value handling Ivan Krysak 2023-01-24 12:32:14 +01:00
  • a093d166b1 ABI: revamp basic floating point argument handling Ivan Krysak 2023-01-24 12:12:18 +01:00
  • 9f7427c776 ABI: fix desynchronization of argument indices Ivan Krysak 2023-01-24 11:36:53 +01:00
  • f7be81737b ToRawConverter: don't attempt to recover types Ivan Krysak 2023-02-24 17:47:45 +02:00
  • 5bf13ac420 ABI: restructure ToRaw conversion root Ivan Krysak 2023-01-24 11:23:01 +01:00
  • 1d1003b7e5 ABI: introduce TypeBucket helper Ivan Krysak 2023-01-23 11:35:52 +01:00
  • 8a1d62728d ABI: remove constexpr abi trait Ivan Krysak 2022-11-28 10:51:19 +02:00
  • 4ecb88ab9d ABI: move ToCABIConverter onto the runtime trait Ivan Krysak 2023-01-24 11:03:22 +02:00
  • 51beb8fc1b ABI: move ToRawConverter onto the runtime trait Ivan Krysak 2023-01-24 10:32:44 +02:00
  • 30b9234a04 abi::Definition: introduce a padding helper Ivan Krysak 2023-01-24 10:03:58 +02:00
  • 59d3b627a1 ABI: simplify default prototype stack traces Ivan Krysak 2022-12-21 11:51:03 +01:00
  • 039de1fe6d ABI: move function prototype onto the runtime trait Ivan Krysak 2022-11-28 10:12:25 +02:00
  • 89b3def533 ABI: move RegisterOrder onto the runtime trait Ivan Krysak 2022-11-28 10:09:57 +02:00
  • 9e393578c9 ABI: move state deduction onto the runtime trait Ivan Krysak 2022-11-28 10:49:41 +02:00
  • ce0d39a9a6 Model: document model::Type::size() Ivan Krysak 2023-02-24 10:23:22 +02:00
  • b19572ea67 Model: Leave a note about the alignment Ivan Krysak 2023-02-27 16:08:33 +02:00
  • 84229d92b1 Model & ABI: make size and alignment stricter Ivan Krysak 2022-12-16 11:10:33 +02:00
  • 769e5c1cbe ABI: add a natural alignment calculation helper Ivan Krysak 2022-10-06 08:15:11 +02:00
  • 6fc300d6d4 ABI: forbid using XMM registers to return values Ivan Krysak 2023-01-12 10:02:45 +01:00
  • 8b675e131e ABI: introduce runtime abi definition Ivan Krysak 2022-11-23 15:25:17 +02:00
  • 58b33ea7af ABI-testing: make rtf-equivalence id-independent Ivan Krysak 2023-01-02 14:12:03 +01:00
  • 7daa187107 ABI-testing: support returning values as a pointer Ivan Krysak 2023-01-02 14:10:49 +01:00
  • ad0fc079b8 ABI-testing: rename verify-abi Ivan Krysak 2022-12-15 11:04:14 +02:00
  • f4cbbaa365 ABI-testing: remove an extra tag redefinition Ivan Krysak 2022-10-06 08:17:13 +02:00
  • 87bded80d3 ABI: rename RegisterList into RegisterVector Ivan Krysak 2023-01-24 09:23:09 +02:00
  • 3d3348b84a ABI: rename Converter into ToCABIConverter Ivan Krysak 2023-01-23 19:22:38 +02:00
  • b1b9453585 ABI: rename Converter into ToRawConverter Ivan Krysak 2023-01-23 18:57:00 +02:00
  • 0e8aee95e9 ABI: rename ArgumentContainer into ArgumentSet Ivan Krysak 2023-01-23 11:48:59 +01:00
  • 395191cdf1 ABI: use replaceReferencesIf when updating types Ivan Krysak 2023-01-23 11:14:21 +02:00
  • bcca3ac8b7 TupleTree: introduce replaceReferencesIf Ivan Krysak 2023-01-23 11:13:46 +02:00
  • 9eb55f363b STLExtras: introduce some c++20 invocable concepts Ivan Krysak 2023-01-23 11:13:24 +02:00
  • 01a05e2037 ABI: separate convertions based on the direction Ivan Krysak 2023-01-20 17:58:37 +02:00
  • 2f3128cb43 ABI: separate reused helpers into Support.h Ivan Krysak 2023-01-20 17:58:29 +02:00
  • 67bc7f8331 ABI: rename TheBinary into Binary Ivan Krysak 2022-10-04 13:51:30 +02:00
  • 0b0aab2161 ImportDebugInfo: explicitly depend on libABI Ivan Krysak 2023-02-07 14:56:45 +01:00
  • f5679262e9 DwarfImporter: prevent removal of valid arrays Ivan Krysak 2023-01-12 10:01:31 +01:00
  • 8521f6bedc YAML: enable manual [de]serialization of enums Ivan Krysak 2022-12-21 11:45:14 +01:00
  • eb67826da6 PathList: accept non-owning strings as arguments Ivan Krysak 2022-12-21 11:45:44 +01:00
  • 75feff6186 model::Register: introduce isUsedInArchitecture Ivan Krysak 2023-01-26 08:30:05 +00:00
  • 058807ca00 model::Register: rename getArchitecture Ivan Krysak 2023-01-26 08:28:36 +00:00
  • 9148f70b24 model::Register::getSize: leave a TODO Ivan Krysak 2023-01-26 08:26:18 +00:00
  • 7442bdc4a9 Model: introduce model::ABI::getPointerSize Ivan Krysak 2022-12-14 19:50:40 +02:00
  • c45b7778c1 Model: introduce copyMetadata and moveMetadata Ivan Krysak 2023-01-03 16:41:30 +01:00
  • 3c0c49c785 Model: add ABI::getRegisterArchitecture Ivan Krysak 2022-12-21 11:46:12 +01:00