Add a reproducible MinGW PE EH-frame fixture - #196
Conversation
|
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS Validation record for head
|
e3e781a to
c6d5b50
Compare
|
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS Exact fixture-shape and consumer-output record for #196.
Before — cle Exact consumer baselineAfter — cle Exact consumer headBefore — angr Exact consumer baselineAfter — angr Exact consumer head |
ffc011f to
c7383da
Compare
|
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS Rebased onto binaries master; The reason: session: sharpen |
c7383da to
ebb7fe0
Compare
THIS MESSAGE WAS GENERATED BY AN AUTOMATED PROCESS
Problem
The coordinated CLE and angr regressions need a real PE whose wrapper at
0x401006already owns the bytes of an unnamed six-byte function at0x40100a. Binaries master has notests/x86/windows/eh-frame-occupied-start.exe, so that GNU.eh_frameboundary cannot be exercised.Root cause
Ordinary PE fixtures do not combine an occupied CFG range, no symbol for the inner target, and a GNU FDE that is the only metadata identifying the target as a function.
Fix
Add a source-built i386 MinGW PE together with its complete assembly source, BSD-2-Clause license, and deterministic build recipe. The sole GNU FDE starts at
0x40100a; the committed PE is timestamp-free and stripped of COFF symbols.Testing
Exact-head readback reports PE32/i386, image base
0x400000, entry RVA0x1000, zero timestamp, zero COFF symbols, and SHA-2561cd9ae0b00d1c4cde4cd95579cf9aae14104d9f99031aab77b0116e4e9aa7c8a. Two documented GCC 15.3.0/Binutils 2.46 builds were byte-identical. Validation: #196 (comment)session: sharpen