http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50709

             Bug #: 50709
           Summary: stage3 bootstrap comparison fail on x86_64 with
                    --disable-checking config option
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: ne...@intrepid.com
            Target: x86_64


I was not able to build the latest GCC with --disable-checking specified. The
following errors from stage3 comparison phase are reported:

Bootstrap comparison failure!
gcc/tree-ssa-reassoc.o differs
gcc/ipa-inline-analysis.o differs
gcc/sel-sched.o differs
gcc/tree-ssa-ccp.o differs
gcc/ipa-cp.o differs
gcc/objc/objc-next-runtime-abi-02.o differs
gcc/tree-stdarg.o differs
gcc/fortran/dump-parse-tree.o differs
gcc/tree-inline.o differs
gcc/cfgexpand.o differs
gcc/tree-data-ref.o differs
gcc/ggc-page.o differs
gcc/build/genautomata.o differs
gcc/ipa-pure-const.o differs
gcc/dwarf2out.o differs
gcc/tree-vrp.o differs
gcc/java/expr.o differs
gcc/tree-ssa-ter.o differs
gcc/sched-rgn.o differs
gcc/haifa-sched.o differs
gcc/tree-ssa-sccvn.o differs
gcc/tree-loop-distribution.o differs
gcc/tree-ssa-math-opts.o differs
gcc/tree-ssa-structalias.o differs
libiberty/pic/cp-demangle.o differs
libiberty/cp-demangle.o differs
make[2]: *** [compare] Error 1

After checking on one of the files (ggc-page.c) I see the following differences
in the object file:

stage2:

_ZL10alloc_anonPcm.part.0:
.LFB1675:
    .cfi_startproc
    pushq    %rax
    .cfi_def_cfa_offset 16
    movl    $.LC0, %edi
    call    perror
    movl    $1, %edi
    call    exit
    .cfi_endproc
[...]
     call    _ZL10alloc_anonPcm.part.0

stage3:
[...] no procedure declared, and the this code is placed instead
      of the call statment in stage2

    .loc 1 670 0
    movl    $.LC3, %edi
    call    perror
.LVL149:
    .loc 1 671 0
    movl    $1, %edi
    call    exit

By looking at the source code I think that the above comes form this source
code.

656 static inline char *
 657 alloc_anon (char *pref ATTRIBUTE_UNUSED, size_t size)
 658 {
[...]
 668   if (page == (char *) MAP_FAILED)
 669     {
 670       perror ("virtual memory exhausted");
 671       exit (FATAL_EXIT_CODE);
 672     }
[...]
 682   return page;
 683 }

Reply via email to