summary refs log tree commit diff
path: root/pkgs/development
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2017-11-09 22:11:43 +0100
committerVladimír Čunát <vcunat@gmail.com>2017-11-09 22:22:38 +0100
commit194699c04ad14f80a11406c6ebbe3e1463d95d17 (patch)
tree1776d0a17007db3d028d0c81e39e0805e05cffba /pkgs/development
parentea40b0c7e8e0bd600b7acdf8c0c05ce5a9b6bd55 (diff)
parent7112718a20a0f9698a17edff96e22ea386cf0578 (diff)
downloadnixlib-194699c04ad14f80a11406c6ebbe3e1463d95d17.tar
nixlib-194699c04ad14f80a11406c6ebbe3e1463d95d17.tar.gz
nixlib-194699c04ad14f80a11406c6ebbe3e1463d95d17.tar.bz2
nixlib-194699c04ad14f80a11406c6ebbe3e1463d95d17.tar.lz
nixlib-194699c04ad14f80a11406c6ebbe3e1463d95d17.tar.xz
nixlib-194699c04ad14f80a11406c6ebbe3e1463d95d17.tar.zst
nixlib-194699c04ad14f80a11406c6ebbe3e1463d95d17.zip
Merge #31455: gcj: fix build with glibc-2.26
Diffstat (limited to 'pkgs/development')
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix1
-rw-r--r--pkgs/development/compilers/gcc/struct-ucontext-libjava.patch33
2 files changed, 34 insertions, 0 deletions
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 3ae478c4ecf6..03c6b3834ea4 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -73,6 +73,7 @@ let version = "6.4.0";
       ++ optional langAda ../gnat-cflags.patch
       ++ optional langFortran ../gfortran-driving.patch
       ++ [ ../struct-ucontext.patch ../struct-sigaltstack.patch ] # glibc-2.26
+      ++ optional langJava [ ../struct-ucontext-libjava.patch ] # glibc-2.26
       ;
 
     javaEcj = fetchurl {
diff --git a/pkgs/development/compilers/gcc/struct-ucontext-libjava.patch b/pkgs/development/compilers/gcc/struct-ucontext-libjava.patch
new file mode 100644
index 000000000000..3892a56954e0
--- /dev/null
+++ b/pkgs/development/compilers/gcc/struct-ucontext-libjava.patch
@@ -0,0 +1,33 @@
+--- a/libjava/include/x86_64-signal.h
++++ a/libjava/include/x86_64-signal.h
+@@ -28,7 +28,7 @@
+ #define HANDLE_DIVIDE_OVERFLOW						\
+ do									\
+ {									\
+-  struct ucontext *_uc = (struct ucontext *)_p;				\
++  ucontext_t *_uc = (ucontext_t *)_p;					\
+   gregset_t &_gregs = _uc->uc_mcontext.gregs;				\
+   unsigned char *_rip = (unsigned char *)_gregs[REG_RIP];		\
+ 									\
+--- a/libjava/include/i386-signal.h
++++ a/libjava/include/i386-signal.h
+@@ -29,7 +29,7 @@
+ #define HANDLE_DIVIDE_OVERFLOW						\
+ do									\
+ {									\
+-  struct ucontext *_uc = (struct ucontext *)_p;				\
++  ucontext_t *_uc = (ucontext_t *)_p;					\
+   gregset_t &_gregs = _uc->uc_mcontext.gregs;				\
+   unsigned char *_eip = (unsigned char *)_gregs[REG_EIP];		\
+ 									\
+--- a/libjava/include/s390-signal.h
++++ a/libjava/include/s390-signal.h
+@@ -51,7 +51,7 @@
+   struct                                                                \
+   {                                                                     \
+     unsigned long int uc_flags;                                         \
+-    struct ucontext *uc_link;                                           \
++    ucontext_t *uc_link;                                                \
+     stack_t uc_stack;                                                   \
+     mcontext_t uc_mcontext;                                             \
+     unsigned long sigmask[2];                                           \