-
-
Notifications
You must be signed in to change notification settings - Fork 33.5k
Open
Labels
OS-windowstopic-JITtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Bug description:
E.g.
void
emit__NOP(
unsigned char *code, unsigned char *data, _PyExecutorObject *executor,
const _PyUOpInstruction *instruction, jit_state *state)
{
//
// _NOP.o: file format coff-x86-64
// 0: '\x00\x00\x00\x00\x04\x00\x00\x00\xf1\x00\x00\x00<\x00\x00\x00\n\x00\x01\x11\x00\x00\x00\x00\x00\x00\x00\x00.\x00<\x11\x00\x00\x00\x00\xd0\x00\x15\x00\x01\x00\x04\x00\x00\x00\x16R\x00\x00\x00\x00\x00\x00clang version 21.1.4\x00\x00'
// 4c: 00 00 00 00
const unsigned char data_body[80] = {
0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
0xf1, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00,
0x0a, 0x00, 0x01, 0x11, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x3c, 0x11,
0x00, 0x00, 0x00, 0x00, 0xd0, 0x00, 0x15, 0x00,
0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x16, 0x52,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x6c,
0x61, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x72, 0x73,
0x69, 0x6f, 0x6e, 0x20, 0x32, 0x31, 0x2e, 0x31,
0x2e, 0x34,
};
memcpy(data, data_body, sizeof(data_body));
}which is in fact empty on main for Linux (at least for me on WSL) or Windows on 3.14.
The above block is contained in every stencil :(
Clang now generates debug info into the object files. Don't know when it happened, maybe one of the clang updates. Doesn't matter anyway, the fix is easy, just ignore .debug$S COFF sections, which brings us back to
void
emit__NOP(
unsigned char *code, unsigned char *data, _PyExecutorObject *executor,
const _PyUOpInstruction *instruction, jit_state *state)
{
//
// _NOP.o: file format coff-x86-64
// 0: '\x00\x00\x00\x00'
// 4: 00 00 00 00
}CPython versions tested on:
CPython main branch
Operating systems tested on:
Windows
Linked PRs
Metadata
Metadata
Assignees
Labels
OS-windowstopic-JITtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error