* dwarf2loc.c (dwarf_expr_frame_base): Error out on missing
[deliverable/binutils-gdb.git] / binutils / windmc.c
index 14a2f86a1de7c9407417db2bcd69ca751010feb3..2c6da4283dbc18c057b7dab0f28389b9586ae1fc 100644 (file)
@@ -245,18 +245,23 @@ set_endianess (bfd *abfd, const char *target)
   if (! target_vec)
     fatal ("Can't detect target endianess and architecture.");
   target_is_bigendian = ((target_vec->byteorder == BFD_ENDIAN_BIG) ? 1 : 0);
+
   {
-    const char *tname = target_vec->name;
-    const char **arch = bfd_arch_list ();
+    const char *  tname = target_vec->name;
+    const char ** arches = bfd_arch_list ();
 
-    if (arch && tname)
+    if (arches && tname)
       {
+       const char ** arch = arches;
+
        if (strchr (tname, '-') != NULL)
          tname = strchr (tname, '-') + 1;
+
        while (*arch != NULL)
          {
            const char *in_a = strstr (*arch, tname);
            char end_ch = (in_a ? in_a[strlen (tname)] : 0);
+
            if (in_a && (in_a == *arch || in_a[-1] == ':')
                && end_ch == 0)
              {
@@ -266,6 +271,9 @@ set_endianess (bfd *abfd, const char *target)
            arch++;
          }
       }
+
+    free (arches);
+
     if (! def_target_arch)
       fatal ("Can't detect architecture.");
   }
This page took 0.024368 seconds and 4 git commands to generate.