MVID and AOTID stacktrace metadata no longer displays guids with '-'.
Metadata is now also using lowercase instead of uppercase.
Changed mono-symbolicate and mono --aot to use the minimalistic GUIDs.
{
metadataHandlers = new Dictionary<string, Func<StackTrace, string>> (StringComparer.Ordinal);
- string aotid = Assembly.GetAotId ();
+ var aotid = Assembly.GetAotId ();
if (aotid != null)
- AddMetadataHandler ("AOTID", st => { return aotid; });
+ AddMetadataHandler ("AOTID", st => { return new Guid (aotid).ToString ("N"); });
AddMetadataHandler ("MVID", st => {
var mvidLines = new Dictionary<Guid, List<int>> ();
mvids.Sort ();
var sb = new StringBuilder ();
- foreach (var mvid in mvids) {
- var mvidStr = mvid.ToString ().ToUpper ();
- sb.AppendLine (string.Format ("{0} {1}", mvid, string.Join (",", mvidLines[mvid])));
- }
+ foreach (var mvid in mvids)
+ sb.AppendLine (string.Format ("{0} {1}", mvid.ToString ("N"), string.Join (",", mvidLines[mvid])));
return sb.ToString ();
});
var assembly = AssemblyDefinition.ReadAssembly (assemblyPath);
- var mvid = assembly.MainModule.Mvid.ToString ().ToUpper ();
+ var mvid = assembly.MainModule.Mvid.ToString ("N");
var mvidDir = Path.Combine (msymDir, mvid);
Directory.CreateDirectory (mvidDir);
guid[10], guid[11], guid[12], guid[13], guid[14], guid[15]);
}
+/**
+ * mono_guid_to_string_minimal:
+ *
+ * Converts a 16 byte Microsoft GUID to lower case no '-' representation..
+ */
+char *
+mono_guid_to_string_minimal (const guint8 *guid)
+{
+ return g_strdup_printf ("%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
+ guid[3], guid[2], guid[1], guid[0],
+ guid[5], guid[4],
+ guid[7], guid[6],
+ guid[8], guid[9],
+ guid[10], guid[11], guid[12], guid[13], guid[14], guid[15]);
+}
static gboolean
get_constraints (MonoImage *image, int owner, MonoClass ***constraints, MonoGenericContainer *container, MonoError *error)
{
MONO_API char *mono_guid_to_string (const uint8_t *guid);
+MONO_API char *mono_guid_to_string_minimal (const uint8_t *guid);
+
MONO_API uint32_t mono_metadata_declsec_from_index (MonoImage *meta, uint32_t idx);
MONO_API uint32_t mono_metadata_translate_token_index (MonoImage *image, int table, uint32_t idx);
}
if (seq_points_to_file) {
- char *aotid = mono_guid_to_string (acfg->image->aotid);
+ char *aotid = mono_guid_to_string_minimal (acfg->image->aotid);
char *dir = g_build_filename (acfg->aot_opts.gen_msym_dir_path, aotid, NULL);
char *image_basename = g_path_get_basename (acfg->image->name);
char *aot_file = g_strdup_printf("%s%s", image_basename, SEQ_POINT_AOT_EXT);