[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug default/24468] dwz -m generates partial unit without import



https://sourceware.org/bugzilla/show_bug.cgi?id=24468

--- Comment #3 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom de Vries from comment #2)
> ...
> diff --git a/dwz.c b/dwz.c
> index 8ea7c4d..93532b9 100644
> --- a/dwz.c
> +++ b/dwz.c
> @@ -3161,7 +3161,7 @@ die_eq_1 (dw_cu_ref cu1, dw_cu_ref cu2,
>        switch (form1)
>         {
>         case DW_FORM_ref_addr:
> -         if (likely (!op_multifile && !rd_multifile))
> +         if (likely (!op_multifile && !rd_multifile && !fi_multifile))
>             {
>               if (form1 != form2)
>                 FAIL;
> @@ -3176,7 +3176,7 @@ die_eq_1 (dw_cu_ref cu1, dw_cu_ref cu2,
>           switch (form2)
>             {
>             case DW_FORM_ref_addr:
> -             if (likely (!op_multifile && !rd_multifile))
> +             if (likely (!op_multifile && !rd_multifile && !fi_multifile))
>                 FAIL;
>               break;
>             case DW_FORM_ref_udata:
> ...

Interestingly, the code following this that forces handling unequal DW_FORMs
has the same condition:
...
        case DW_FORM_ref_addr:
          if (likely (!op_multifile && !rd_multifile && !fi_multifile))
            {
              ptr1 += cu1->cu_version == 2 ? ptr_size : 4;
              ptr2 += cu2->cu_version == 2 ? ptr_size : 4;
              break;
            }
          /* FALLTHRU */
...

-- 
You are receiving this mail because:
You are on the CC list for the bug.