Allow building for ARM thumb. Fixes bug#1202.
authorWerner Koch <wk@gnupg.org>
Mon, 4 Jul 2011 10:41:45 +0000 (12:41 +0200)
committerWerner Koch <wk@gnupg.org>
Mon, 4 Jul 2011 10:41:45 +0000 (12:41 +0200)
mpi/ChangeLog
mpi/longlong.h

index a99acae..1f81333 100644 (file)
@@ -1,3 +1,8 @@
+2011-07-04  Werner Koch  <wk@g10code.com>
+
+       * longlong.h: [__arm__]: Do no use asm if thumb code generation is
+       enabled.  Fixes bug#1202.
+
 2010-10-28  Werner Koch  <wk@g10code.com>
 
        * longlong.h: Revert last two changes and replace by code from
 2002-08-02  Timo Schulz  <ts@winpt.org>
 
        * mpicoder.c: Add a '\n' to all log_bug functions.
-       
+
 2002-08-01  Werner Koch  <wk@gnupg.org>
 
        * config.links: Added case for sparc64-netbsd. Suggested by
        * i386/mpih-add1.S, i386/mpih-sub1.S, i386/mpih-rshift.S,
        i386/mpih-lshift.S: Minor syntax changes suggested by Mark Pettit
        after comparing the files with those for GMP 4.
-       
+
 2001-11-08  Werner Koch  <wk@gnupg.org>
 
        * config.links (mpi_sflags): Add extra rule for sparc64-sun-solaris2.
        * mpi.h: Removed the inclusion of mpi-asm-defs.h because this
        makes some trouble when doing a VPATH build.  configure now
        takes care of it.
-       
+
 2000-10-12  Werner Koch  <wk@gnupg.org>
 
        * generic/mpi-asm-defs.h: New.
@@ -551,5 +556,3 @@ Mon Feb 16 13:00:27 1998  Werner Koch  (wk@isil.d.shuttle.de)
  This file is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-
index f17e84a..a4c18a4 100644 (file)
@@ -2,7 +2,7 @@
    Note: I added some stuff for use with gnupg
 
 Copyright (C) 1991, 1992, 1993, 1994, 1996, 1998,
-              2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+              2000, 2001, 2002, 2003, 2011 Free Software Foundation, Inc.
 
 This file is free software; you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License as published by
@@ -180,7 +180,7 @@ extern UDItype __udiv_qrnnd ();
 /***************************************
  **************  ARM  ******************
  ***************************************/
-#if defined (__arm__) && W_TYPE_SIZE == 32
+#if defined (__arm__) && W_TYPE_SIZE == 32 && !defined (__thumb__)
 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
   __asm__ ("adds %1, %4, %5\n"                                          \
           "adc  %0, %2, %3"                                            \