+2021-04-29  Nick Clifton  <nickc@redhat.com>
+
+       PR 27793
+       * som.c (som_slurp_symbol_table): Assign symbols without any scope
+       to the undefined section.
+       (som_decode_symclass): Check for a missing symbol section.
+       * syms.c (bfd_decode_symclass): Likewise.
+
 2021-04-29  Nick Clifton  <nickc@redhat.com>
 
        PR 27792
 
          goto error_return;
        }
       sym->symbol.value = bfd_getb32 (bufp->symbol_value);
-      sym->symbol.section = 0;
+      sym->symbol.section = NULL;
       sym->symbol.flags = 0;
 
       switch (symbol_type)
          sym->symbol.section = bfd_section_from_som_symbol (abfd, bufp);
          sym->symbol.value -= sym->symbol.section->vma;
          break;
+
+       default:
+         sym->symbol.section = bfd_und_section_ptr;
+         break;
        }
 
       /* Check for a weak symbol.  */
 {
   char c;
 
+  /* If the symbol did not have a scope specified,
+     then it will not have associated section.  */
+  if (symbol == NULL || symbol->section == NULL)
+    return '?';
+
   if (bfd_is_com_section (symbol->section))
     return 'C';
   if (bfd_is_und_section (symbol->section))
 
 {
   char c;
 
+  /* Paranoia...  */
+  if (symbol == NULL || symbol->section == NULL)
+    return '?';
+
   if (symbol->section && bfd_is_com_section (symbol->section))
     {
       if (symbol->section->flags & SEC_SMALL_DATA)