[PATCH] S/390: Add a 64 bit gmp-mparam.h file

Andreas Krebbel krebbel at linux.vnet.ibm.com
Thu Feb 19 10:22:05 CET 2009


Hello,

the gmp lib does not compile out of the box on S/390 64 bits:
http://gmplib.org/list-archives/gmp-bugs/2008-December/001226.html

The problem is that configure handles s390 and s390x equally and
requires the udiv_w_sdiv function for both although s390x does not
need it.

Fixed with the attached patch.

Build and make check ran successful on s390 and s390x.

Please apply if you think it is ok.

Bye,

-Andreas-

Index: gmp-4.2.4/mpn/s390/gmp-mparam.h
===================================================================
--- gmp-4.2.4.orig/mpn/s390/gmp-mparam.h
+++ gmp-4.2.4/mpn/s390/gmp-mparam.h
@@ -1,6 +1,6 @@
-/* IBM s370 gmp-mparam.h -- Compiler/machine parameter header file.
+/* IBM S/390 32 bit gmp-mparam.h -- Compiler/machine parameter header file.
 
-Copyright 2001, 2002 Free Software Foundation, Inc.
+Copyright 2001-2009 Free Software Foundation, Inc.
 
 This file is part of the GNU MP Library.
 
@@ -18,8 +18,13 @@ You should have received a copy of the G
 along with the GNU MP Library.  If not, see http://www.gnu.org/licenses/.  */
 
 
-/* BITS_PER_MP_LIMB etc generated by configure */
+#define BITS_PER_MP_LIMB 32
+#define BYTES_PER_MP_LIMB 4
 
+#define BITS_PER_LONGINT 32
+#define BITS_PER_INT 32
+#define BITS_PER_SHORTINT 16
+#define BITS_PER_CHAR 8
 
 /* Generated by tuneup.c, 2001-12-03, gcc 2.95 */
 
Index: gmp-4.2.4/mpn/s390x/gmp-mparam.h
===================================================================
--- /dev/null
+++ gmp-4.2.4/mpn/s390x/gmp-mparam.h
@@ -0,0 +1,28 @@
+/*  IBM S/390 64 bit gmp-mparam.h -- Compiler/machine parameter header file.
+
+Copyright (C) 2009 Free Software Foundation, Inc.
+
+This file is part of the GNU MP Library.
+
+The GNU MP Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU Library General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at your
+option) any later version.
+
+The GNU MP Library is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Library General Public
+License for more details.
+
+You should have received a copy of the GNU Library General Public License
+along with the GNU MP Library; see the file COPYING.LIB.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+MA 02111-1307, USA. */
+
+#define BITS_PER_MP_LIMB 64
+#define BYTES_PER_MP_LIMB 8
+
+#define BITS_PER_LONGINT 64
+#define BITS_PER_INT 32
+#define BITS_PER_SHORTINT 16
+#define BITS_PER_CHAR 8
Index: gmp-4.2.4/configure.in
===================================================================
--- gmp-4.2.4.orig/configure.in
+++ gmp-4.2.4/configure.in
@@ -1056,9 +1056,13 @@ case $host in
     path="pyr"
     ;;
 
-
-  # IBM s/370 and similar
-  [s3[6-9]0*-*-*])
+  # IBM S/390 64 bit
+  s390x-*-*)
+    gcc_cflags="-g -O2 $fomit_frame_pointer"
+    path="s390x"
+    ;;
+  # IBM S/390 32 bit
+  s390-*-*)
     gcc_cflags="-O2 $fomit_frame_pointer"
     path="s390"
     extra_functions="udiv_w_sdiv"


More information about the gmp-discuss mailing list