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

Linux Alpha Zero builds fail after JDK-8292591

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 20
    • 20
    • hotspot
    • b20

      ```
      * For target hotspot_variant-zero_libjvm_objs_systemMemoryBarrier_linux.o:
      cc1plus: warning: -fstack-protector not supported for this target
      src/hotspot/os/linux/systemMemoryBarrier_linux.cpp:43:4: error: #error define SYS_membarrier for the arch
         #error define SYS_membarrier for the arch
          ^~~~~
      src/hotspot/os/linux/systemMemoryBarrier_linux.cpp: In function 'int membarrier(int, unsigned int, int)':
      src/hotspot/os/linux/systemMemoryBarrier_linux.cpp:65:18: error: 'SYS_membarrier' was not declared in this scope
         return syscall(SYS_membarrier, cmd, flags, cpu_id); // cpu_id only on >= 5.10
                        ^~~~~~~~~~~~~~
      At global scope:
      ```

      This only fails with Debian 9 (GCC 6, GLIBC 2.24, Linux 4.9), more recent versions have the definition.

      There:

      ```
      /usr/alpha-linux-gnu/include/bits/syscall.h
      898:#ifdef __NR_membarrier
      899:# define SYS_membarrier __NR_membarrier

      /usr/alpha-linux-gnu/include/asm-generic/unistd.h
      755:#define __NR_membarrier 283
      756:__SYSCALL(__NR_membarrier, sys_membarrier)
      ```

      We can just add the fallback definition in the relevant block.

            shade Aleksey Shipilev
            shade Aleksey Shipilev
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: