Suggestion Description
If you build a default code object with clang trunk, it'll be code object version 6. If you try to run that on a ROCm before 6.3, e.g. on the one from your Linux distro, the error message you get is HSA_STATUS_ERROR_INVALID_CODE_OBJECT. That is extremely misleading for "the code object is fine and has a larger version number in it than HSA expected".
Instead of this, please return a new error code, indicating that HSA has been presented with a code object from the future. ERROR_CODE_OBJECT_VERSION_6_EXPECTED_BETWEEN_2_AND_5 or similar. Something much more explicit that tells the user where things have gone wrong, as opposed to INVALID_CODE_OBJECT which sent me down a wild goose chase.
Side note, it is not helpful that the version number in the elf header is different from the code object version number.
Operating System
No response
GPU
No response
ROCm Component
No response