Compiling a C++ file with this declaration:
#pragma section("gencode", read, write, execute)
results in a section that is read/execute, but not writable.
Running dumpbin /headers gives this(partial) result:
SECTION HEADER #6
BC80 virtual size
20000 virtual address (10020000 to 1002BC7F)
BE00 size of raw data
D200 file pointer to raw data (0000D200 to 00018FFF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
Other combinations or read, write and execute generate correct output, but read, write and execute together result in a section without write access.
Is this by design or a bug? I can't find the behavior described anywhere.