[Bug bootstrap/65725] New: Bootstrap errors on Solaris 10 x86-64, including object diffs

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug bootstrap/65725] New: Bootstrap errors on Solaris 10 x86-64, including object diffs

kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65725

            Bug ID: 65725
           Summary: Bootstrap errors on Solaris 10 x86-64, including
                    object diffs
           Product: gcc
           Version: 4.9.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: skunk at iskunk dot org
              Host: x86_64-pc-solaris2.10
            Target: x86_64-pc-solaris2.10
             Build: x86_64-pc-solaris2.10

In the course of bootstrapping on Solaris 10 x86-64, I encountered one minor
error and one not-so-minor one, that could use some attention.

1. Missing libgcc-unwind.map file

libtool: link:  /tmp/gcc-4.9.2-build/./prev-gcc/xgcc
-B/tmp/gcc-4.9.2-build/./prev-gcc/ -B/opt/tg/x86_64-pc-solaris2.10/bin/
-B/opt/tg/x86_64-pc-solaris2.10/bin/ -B/opt/tg/x86_64-pc-solaris2.10/lib/
-isystem /opt/tg/x86_64-pc-solaris2.10/include -isystem
/opt/tg/x86_64-pc-solaris2.10/sys-include    -shared -Wl,-z -Wl,text -Wl,-h
-Wl,liblto_plugin.so.0 -o .libs/liblto_plugin.so.0.0.0  .libs/lto-plugin.o  
-static-libgcc ../libiberty/pic/libiberty.a  
ld: fatal: file libgcc-unwind.map: stat failed: No such file or directory
collect2: error: ld returned 1 exit status
gmake[4]: *** [liblto_plugin.la] Error 1
gmake[4]: Leaving directory `/tmp/gcc-4.9.2-build/lto-plugin'
gmake[3]: *** [all] Error 2
gmake[3]: Leaving directory `/tmp/gcc-4.9.2-build/lto-plugin'
gmake[2]: *** [all-stage2-lto-plugin] Error 2
gmake[2]: Leaving directory `/tmp/gcc-4.9.2-build'
gmake[1]: *** [stage2-bubble] Error 2
gmake[1]: Leaving directory `/tmp/gcc-4.9.2-build'
gmake: *** [bootstrap-lean] Error 2

This can be worked around with

    $ touch /tmp/gcc-4.9.2-build/lto-plugin/libgcc-unwind.map

This error comes up twice during the bootstrap, and the workaround is the same
both times.


2. stage2 vs. stage3 diffs

I keep getting these no matter what I try. Using the system's original GCC
(3.4.3), using a non-bootstrapped 4.9.2, specifying /usr/ccs/bin/as explicitly,
nada. I also tried building with the Solaris vendor compilers, but got an
obstack-related error that looks messy (I can file that separately if this is
of interest).

At configure time, the build process determines

    checking how to compare bootstrapped objects... cmp $$f1 $$f2 16 16

and if I run that same comparison (plus -l) on the objects reported to differ,
I get relatively small diffs. Could it be that these diffs are spurious?

$ cat objects.txt | while read x; do echo stage2-$x vs. stage3-$x; cmp -l
stage2-$x stage3-$x 16 16; done
stage2-gcc/cc1-checksum.o vs. stage3-gcc/cc1-checksum.o
   257 305  24
   258 143 312
   259  34 241
   260 330 354
   261 124  30
   262 267 120
   263   0  62
   264  54 232
   265 151 145
   266 332 346
   267 370  44
   268  75 107
   269 157  55
   270  65 211
   271 112 344
   272 300 246
stage2-gcc/cc1plus-checksum.o vs. stage3-gcc/cc1plus-checksum.o
   257 351 213
   258 105  44
   259  21 340
   260 327 251
   261 120 217
   262 270 135
   263  46 273
   264 273 353
   265  41 234
   266  47  17
   267 321 345
   268 277 361
   269  35 204
   270 143 116
   271 101   7
   272 155 244
stage2-gcc/c/c-lang.o vs. stage3-gcc/c/c-lang.o
  5911 330 320
  5935 360 350
stage2-gcc/build/gengenrtl.o vs. stage3-gcc/build/gengenrtl.o
   789 270 260
   813 320 310
stage2-gcc/build/rtl.o vs. stage3-gcc/build/rtl.o
  4306 330 320
  4330 360 350
stage2-gcc/build/min-insn-modes.o vs. stage3-gcc/build/min-insn-modes.o
   327 300 270
   343 320 310
   359 340 330
stage2-gcc/build/genhooks.o vs. stage3-gcc/build/genhooks.o
  2793 360 350
stage2-gcc/build/genattrtab.o vs. stage3-gcc/build/genattrtab.o
 32968   0 370
 32969 132 131
stage2-gcc/build/genoutput.o vs. stage3-gcc/build/genoutput.o
 10887 340 330
stage2-gcc/cp/cp-lang.o vs. stage3-gcc/cp/cp-lang.o
  8873  10   0
stage2-gcc/cp/typeck2.o vs. stage3-gcc/cp/typeck2.o
 22985 360 350
 23001   0 370
 23002 132 131
 23017  20  10
stage2-gcc/cp/decl2.o vs. stage3-gcc/cp/decl2.o
 45506   0 370
 45507 132 131
 45522  20  10
 45538  40  30
stage2-gcc/cp/typeck.o vs. stage3-gcc/cp/typeck.o
 82434 340 330
stage2-gcc/cp/tree.o vs. stage3-gcc/cp/tree.o
 63684   0 370
 63685 132 131
 63700  20  10
 63716  40  30
stage2-gcc/cp/repo.o vs. stage3-gcc/cp/repo.o
  4387 270 260
stage2-gcc/cp/mangle.o vs. stage3-gcc/cp/mangle.o
 48740 250 240
stage2-gcc/cp/cp-objcp-common.o vs. stage3-gcc/cp/cp-objcp-common.o
  4100 320 310
  4116 340 330
  4132 360 350
stage2-gcc/cp/name-lookup.o vs. stage3-gcc/cp/name-lookup.o
 60259 360 350
stage2-gcc/cp/cxx-pretty-print.o vs. stage3-gcc/cp/cxx-pretty-print.o
 25767 360 350
stage2-gcc/lto/lto.o vs. stage3-gcc/lto/lto.o
 38484  10   0
 38508  40  30
stage2-gcc/c-family/c-pragma.o vs. stage3-gcc/c-family/c-pragma.o
 15235   0 370
 15236 132 131
 15251  20  10
 15267  40  30
stage2-gcc/c-family/cppspec.o vs. stage3-gcc/c-family/cppspec.o
  2020  20  10
stage2-gcc/common/common-targhooks.o vs. stage3-gcc/common/common-targhooks.o
   615 300 270
stage2-gcc/sol2-c.o vs. stage3-gcc/sol2-c.o
  2121 300 270
  2137 320 310
  2153 340 330
stage2-gcc/insn-modes.o vs. stage3-gcc/insn-modes.o
  4169 300 270
  4185 320 310
  4201 340 330
stage2-gcc/alias.o vs. stage3-gcc/alias.o
 24868 110 100
stage2-gcc/bt-load.o vs. stage3-gcc/bt-load.o
 15363   0 370
 15364 132 131
stage2-gcc/cfg.o vs. stage3-gcc/cfg.o
 15683   0 370
 15684 132 131
 15699  20  10
 15715  40  30
stage2-gcc/cfgcleanup.o vs. stage3-gcc/cfgcleanup.o
 26790 360 350
stage2-gcc/cfgexpand.o vs. stage3-gcc/cfgexpand.o
 63171  40  30
stage2-gcc/cgraphunit.o vs. stage3-gcc/cgraphunit.o
 22105 330 320
stage2-gcc/combine.o vs. stage3-gcc/combine.o
107975  40  30
stage2-gcc/cprop.o vs. stage3-gcc/cprop.o
 13379  40  30
stage2-gcc/coverage.o vs. stage3-gcc/coverage.o
 20552   0 370
 20553 132 131
 20568  20  10
 20584  40  30
stage2-gcc/cppdefault.o vs. stage3-gcc/cppdefault.o
   679 210 200
stage2-gcc/cse.o vs. stage3-gcc/cse.o
 57219   0 370
 57220 132 131
stage2-gcc/dce.o vs. stage3-gcc/dce.o
 12902  20  10
stage2-gcc/df-core.o vs. stage3-gcc/df-core.o
 19811  20  10
stage2-gcc/dse.o vs. stage3-gcc/dse.o
 28419  20  10
 31635 132 131
stage2-gcc/dwarf2cfi.o vs. stage3-gcc/dwarf2cfi.o
 30630 170 160
stage2-gcc/dwarf2out.o vs. stage3-gcc/dwarf2out.o
247956  40  30
247980  70  60
stage2-gcc/emit-rtl.o vs. stage3-gcc/emit-rtl.o
 46569  70  60
stage2-gcc/explow.o vs. stage3-gcc/explow.o
 15367 360 350
 15383   0 370
 15384 132 131
 15399  20  10
stage2-gcc/function.o vs. stage3-gcc/function.o
 68038  40  30
 68054  60  50
 68070 100  70
stage2-gcc/fwprop.o vs. stage3-gcc/fwprop.o
 16483   0 370
 16484 132 131
 17222   0 370
 17223 132 131
stage2-gcc/gimple-iterator.o vs. stage3-gcc/gimple-iterator.o
  9128 320 310
stage2-gcc/gimple-ssa-isolate-paths.o vs. stage3-gcc/gimple-ssa-isolate-paths.o
  6662   0 370
  6663 132 131
stage2-gcc/gimple-ssa-strength-reduction.o vs.
stage3-gcc/gimple-ssa-strength-reduction.o
423135 132 131
stage2-gcc/gtype-desc.o vs. stage3-gcc/gtype-desc.o
 81318 230 220
stage2-gcc/ree.o vs. stage3-gcc/ree.o
 10470  60  50
stage2-gcc/init-regs.o vs. stage3-gcc/init-regs.o
  2243 360 350
stage2-gcc/ipa-inline-analysis.o vs. stage3-gcc/ipa-inline-analysis.o
 68675   0 370
 68676 132 131
stage2-gcc/ipa-pure-const.o vs. stage3-gcc/ipa-pure-const.o
 22019  60  50
stage2-gcc/ipa-reference.o vs. stage3-gcc/ipa-reference.o
 15523 360 350
stage2-gcc/ipa-ref.o vs. stage3-gcc/ipa-ref.o
  4354 340 330
stage2-gcc/ipa.o vs. stage3-gcc/ipa.o
 18022  20  10
stage2-gcc/ira.o vs. stage3-gcc/ira.o
 48739 250 240
stage2-gcc/jump.o vs. stage3-gcc/jump.o
 13478  40  30
stage2-gcc/lto-streamer-in.o vs. stage3-gcc/lto-streamer-in.o
 17767 340 330
stage2-gcc/lto-section-in.o vs. stage3-gcc/lto-section-in.o
  3911 320 310
  3927 340 330
  3943 360 350
stage2-gcc/omega.o vs. stage3-gcc/omega.o
 59366  40  30
stage2-gcc/omp-low.o vs. stage3-gcc/omp-low.o
134179 210 200
stage2-gcc/passes.o vs. stage3-gcc/passes.o
 66217 160 150
stage2-gcc/plugin.o vs. stage3-gcc/plugin.o
  9609 360 350
  9625   0 370
  9626 132 131
  9641  20  10
stage2-gcc/postreload-gcse.o vs. stage3-gcc/postreload-gcse.o
 12099   0 370
 12100 132 131
stage2-gcc/regcprop.o vs. stage3-gcc/regcprop.o
 11206 360 350
stage2-gcc/reginfo.o vs. stage3-gcc/reginfo.o
 12934   0 370
 12935 132 131
 12950  20  10
 12966  40  30
stage2-gcc/regrename.o vs. stage3-gcc/regrename.o
 19363 360 350
stage2-gcc/reorg.o vs. stage3-gcc/reorg.o
  1606 360 350
stage2-gcc/rtlhooks.o vs. stage3-gcc/rtlhooks.o
  1929 300 270
stage2-gcc/sched-rgn.o vs. stage3-gcc/sched-rgn.o
 35107 230 220
stage2-gcc/stor-layout.o vs. stage3-gcc/stor-layout.o
 22701 360 350
stage2-gcc/stringpool.o vs. stage3-gcc/stringpool.o
  2905 330 320
stage2-gcc/target-globals.o vs. stage3-gcc/target-globals.o
  1826 360 350
stage2-gcc/trans-mem.o vs. stage3-gcc/trans-mem.o
 57923  40  30
 57939  60  50
 57955 100  70
stage2-gcc/asan.o vs. stage3-gcc/asan.o
 40259 100  70
 40275 120 110
 40291 140 130
stage2-gcc/ubsan.o vs. stage3-gcc/ubsan.o
 15523 250 240
stage2-gcc/tree-cfg.o vs. stage3-gcc/tree-cfg.o
103753 360 350
103769   0 370
103770 132 131
103785  20  10
stage2-gcc/tree-call-cdce.o vs. stage3-gcc/tree-call-cdce.o
  8803 360 350
stage2-gcc/tree-cfgcleanup.o vs. stage3-gcc/tree-cfgcleanup.o
 12838 360 350
stage2-gcc/tree-dfa.o vs. stage3-gcc/tree-dfa.o
  9539 340 330
stage2-gcc/tree-emutls.o vs. stage3-gcc/tree-emutls.o
  9350   0 370
  9351 132 131
stage2-gcc/tree-if-conv.o vs. stage3-gcc/tree-if-conv.o
 20838 340 330
stage2-gcc/tree-into-ssa.o vs. stage3-gcc/tree-into-ssa.o
 63430  60  50
stage2-gcc/tree-nested.o vs. stage3-gcc/tree-nested.o
 23658 360 350
stage2-gcc/tree-object-size.o vs. stage3-gcc/tree-object-size.o
 16387 360 350
stage2-gcc/tree.o vs. stage3-gcc/tree.o
110723  60  50
110739 100  70
110755 120 110
stage2-gcc/tree-pretty-print.o vs. stage3-gcc/tree-pretty-print.o
 28946 270 260
 28970 320 310
stage2-gcc/tree-profile.o vs. stage3-gcc/tree-profile.o
  8582   0 370
  8583 132 131
  8598  20  10
  8614  40  30
stage2-gcc/tree-sra.o vs. stage3-gcc/tree-sra.o
 52035  20  10
 56771 132 131
stage2-gcc/tree-ssa-copy.o vs. stage3-gcc/tree-ssa-copy.o
  6758   0 370
  6759 132 131
stage2-gcc/tree-ssa-copyrename.o vs. stage3-gcc/tree-ssa-copyrename.o
  5539   0 370
  5540 132 131
stage2-gcc/tree-ssa-dom.o vs. stage3-gcc/tree-ssa-dom.o
 38406 120 110
 44201 120 110
stage2-gcc/tree-ssa-dse.o vs. stage3-gcc/tree-ssa-dse.o
  6438   0 370
  6439 132 131
stage2-gcc/tree-ssa-loop-ch.o vs. stage3-gcc/tree-ssa-loop-ch.o
  3526   0 370
  3527 132 131
stage2-gcc/tree-ssa-loop-ivcanon.o vs. stage3-gcc/tree-ssa-loop-ivcanon.o
 19078 340 330
stage2-gcc/tree-ssa-loop.o vs. stage3-gcc/tree-ssa-loop.o
  6342   0 370
  6343 132 131
stage2-gcc/tree-ssa-math-opts.o vs. stage3-gcc/tree-ssa-math-opts.o
 38918 360 350
 38934   0 370
 38935 132 131
 38950  20  10
stage2-gcc/tree-ssa-phiopt.o vs. stage3-gcc/tree-ssa-phiopt.o
 26758  40  30
 28489  40  30
stage2-gcc/tree-ssa-phiprop.o vs. stage3-gcc/tree-ssa-phiprop.o
  9318 360 350
stage2-gcc/tree-ssa-pre.o vs. stage3-gcc/tree-ssa-pre.o
 65523 132 131
774603 132 131
stage2-gcc/tree-ssa-reassoc.o vs. stage3-gcc/tree-ssa-reassoc.o
 61763 360 350
stage2-gcc/tree-ssa-strlen.o vs. stage3-gcc/tree-ssa-strlen.o
 31561  60  50
stage2-gcc/tree-ssa-structalias.o vs. stage3-gcc/tree-ssa-structalias.o
 86819 132 131
stage2-gcc/tree-ssa-threadedge.o vs. stage3-gcc/tree-ssa-threadedge.o
 14723 320 310
stage2-gcc/tree-ssa-uncprop.o vs. stage3-gcc/tree-ssa-uncprop.o
  9673 100  70
stage2-gcc/tree-ssanames.o vs. stage3-gcc/tree-ssanames.o
  7459 360 350
stage2-gcc/tree-stdarg.o vs. stage3-gcc/tree-stdarg.o
 11782 360 350
stage2-gcc/tree-vect-slp.o vs. stage3-gcc/tree-vect-slp.o
 41993 320 310
stage2-gcc/tree-vectorizer.o vs. stage3-gcc/tree-vectorizer.o
 14051   0 370
 14052 132 131
stage2-gcc/opts-common.o vs. stage3-gcc/opts-common.o
 12548 360 350
 12564   0 370
 12565 132 131
 12580  20  10
stage2-gcc/hash-table.o vs. stage3-gcc/hash-table.o
   786 360 350
   810  10   0
stage2-gcc/pretty-print.o vs. stage3-gcc/pretty-print.o
 12517 360 350
stage2-gcc/collect2.o vs. stage3-gcc/collect2.o
 11622 310 300
stage2-gcc/gcc.o vs. stage3-gcc/gcc.o
 47591 270 260
 83557 270 260
stage2-libcpp/charset.o vs. stage3-libcpp/charset.o
 25959 210 200
stage2-zlib/libz_a-deflate.o vs. stage3-zlib/libz_a-deflate.o
 13704 260 250
 13720 300 270
 13736 320 310
stage2-zlib/libz_a-infback.o vs. stage3-zlib/libz_a-infback.o
  5607 300 270
stage2-zlib/libz_a-zutil.o vs. stage3-zlib/libz_a-zutil.o
   521 240 230
   537 260 250
   553 300 270
Reply | Threaded
Open this post in threaded view
|

[Bug bootstrap/65725] Bootstrap errors on Solaris 10 x86-64, including object diffs

kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65725

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |WAITING
   Last reconfirmed|                            |2015-04-10
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Please always say how you configured GCC.
Reply | Threaded
Open this post in threaded view
|

[Bug bootstrap/65725] Bootstrap errors on Solaris 10 x86-64, including object diffs

kargl at gcc dot gnu.org
In reply to this post by kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65725

--- Comment #2 from Daniel Richard G. <skunk at iskunk dot org> ---
(In reply to Richard Biener from comment #1)
> Please always say how you configured GCC.

Of course; these are the options I used (with site-specific bits elided):

    --prefix=...    
    --disable-dependency-tracking
    --disable-maintainer-mode
    --disable-shared
    --disable-nls
    --enable-version-specific-runtime-libs
    --with-pic
    --with-mpc=...
    --with-mpfr=...
    --with-gmp=...
    --without-gnu-as
    --with-as=/usr/ccs/bin/as
    --without-gnu-ld
    --with-ld=/usr/ccs/bin/ld
    CC=/usr/sfw/bin/gcc -m64
    CXX=/usr/sfw/bin/g++ -m64
    --enable-languages=c,c++,lto
Reply | Threaded
Open this post in threaded view
|

[Bug bootstrap/65725] Bootstrap errors on Solaris 10 x86-64, including object diffs

kargl at gcc dot gnu.org
In reply to this post by kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65725

Fredrik Nyström <fredrik at lysator dot liu.se> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |fredrik at lysator dot liu.se

--- Comment #3 from Fredrik Nyström <fredrik at lysator dot liu.se> ---
(In reply to Daniel Richard G. from comment #0)
> 1. Missing libgcc-unwind.map file

1. Is caused by LINK_LIBGCC_MAPFILE_SPEC being set in gcc/config/sol2.h even if
configured with --disable-shared. This has been around since PR target/59788.

I've had success on solaris 10, both sparc and x86 with following fix.

--- gcc/config/sol2.h.orig      2014-05-28 13:37:50.000000000 +0200
+++ gcc/config/sol2.h   2015-09-03 14:23:19.950566000 +0200
@@ -174,7 +174,7 @@
 #define RDYNAMIC_SPEC "--export-dynamic"
 #endif

-#ifndef USE_GLD
+#if !defined(USE_GLD) && defined(ENABLE_SHARED_LIBGCC)
 /* With Sun ld, use mapfile to enforce direct binding to libgcc_s unwinder.
*/
 #define LINK_LIBGCC_MAPFILE_SPEC \
   "%{shared|shared-libgcc:-M %slibgcc-unwind.map}"

Also "--disable-shared --with-pic" is still broken (since 4.7.?), see PR
libstdc++/58638 for suggested patch.


> 2. stage2 vs. stage3 diffs

Are you sure you want /usr/ccs/bin/as on solaris x86?
Have you tried with gnu as?
--with-gnu-as
--with-as=/usr/sfw/bin/gas
Reply | Threaded
Open this post in threaded view
|

[Bug bootstrap/65725] Bootstrap errors on Solaris 10 x86-64, including object diffs

kargl at gcc dot gnu.org
In reply to this post by kargl at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65725

--- Comment #4 from Eric Gallager <egallager at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #1)
> Please always say how you configured GCC.

Reporter has since done this; does this bug still need to stay in WAITING?