Conversation
bbd34c5 to
25318d6
Compare
|
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS Validation record for head
Build inputs present in the branch: Caveats: no image was rebuilt here — neither the clang/lld-link toolchain nor the .NET SDK was exercised — so byte-for-byte reproducibility is unconfirmed, and all three images carry a non-zero Re-keyed 2026-08-28. The figures above were measured at Rebased 2026-08-29. Re-keyed onto binaries master Rebased 2026-09-04. Re-keyed onto binaries master |
25318d6 to
8159566
Compare
|
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS All three added images read back with cle at master ( import cle, pefile
ld = cle.Loader(path, auto_load_libs=False)
pe = pefile.PE(path, fast_load=True); pe.parse_data_directories()
print(hex(pe.FILE_HEADER.Machine), hex(ld.main_object.entry), len(ld.main_object.relocs))
print([d.name for d in pe.OPTIONAL_HEADER.DATA_DIRECTORY if d.Size])Before — none of the three is in the repository: angr/binaries masterAfter — the two ARM images load with their machine-dependent directories with this change |
8159566 to
507020d
Compare
0883ef1 to
fe84f5d
Compare
d81abdd to
4d02551
Compare
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS
Problem
The repository has no Windows image for either ARM machine type and no .NET
ReadyToRun assembly, so nothing covers the PE structures whose layout depends
on the target: base relocations, the exception directory, and the machine type
a ReadyToRun image published for a non-Windows target carries. On master all
three paths are absent:
Root cause
Every PE here is x86 or x86-64 and none is produced by
dotnet publish, so themachine-dependent directories have only ever been exercised in one shape.
Fix
pe_reloc_arm64.exeandpe_reloc_armnt.exeare freestanding 3072-byte imagesbuilt from one source, each carrying base relocations and an exception
directory in its architecture's shape.
readytorun_linux_x64.dllcomesstraight out of
dotnet publish -r linux-x64 -p:PublishReadyToRun=true.Sources and build scripts are in
tests_src/windows; digests are in thevalidation record.
Testing
Read back with cle at master: the ARM64 image reports
IMAGE_FILE_HEADER.Machine = 0xaa64and the ARMNT one0x01c4, both with anon-empty
EXCEPTIONandBASERELOCdirectory and five sections. TheReadyToRun DLL reports machine
0xfd1dand cle refuses it withArchNotFound: Can't find architecture info for architecture 0xfd1d, which isthe case its consumer fixes. Used by angr/cle#755 and by its two siblings on
the PE backend, both named in the validation comment.
Validation: #183 (comment)
session: sharpen