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.