86 Commits

Author SHA1 Message Date
Download-Fritz
edbfcdaecb OcMachoLib: Reorder MachoInitializeContext() arguments to match OOP. 2018-11-03 19:45:51 +01:00
Download-Fritz
4c77093379 OcMachoLib: Remove redundant cast. 2018-11-03 19:45:10 +01:00
vit9696
abbff41d03 Silence analyser 2018-11-01 18:51:07 +03:00
Download-Fritz
dd8df2b112 OcGuardLib: Use EFIAPI for functions involving VA. 2018-11-01 07:27:02 +01:00
vit9696
70b9c345dd Implemented UBSan runtime support based on NetBSD source 2018-11-01 00:30:24 +03:00
Download-Fritz
16376f2ee9 Merge branch 'master' of github.com:acidanthera/OcSupportPkg 2018-10-31 07:21:51 +01:00
vit9696
811f3b9212 Update Visual Studio projects 2018-10-31 00:49:51 +03:00
vit9696
c97890a5f3 Implement alignment checking macros within OcGuardLib (formerly OcOverflowLib) 2018-10-31 00:45:36 +03:00
vit9696
5bd4aa6091 Move NullTextOutput to OcMiscLib 2018-10-28 18:09:29 +03:00
vit9696
5284879b38 Initial support for parsing serialised objects 2018-10-26 22:24:56 +03:00
vit9696
97d68a6b31 Fix OcTimerLib interface to be compatible with TimerLib.h 2018-10-24 18:04:33 +03:00
Download-Fritz
2cf8e08118 OcMachoLib: Introduce MachoGetMachHeader64(). 2018-10-21 21:57:35 +02:00
Download-Fritz
c3d4298326 OcMachoLib: Introduce symbol name retrieval functions. 2018-10-21 21:54:31 +02:00
Download-Fritz
92bbf6d606 OcMachoLib: Use incomplete type completed within the library as Context. 2018-10-21 17:19:40 +02:00
Download-Fritz
8dc4c32544 OcMachoLib: Correctly recognize symbol as local when there are no undefined symbols. 2018-10-21 15:12:54 +02:00
Download-Fritz
563e61ebcf OcMachoLib: Import MachoIsSymbolValueSane64(). 2018-10-21 15:10:56 +02:00
Download-Fritz
d6636d80ba OcMachoLib: Return non-CONST pointers. 2018-10-21 15:08:23 +02:00
Download-Fritz
59c2692fa2 OcMachoLib: Clearify assumptions in InternalGetExternalRelocationByOffset(). 2018-10-21 15:03:16 +02:00
Download-Fritz
aa68a1e6ee OcMachoLib: Fix lack of SYMTABs retrieval when locating a symbol by its index. 2018-10-21 14:59:32 +02:00
Download-Fritz
4265923609 OcMachoLib: No longer expose GetExternalRelocationByOffset(). 2018-10-21 14:55:01 +02:00
Download-Fritz
bcdddbd9ae OcMachoLib: Update MachoGetMetaclassSymbolFromSmcpSymbol64() to use the new public APIs. Removes MachoGetCxxSymbolByExternRelocation64(). 2018-10-21 14:53:18 +02:00
Download-Fritz
48ea3b19f1 OcMachoLib: Get C++ symbols via relocations only from the extern ones. 2018-10-21 14:39:04 +02:00
Download-Fritz
38a311d72d OcMachoLib: Introduce MachoGetSymbolByExternRelocationOffset64(). 2018-10-21 14:19:25 +02:00
Download-Fritz
bb4650c47a OcMachoLib: Introduce MachoGetSymbolByIndex64(). 2018-10-21 14:00:37 +02:00
Download-Fritz
4f58dac778 OcMachoLib: Ensure basic symbol sanity. 2018-10-21 13:49:10 +02:00
Download-Fritz
662ef3d05d OcMachoLib: Add a few missing ASSERTs. 2018-10-21 12:08:17 +02:00
Download-Fritz
1ec1df5e78 OcMachoLib: Consider the LC buffer might be padded when retrieving the next. 2018-10-21 12:03:18 +02:00
Download-Fritz
b74e10e066 OcMachoLib: Drop the "minimal LC size" check.
It is implicitly covered by the checks below and worsens performance of valid binaries in favor of increasing it for invalid ones.
2018-10-21 11:58:21 +02:00
Download-Fritz
a5f7f6bed9 OcMachoLib: Verify the entire LC header is within the binary on Context init. 2018-10-21 11:41:14 +02:00
Download-Fritz
b932e6774d OcMachoLib: Fix C++ string manipulation code. 2018-10-21 05:48:59 +02:00
Download-Fritz
3299b3e158 OcMachoLib: Mark Context as IN OUT non-CONST. 2018-10-21 05:35:21 +02:00
Download-Fritz
2071d6643d OcMachoLib: Retrieve SYMTAB and DYSYMTAB via Context. Do not expose SYMTAB and DYSYMTAB directly. 2018-10-21 05:16:22 +02:00
Download-Fritz
339b36686b OcMachoLib: Turn GetSymbolByName into a private API. Different subsections shall be accessed by dedicated APIs. 2018-10-20 14:51:21 +02:00
Download-Fritz
5b67566e6f OcMachoLib: Fix "Mach-O" stylization. 2018-10-20 02:13:15 +02:00
Download-Fritz
53178770a0 OcMachoLib/Header: Introduce more sanity checks. 2018-10-20 02:10:41 +02:00
Download-Fritz
b38e572c80 OcMachoLib: Remove redundant symbol casts. 2018-10-20 01:33:04 +02:00
Download-Fritz
6015bce8d7 OcMachoLib: Update Get*Symtab naming scheme. 2018-10-20 01:32:44 +02:00
Download-Fritz
e54de715d4 OcMachoLib: Adapt to the new Mach-O header. 2018-10-20 01:29:37 +02:00
Download-Fritz
22c2cb9b44 OcMachoLib: Allow header to have more space than needed reserved for LCs. 2018-10-20 00:23:43 +02:00
Download-Fritz
fbc5310bc9 OcMachoLib: Fix address range check. 2018-10-19 23:56:30 +02:00
Download-Fritz
923cbb6bdb OcMachoLib: Drop missed invalid ASSERT. 2018-10-19 23:17:11 +02:00
Download-Fritz
ee9296b25d OcMachoLib: Fix typo in name comparison. 2018-10-19 23:14:39 +02:00
Download-Fritz
2c26827077 OcMachoLib: Make OC_MACHO_CONTEXT struct private. Provide MachoGetContextSize(). 2018-10-19 18:17:12 +02:00
Download-Fritz
0247641371 OcMachoLib: Deprecate GetFirstSegment/Section to simplify the future control flow. 2018-10-19 15:27:11 +02:00
Download-Fritz
54ae785af2 OcMachoLib: Adapt to the new MACH-O header. 2018-10-19 15:16:22 +02:00
Download-Fritz
bd943cab7d OcMachoLib: Remove a superfluous LC type check. 2018-10-19 14:59:31 +02:00
Download-Fritz
d4b592967f OcMachoLib: Bugfix for using a wrong segment size. 2018-10-19 14:59:15 +02:00
Download-Fritz
a3241dbde4 OcMachoLib: Deprecate Get*Command in favor of specific retrieval functions. 2018-10-19 14:56:38 +02:00
Download-Fritz
9806ebadbb OcMachoLib: Add missing ASSERTs to the Context init function. 2018-10-19 14:54:40 +02:00
Download-Fritz
b1bc2328ad OcMachoLib: Introduce Symtab and DySymtab retrieval functions. 2018-10-19 14:54:09 +02:00