message: Fix ICE on incompatible declarations of entry symbol
  Fixes
diff: @@ -70,7 +70,13 @@ fn create_entry_fn(
  };
  let entry_name = tcx.sess.target.options.entry_name.as_ref();
  - let cmain_func_id = m.declare_function(entry_name, Linkage::Export, &cmain_sig).unwrap();
  + let cmain_func_id = match m.declare_function(entry_name, Linkage::Export, &cmain_sig) {
  + Ok(func_id) => func_id,
  + Err(err) => {
  + tcx.sess
  + .fatal(&format!("entry symbol `{entry_name}` declared multiple times: {err}"));
  + }
  + };
  let instance = Instance::mono(tcx, rust_main_def_id).polymorphize(tcx);
  @@ -162,7 +168,11 @@ fn create_entry_fn(
  bcx.seal_all_blocks();
  bcx.finalize();
  }
  - m.define_function(cmain_func_id, &mut ctx).unwrap();
  +
  + if let Err(err) = m.define_function(cmain_func_id, &mut ctx) {
  + tcx.sess.fatal(&format!("entry symbol `{entry_name}` defined multiple times: {err}"));
  + }
  +
  unwind_context.add_function(cmain_func_id, &ctx, m.isa());
  }
  }
  