Hi, I have tried to build either gcc 10.4.0 or 11.3.0 on hppa2.0w-hp-hpux11.11. Both produce the same error and fail at the comparison step: Comparing stages 2 and 3 warning: hppa2.0w-hp-hpux11.11/libgcc/lib2funcs_s.o differs warning: hppa2.0w-hp-hpux11.11/libgcc/lib2funcs.o differs Bootstrap comparison failure! gcc/analyzer/diagnostic-manager.o differs gcc/analyzer/feasible-graph.o differs gcc/analyzer/program-point.o differs gcc/analyzer/engine.o differs gcc/analyzer/sm-signal.o differs gcc/analyzer/trimmed-graph.o differs gcc/calls.o differs gcc/cgraph.o differs gcc/ipa-comdats.o differs gcc/ipa-visibility.o differs gcc/ipa-inline-transform.o differs gcc/ipa-predicate.o differs gcc/ipa-ref.o differs make[2]: *** [Makefile:23872: compare] Error 1 make[2]: Leaving directory '/usr/local/compile/gcc-11.3.0bin‘ I am using gcc 9.5.0 to bootstrap: # gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/hppa2.0w-hp-hpux11.11/9.5.0/lto-wrapper Target: hppa2.0w-hp-hpux11.11 Configured with: ../gcc-9.5.0/configure --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local --disable-nls --with-libiconv-prefix=/usr/local --enable-languages=c,c++,fortran --with-gnu-as --with-as=/usr/local/bin/gas --enable-threads=posix --without-gnu-ld --with-ld=/usr/ccs/bin/ld Thread model: posix gcc version 9.5.0 (GCC) GNU binutils are 2.21.1. I have also tried updating just GNU as to the latest 2.38, but that makes no difference. The configuration command is the same as indicated by gcc-9.5.0. I would really appreciate any ideas here. thanks, Dennis
Hi Dennis, On 07.19.2022 17:25, Dennis Grevenstein via Gcc-help wrote: >I have tried to build either gcc 10.4.0 or 11.3.0 on hppa2.0w-hp-hpux11.11. >Both produce the same error and fail at the comparison step: > >I am using gcc 9.5.0 to bootstrap: > >GNU binutils are 2.21.1. I have also tried updating just GNU as to the >latest 2.38, but that makes no difference. Seeing your message come through the list piqued my interest, so I pulled out the c8000 workstation again and installed HP-UX 11v1 on it. Not directly helpful to your present problem, perhaps, but as a data point, I was able to successfully get all the way to a working gcc-12.1.0 starting with nothing but the HP ANSI C compiler. Starting from an 11.11 HP-UX and HP C installation, with Support Plus 2009-12 patches, I was able to: - With CC="cc -Ae +DD64" to get a 64-bit toolchain - build GNU make-3.82 - build binutils-2.14 - build gcc-3.4.6 Using that gcc-3.4.6, I could build: - gawk-3.1.8 - binutils-2.25.1 (the last that builds before we have stdint.h available) Then, using the HP ANSI C compiler (*not* the gcc-3.4.6 we built, it will generate code that can't be assembled due to incorrect handling of very large switch statements): - gcc-4.7.4 (in-tree gmp/mpfr/mpc build failed during stage 2, so I built my own first) Using that gcc-4.7.4, I was able to build gcc-10.4.0 successfully (in-tree gmp/mpfr/mpc worked this time). With gcc-10.4.0, I could build: - texinfo-6.8 (because the latest binutils build seems to require texinfo even though it claims it doesn't if you don't need to regenerate the documentation) - gawk-5.1.1 - make-4.3 - binutils-2.38 - gcc-12.1.0 (but see https://gcc.gnu.org/pipermail/gcc-help/2022-May/141628.html; I needed to comment out lines 756-757 in c++tools/server.cc just like I did on HP-UX 11.23) All intermediate GCCs were with --enable-languages=c,c++; the final gcc-12.1.0 was with --enable-languages=c,c++,fortran. No exotic configure flags for any of them, just the usual --with-gnu-as, --with-as, --without-gnu-ld, --with-ld, --disable-nls, --enable-threads=posix. So... perhaps something suspect gcc 9.5.0? If you have the HP ANSI C compiler available, perhaps you can take a path similar to mine and build up from scratch. If you don't have the HP compiler, the GCC Platforms notes indicate it may be possible to start by using the built-in K&R C compiler in HP-UX to build gcc 3.3 and start working your way up from there. -Matthew
On 7/19/2022 9:25 AM, Dennis Grevenstein via Gcc-help wrote:
> Hi,
>
> I have tried to build either gcc 10.4.0 or 11.3.0 on hppa2.0w-hp-hpux11.11.
> Both produce the same error and fail at the comparison step:
>
> Comparing stages 2 and 3
> warning: hppa2.0w-hp-hpux11.11/libgcc/lib2funcs_s.o differs
> warning: hppa2.0w-hp-hpux11.11/libgcc/lib2funcs.o differs
> Bootstrap comparison failure!
> gcc/analyzer/diagnostic-manager.o differs
> gcc/analyzer/feasible-graph.o differs
> gcc/analyzer/program-point.o differs
> gcc/analyzer/engine.o differs
> gcc/analyzer/sm-signal.o differs
> gcc/analyzer/trimmed-graph.o differs
> gcc/calls.o differs
> gcc/cgraph.o differs
> gcc/ipa-comdats.o differs
> gcc/ipa-visibility.o differs
> gcc/ipa-inline-transform.o differs
> gcc/ipa-predicate.o differs
> gcc/ipa-ref.o differs
> make[2]: *** [Makefile:23872: compare] Error 1
> make[2]: Leaving directory '/usr/local/compile/gcc-11.3.0bin‘
>
>
> I am using gcc 9.5.0 to bootstrap:
[ ... ]
So the way we end up having to debug this stuff is to compare the
resulting code in the files that differ and where/why they differ. Given
that the PA/HP-UX isn't a common target anymore, it's entirely possible
something has gone wonky. I know John David Anglin does build it
semi-regularly, maybe he has some insight. My tester only builds 32bit
PA Linux, so it's not particularly helpful.
It might be something in the debug sections, in which case bootstrapping
without -g should get you over the hump. It might also be a problem
where -g is impacting the resulting code generation (that's not supposed
to happen, but does), and again bootstrapping without -g should get you
over the hump.
It may also be the case that there's a codegen issue in gcc-9.5.0 that
affects building gcc-10 and gcc-11. I think it's pretty unlikely to be
a binutils problem.
So the first step is to look at those files and see where they differ.
Do they differ in the contents of the text section or is it something else?
jeff