https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96422

            Bug ID: 96422
           Summary: [11 regression] Comparison failure in some 32-bit
                    libgomp PIC objects
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ro at gcc dot gnu.org
                CC: rguenth at gcc dot gnu.org
  Target Milestone: ---
            Target: amd64-pc-solaris2.11, i386-pc-solaris2.11

Between 20200730 (561a19c3011f7bde3a41f2a27ea979118e3a2dff) and 20200731
(ed0b4bb29a50d6be0e4b6411b3cc9f22967f1313), Solaris/x86 bootstrap began to
fail:

I'm seeing several comparison failures:

Bootstrap comparison failure!
i386-pc-solaris2.11/libgomp/.libs/task.o differs
i386-pc-solaris2.11/libgomp/.libs/target.o differs
i386-pc-solaris2.11/libgomp/.libs/oacc-mem.o differs
i386-pc-solaris2.11/libgomp/.libs/oacc-init.o differs
i386-pc-solaris2.11/libgomp/.libs/oacc-parallel.o differs

They only affect the 32-bit PIC objects, both for 32-bit-default and
64-bit-default
builds.  However, this only happens when the native assembler is used;
bootstraps
with gas work fine.

I haven't done much analysis yet.  However, for the smallest of the files 
Solaris elfdiff shows:

$  elfdiff -e  oacc-parallel.o.stage?
*** section: [11].debug_info: data information differs
<     0x1d11:   \01   s \12   s \07  \0  \0 \1a \0d  \0  \0   F \08 \17  \0  \0
>     0x1d11:   \01   s \12   s \07  \0  \0 \0e \0d  \0  \0   F \08 \17  \0  \0

*** section: [13].debug_loc: shdr information differs
<     sh_size:      0xf54           sh_type:    [ SHT_PROGBITS ]
>     sh_size:      0xf48           sh_type:    [ SHT_PROGBITS ]
*** section: [13].debug_loc: data information differs
<     0xcb9:   \01  \0  \0 \02  \0   3 \9f   p \01  \0  \0 \9e \01  \0  \0 \02
>     0xcb9:   \01  \0  \0 \02  \0   3 \9f   z \01  \0  \0 \9e \01  \0  \0 \02

It seems plausible that this patch

2020-07-31  Richard Biener  <rguent...@suse.de>

        PR debug/96383
        * langhooks-def.h (lhd_finalize_early_debug): Declare.
        (LANG_HOOKS_FINALIZE_EARLY_DEBUG): Define.
        (LANG_HOOKS_INITIALIZER): Amend.
        * langhooks.c: Include cgraph.h and debug.h.
        (lhd_finalize_early_debug): Default implementation from
        former code in finalize_compilation_unit.
        * langhooks.h (lang_hooks::finalize_early_debug): Add.
        * cgraphunit.c (symbol_table::finalize_compilation_unit):
        Call the finalize_early_debug langhook.

is the culprit.

Reply via email to