Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8081295

Build failed with GCC 5.1.1

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 9
    • 9
    • infrastructure
    • None
    • Fedora22

    • 9
    • b70
    • linux

        I tried to build jdk9/dev on Fedora22 with GCC 5.1.1, however, it was failed.
        I found several problems:


         System:
          Fedora release 22 (Twenty Two) x86_64
           - gcc-5.1.1-1.fc22.x86_64


         Problems:
           1. Array bounds check in GCC
             - jdk/src/java.desktop/share/native/libjavajpeg/jcmaster.c
             - jdk/src/java.desktop/share/native/libjavajpeg/jquant1.c
             - jdk/src/java.desktop/share/native/libmlib_image/mlib_ImageLookUp_64.c
             - jdk/src/java.desktop/share/native/libmlib_image/mlib_c_ImageLookUp_f.c

             It seems to be bug of GCC:
               Bug 59124: [4.8/4.9/5/6 Regression] Wrong warnings "array subscript is above array bounds"
               https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59124

             I think implementations of these files have no problem.
             So I propose to ignore warning(s) of compiler through pragma option as
             workaround when we use GCC [1].


           2. Local variables might be clobbered
             - jdk/src/java.desktop/share/native/libsplashscreen/splashscreen_png.c

             SplashDecodePng() calls setjmp(3).
             Some local variables initialize before setjmp() call, and use after it.
             Their initial values are only used at cleanup code (*done* label) and
             actual values are stored only after setjmp() call.
             So I think we can ignore this error through pragma option [1].


           3. Incorrect condition
             - jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventFilter.c

             searchAllSourceNames() returns int value. However, branch condition in
             eventFilterRestricted_passesFilter() treats it as boolean value.


        [1] https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html

              ysuenaga Yasumasa Suenaga
              ysuenaga Yasumasa Suenaga
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: