User Details
- User Since
- Mar 13 2020, 11:31 AM (50 w, 16 h)
Yesterday
- resubmit to catch parent-diff dependence
- revise according to review feedback
Wed, Feb 24
- final alignment & comment tweaks
- expand some comments, improve some alignment expressions
Sun, Feb 21
- wrap #if defined(__APPLE__) around <sys/mman.h> and msync()
- revise according to review feedback
I won't complain if someone accepts the diff! ;)
- set version as ... s/0x20400/CS_SUPPORTSEXECSEG/
- revise according to review feedback
Sat, Feb 20
- revise according to review feedback
Fri, Feb 19
Thu, Feb 18
Tue, Feb 16
- import code signing structs & enums into llvm/include/llvm/BinaryFormat/MachO.h
Mon, Feb 15
I could use some advice regarding import of the the Apple C (not C++) header cs_blobs.h:
- Some struct decls contain zero-length array members as offset markers. These are invalid C++, and LLD doesn't need them.
- Some struct decls contain flexible array members. These are invalid C++, and LLD doesn't need them.
- Some flag bit sets are specified via sequences of #define. LLVM prefers enum.
- All struct decls have __attribute__((aligned(1))). LLD does not need or want these.
- Struct definition pattern is typedef struct __TAG { ... } NAME; C++ prefers struct NAME { ... };
- The linter complains about case style for struct names.
Sun, Feb 14
- Invalidate signature-verification cache after writing hashes.
- replace CodeSigningTypes.h with augmented cs_blobs.h
- use appropriate constant symbols from cs_blobs.h rather than magic integers
Sat, Feb 13
- remove SHA256, which is added separately in D96540
- drop the fork+exec of /usr/bin/codesign and rewrite in C++
Thu, Feb 11
Wed, Feb 10
Mon, Feb 8
- Make RelocAttrBits::LLVM_BITMASK_LARGEST_ENUMERATOR adequate to escape assertions.
- rebase
- rebase & remove incomplete+failing test (will add later)
Sun, Feb 7
Sat, Feb 6
In order to perform ad-hoc codesign, I will need to compute sha256 of the program's pages. I see no other part of LLVM that uses a sha256 library. What library should I use?
Fri, Feb 5
- nit + rebase
- revise according to review feedback
Wed, Feb 3
@compnerd: I am uncertain how to structure a good test. A good test for satisfactory load-command order is already implicit: lld-linked programs don't run on ARM64 macOS otherwise.
- remove PageSize change, which is premature.
Tue, Feb 2
Mon, Feb 1
- rebase to see if seemingly-unrelated test failures resolve.
@int3 @smeenai
Regarding test failures x64 debian > libarcher.races ... These look unrelated to anything I have done in this diff, but looks can be deceiving.
Sun, Jan 31
- revise according to review feedback
- rewrite prepareSymbolRelocation() and resolveSymbolVA() as reloc-attribute-driven rather than target-specific
I also completed the TODO(gkm): hoist into target-independent code driven by RelocAttrBits refactors for prepareSymbolRelocation() and resolveSymbolVA()
Fri, Jan 29
Thu, Jan 28
@compnerd, I updated the title and summary as requested.
- revise according to review feedback
- revise according to review feedback
Jan 27 2021
Jan 22 2021
Pulling this back from review ... Not ready for prime time.
Jan 21 2021
- Update according to refactored reloc handling
Jan 18 2021
- Pare CHECK lines to the essentials. Add comments to the test: purpose, plus rationale for binary input.
Jan 11 2021
@thakis, that's a bug. There is no reason to deviate from ld64.
Dec 25 2020
Dec 21 2020
- add test case
Dec 19 2020
I fixed the clang-tidy failures before landing. Unfortunately, I neglected to update the diff with the final version, which is why you see the notice that I landed with ongoing build failures. Oops. :(
Dec 18 2020
- rewrite encoding-index maps to use .find() rather than .lookup() so we can remove the crufty size_tx
Awesome! Thank you @cchen15 !
This diff breaks git source trees on case-insensitive filesystems, such as on macOS.
I did this on Linux, which is case-sensitive:
$ find . |fgrep -i llvm/test/DebugInfo/X86/DIModule.ll ./llvm/test/DebugInfo/X86/DIModule.ll ./llvm/test/DebugInfo/X86/dimodule.ll
On a case-insensitive filesystem, these names collide and one overwrites the other, yeilding a tree with irreconcilable conflicts.
- revise according to review feedback