diff --git a/src/program_state.inl b/src/program_state.inl index 27fa9f2b0e..bdf127c9c5 100644 --- a/src/program_state.inl +++ b/src/program_state.inl @@ -355,8 +355,11 @@ public: const auto it1 = get_symbol_addresses().find(x); if (it1 == get_symbol_addresses().cend()) { - hip_throw(std::runtime_error{ - "Global symbol: " + x + " is undefined."}); + // For a unknown symbol, initialize it with a magic poison + hsa_executable_agent_global_variable_define( + executable, agent, x.c_str(), + reinterpret_cast(0xDEADBEEFDEADBEEFull)); + continue; } hsa_status_t status;