> @@ -22385,21 +22448,21 @@
>  static void
>  output_indirect_strings (void)
>  {
> +  switch_to_section (debug_str_section);
>    if (!dwarf_split_debug_info)
> -    {
> -      switch_to_section (debug_str_section);
> -      htab_traverse (debug_str_hash, output_indirect_string, NULL);
> -    }
> +    htab_traverse (debug_str_hash, output_indirect_string, NULL);
>    else
>      {
>        unsigned int offset = 0;
>        unsigned int cur_idx = 0;
>
> +      htab_traverse (skeleton_debug_str_hash, output_indirect_string, NULL);
> +
>        switch_to_section (debug_str_offsets_section);
>        htab_traverse_noresize (debug_str_hash,
>                                output_index_string_offset,
>                                &offset);
> -      switch_to_section (debug_str_section);
> +      switch_to_section (debug_str_dwo_section);
>        htab_traverse_noresize (debug_str_hash,
>                                output_index_string,
>                                &cur_idx);

Doesn't this routine now need to check to see if debug_str_hash and
skeleton_debug_str_hash are non-NULL individually? It gets called if
either is non-NULL, but what will happen if only one is NULL?

-cary

Reply via email to