Here is the exact way I tried:
clBuildProgram(FProgram,1,@OwnerDevice.FDeviceId,'-save-temps='+tempDir+'\cl -fno-bin-source -fno-bin-llvmir -fno-bin-amdil',....
This builds an opencl elf wich contains only the binary section in it. And this happens:
before 13.4: It produces the disassembled .isa textfile at the specified path.
13.4: It produces no temporary files at all.
I'm not sure if it's either a security thing or a bug.
For security reasons I think it can make harder to reverse-engineer a binary_only .elf file. But it is also makes harder to develop an assembler or a machine code generator because most of the instruction encodings can be learnt from the built in disassembler feature.
From now the disassembler is only works for instructions generated by amd_il, and it can't disassemble any binary stream.