1diff -rNU3 dist.orig/Makefile.in dist.nbsd/Makefile.in 2--- dist.orig/Makefile.in 2013-09-30 12:18:35.000000000 +0200 3+++ dist.nbsd/Makefile.in 2013-11-29 08:57:10.000000000 +0100 4@@ -1166,7 +1166,8 @@ 5 uninstall: uninstall-recursive 6 7 install-am: all-am 8- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am 9+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am 10+ @$(MAKE) $(AM_MAKEFLAGS) install-data-am 11 12 installcheck: installcheck-recursive 13 install-strip: 14diff -rNU3 dist.orig/acinclude.m4 dist.nbsd/acinclude.m4 15--- dist.orig/acinclude.m4 2013-09-30 12:18:28.000000000 +0200 16+++ dist.nbsd/acinclude.m4 2013-11-29 08:57:10.000000000 +0100 17@@ -33,6 +33,9 @@ 18 define(IA64_PATTERN, 19 [[ia64*-*-* | itanium-*-* | itanium2-*-*]]) 20 21+define(M5407_PATTERN, 22+[[m5407-*-*]]) 23+ 24 dnl Need to be careful not to match m6811, m6812, m68hc11 and m68hc12, all 25 dnl of which config.sub accepts. (Though none of which are likely to work 26 dnl with GMP.) 27diff -rNU3 dist.orig/config.guess dist.nbsd/config.guess 28--- dist.orig/config.guess 2013-09-30 12:18:28.000000000 +0200 29+++ dist.nbsd/config.guess 2013-11-29 08:57:10.000000000 +0100 30@@ -945,8 +945,8 @@ 31 32 # ------------------------------------------------------------------------- 33 # Use an exact cpu, if possible 34- 35-if test -n "$exact_cpu"; then 36+# Disabled for NetBSD cross builds 37+if false && test -n "$exact_cpu"; then 38 echo "$exact_cpu$guess_rest" 39 else 40 echo "$guess_full" 41diff -rNU3 dist.orig/configfsf.guess dist.nbsd/configfsf.guess 42--- dist.orig/configfsf.guess 2013-09-30 12:18:28.000000000 +0200 43+++ dist.nbsd/configfsf.guess 2014-06-23 19:18:43.000000000 +0200 44@@ -158,14 +158,28 @@ 45 case "${UNAME_MACHINE_ARCH}" in 46 armeb) machine=armeb-unknown ;; 47 arm*) machine=arm-unknown ;; 48+ coldfire) machine=m5407-unknown ;; 49+ earm*eb*) machine=armeb-unknown ;; 50+ earm*) machine=arm-unknown ;; 51 sh3el) machine=shl-unknown ;; 52 sh3eb) machine=sh-unknown ;; 53 sh5el) machine=sh5le-unknown ;; 54 *) machine=${UNAME_MACHINE_ARCH}-unknown ;; 55 esac 56 # The Operating System including object format, if it has switched 57- # to ELF recently, or will in the future. 58+ # to ELF recently, or will in the future and ABI. 59 case "${UNAME_MACHINE_ARCH}" in 60+ coldfire) os=netbsdelf ;; 61+ earm*) 62+ eval $set_cc_for_build 63+ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ 64+ | grep -q __ARM_PCS_VFP 65+ then 66+ os=netbsdelf-eabi 67+ else 68+ os=netbsdelf-eabihf 69+ fi 70+ ;; 71 arm*|i386|m68k|ns32k|sh3*|sparc|vax) 72 eval $set_cc_for_build 73 if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ 74diff -rNU3 dist.orig/configfsf.sub dist.nbsd/configfsf.sub 75--- dist.orig/configfsf.sub 2013-09-30 12:18:28.000000000 +0200 76+++ dist.nbsd/configfsf.sub 2013-11-29 08:57:10.000000000 +0100 77@@ -124,7 +124,7 @@ 78 case $maybe_os in 79 nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ 80 linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ 81- knetbsd*-gnu* | netbsd*-gnu* | \ 82+ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-*eabi* | \ 83 kopensolaris*-gnu* | \ 84 storm-chaos* | os2-emx* | rtmk-nova*) 85 os=-$maybe_os 86@@ -334,7 +334,8 @@ 87 basic_machine=$basic_machine-unknown 88 os=-none 89 ;; 90- m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) 91+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | m5407 \ 92+ | v70 | w65 | z8k) 93 ;; 94 ms1) 95 basic_machine=mt-unknown 96@@ -390,6 +391,7 @@ 97 | le32-* | le64-* \ 98 | lm32-* \ 99 | m32c-* | m32r-* | m32rle-* \ 100+ | m5200-* | m5407-* \ 101 | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ 102 | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ 103 | microblaze-* | microblazeel-* \ 104diff -rNU3 dist.orig/configure dist.nbsd/configure 105--- dist.orig/configure 2013-09-30 12:18:33.000000000 +0200 106+++ dist.nbsd/configure 2014-06-24 14:54:56.000000000 +0200 107@@ -4377,6 +4377,16 @@ 108 ;; 109 110 111+ # Motorola Coldfire 112+ # 113+ m5407-*-*) 114+ 115+ gcc_cflags="$gcc_cflags $fomit_frame_pointer" 116+ gcc_cflags_optlist="arch" 117+ gcc_cflags_arch="-m5407" 118+ ;; 119+ 120+ 121 # Motorola 68k 122 # 123 m68k-*-* | m68[0-9][0-9][0-9]-*-*) 124diff -rNU3 dist.orig/configure.ac dist.nbsd/configure.ac 125--- dist.orig/configure.ac 2013-09-30 12:18:28.000000000 +0200 126+++ dist.nbsd/configure.ac 2013-11-29 08:49:47.000000000 +0100 127@@ -25,7 +25,7 @@ 128 AC_COPYRIGHT(GMP_COPYRIGHT) 129 AH_TOP(/*GMP_COPYRIGHT*/) 130 131-AC_REVISION($Revision$) 132+AC_REVISION($Revision: 1.1.1.1 $) 133 AC_PREREQ(2.59) 134 AC_INIT(GNU MP, GMP_VERSION, [gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html], gmp) 135 AC_CONFIG_SRCDIR(gmp-impl.h) 136diff -rNU3 dist.orig/gmp-h.in dist.nbsd/gmp-h.in 137--- dist.orig/gmp-h.in 2013-09-30 12:18:28.000000000 +0200 138+++ dist.nbsd/gmp-h.in 2013-11-29 08:57:10.000000000 +0100 139@@ -359,11 +359,9 @@ 140 GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99 141 inline semantics, unless -fgnu89-inline is used. */ 142 #ifdef __GNUC__ 143-#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2) \ 144- || (defined __GNUC_GNU_INLINE__ && defined __cplusplus) 145+#if (defined __GNUC_STDC_INLINE__) || \ 146+ (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || (__GNUC__ > 4) 147 #define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__)) 148-#else 149-#define __GMP_EXTERN_INLINE extern __inline__ 150 #endif 151 #define __GMP_INLINE_PROTOTYPES 1 152 #endif 153@@ -1610,6 +1608,10 @@ 154 #define mpn_zero __MPN(zero) 155 __GMP_DECLSPEC void mpn_zero (mp_ptr, mp_size_t); 156 157+#define mpn_udiv_w_sdiv __MPN(udiv_w_sdiv) 158+__GMP_DECLSPEC mp_limb_t mpn_udiv_w_sdiv (mp_limb_t *, mp_limb_t, mp_limb_t, mp_limb_t); 159+ 160+ 161 /**************** mpz inlines ****************/ 162 163 /* The following are provided as inlines where possible, but always exist as 164diff -rNU3 dist.orig/gmp-impl.h dist.nbsd/gmp-impl.h 165--- dist.orig/gmp-impl.h 2013-09-30 12:18:28.000000000 +0200 166+++ dist.nbsd/gmp-impl.h 2013-11-29 08:57:10.000000000 +0100 167@@ -196,7 +196,9 @@ 168 # if defined (_AIX) || defined (_IBMR2) 169 #pragma alloca 170 # else 171- char *alloca (); 172+# if !defined (__NetBSD__) 173+ char *alloca (); 174+# endif 175 # endif 176 # endif 177 # endif 178diff -rNU3 dist.orig/longlong.h dist.nbsd/longlong.h 179--- dist.orig/longlong.h 2013-09-30 12:18:28.000000000 +0200 180+++ dist.nbsd/longlong.h 2014-03-25 16:28:15.000000000 +0100 181@@ -1209,7 +1209,7 @@ 182 #endif /* __m88000__ */ 183 184 #if defined (__mips) && W_TYPE_SIZE == 32 185-#if __GMP_GNUC_PREREQ (4,4) 186+#if __GMP_GNUC_PREREQ (4,4) || defined(__clang__) 187 #define umul_ppmm(w1, w0, u, v) \ 188 do { \ 189 UDItype __ll = (UDItype)(u) * (v); \ 190@@ -1231,7 +1231,7 @@ 191 #endif /* __mips */ 192 193 #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 194-#if __GMP_GNUC_PREREQ (4,4) 195+#if __GMP_GNUC_PREREQ (4,4) || defined(__clang__) 196 #define umul_ppmm(w1, w0, u, v) \ 197 do { \ 198 typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \ 199@@ -1347,7 +1347,7 @@ 200 __asm__ ("cntlzw %0,%1" : "=r" (count) : "r" (x)) 201 #define COUNT_LEADING_ZEROS_0 32 202 #if HAVE_HOST_CPU_FAMILY_powerpc 203-#if __GMP_GNUC_PREREQ (4,4) 204+#if __GMP_GNUC_PREREQ (4,4) || defined(__clang__) 205 #define umul_ppmm(w1, w0, u, v) \ 206 do { \ 207 UDItype __ll = (UDItype)(u) * (v); \ 208diff -rNU3 dist.orig/mpn/Makefile.in dist.nbsd/mpn/Makefile.in 209--- dist.orig/mpn/Makefile.in 2013-09-30 12:18:34.000000000 +0200 210+++ dist.nbsd/mpn/Makefile.in 2013-11-29 08:57:10.000000000 +0100 211@@ -631,7 +631,7 @@ 212 $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@ 213 $(RM_TMP) tmp-$*.s 214 .S.lo: 215- $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/mpn/cpp-ccas --cpp="$(CPP) $(PREPROCESS_FLAGS)" $(CCAS) $(COMPILE_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$< 216+ $(LIBTOOL) --mode=compile --tag=CC $(SHELL) $(top_srcdir)/mpn/cpp-ccas --cpp="$(CPP) $(PREPROCESS_FLAGS)" $(CCAS) $(COMPILE_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$< 217 218 # .asm assembler, preprocessed with m4. 219 # 220@@ -659,7 +659,7 @@ 221 $(CCAS) $(COMPILE_FLAGS) tmp-$*.s -o $@ 222 $(RM_TMP) tmp-$*.s 223 .asm.lo: 224- $(LIBTOOL) --mode=compile --tag=CC $(top_srcdir)/mpn/m4-ccas --m4="$(M4)" $(CCAS) $(COMPILE_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$< 225+ $(LIBTOOL) --mode=compile --tag=CC $(SHELL) $(top_srcdir)/mpn/m4-ccas --m4="$(M4)" $(CCAS) $(COMPILE_FLAGS) `test -f '$<' || echo '$(srcdir)/'`$< 226 227 # Tell versions [3.59,3.63) of GNU make to not export all variables. 228 # Otherwise a system limit (for SysV at least) may be exceeded. 229diff -rNU3 dist.orig/mpn/arm/aorscnd_n.asm dist.nbsd/mpn/arm/aorscnd_n.asm 230--- dist.orig/mpn/arm/aorscnd_n.asm 2013-09-30 12:18:28.000000000 +0200 231+++ dist.nbsd/mpn/arm/aorscnd_n.asm 2013-11-29 09:02:28.000000000 +0100 232@@ -117,5 +117,8 @@ 233 234 L(end): RETVAL 235 pop {r4-r11} 236- bx r14 237+ifdef(`ARM_THUMB_MODE', 238+` bx r14 239+',` mov pc, r14 240+') 241 EPILOGUE() 242diff -rNU3 dist.orig/mpn/arm/aorslsh1_n.asm dist.nbsd/mpn/arm/aorslsh1_n.asm 243--- dist.orig/mpn/arm/aorslsh1_n.asm 2013-09-30 12:18:28.000000000 +0200 244+++ dist.nbsd/mpn/arm/aorslsh1_n.asm 2013-11-29 09:02:28.000000000 +0100 245@@ -151,5 +151,8 @@ 246 REVCY(r12) 247 L(rt0): RETVAL( r14) 248 pop {r4-r10r11, r14} 249- bx r14 250+ifdef(`ARM_THUMB_MODE', 251+` bx r14 252+',` mov pc, r14 253+') 254 EPILOGUE() 255diff -rNU3 dist.orig/mpn/arm/bdiv_dbm1c.asm dist.nbsd/mpn/arm/bdiv_dbm1c.asm 256--- dist.orig/mpn/arm/bdiv_dbm1c.asm 2013-09-30 12:18:28.000000000 +0200 257+++ dist.nbsd/mpn/arm/bdiv_dbm1c.asm 2013-11-29 09:02:28.000000000 +0100 258@@ -97,5 +97,8 @@ 259 str r5, [qp] 260 sbc r0, r5, r12 261 pop {r4, r5, r6, r7, r8} 262- bx lr 263+ifdef(`ARM_THUMB_MODE', 264+` bx lr 265+',` mov pc, lr 266+') 267 EPILOGUE() 268diff -rNU3 dist.orig/mpn/arm/com.asm dist.nbsd/mpn/arm/com.asm 269--- dist.orig/mpn/arm/com.asm 2013-09-30 12:18:28.000000000 +0200 270+++ dist.nbsd/mpn/arm/com.asm 2013-11-29 09:02:28.000000000 +0100 271@@ -59,5 +59,9 @@ 272 bne L(top) 273 274 ldmfd sp!, { r7, r8, r9 } C restore regs from stack 275-L(rtn): bx lr 276+L(rtn): 277+ifdef(`ARM_THUMB_MODE', 278+` bx lr 279+',` mov pc, lr 280+') 281 EPILOGUE() 282diff -rNU3 dist.orig/mpn/arm/copyd.asm dist.nbsd/mpn/arm/copyd.asm 283--- dist.orig/mpn/arm/copyd.asm 2013-09-30 12:18:28.000000000 +0200 284+++ dist.nbsd/mpn/arm/copyd.asm 2013-11-29 09:02:28.000000000 +0100 285@@ -57,5 +57,9 @@ 286 bne L(top) 287 288 ldmfd sp!, { r7, r8, r9 } C restore regs from stack 289-L(rtn): bx lr 290+L(rtn): 291+ifdef(`ARM_THUMB_MODE', 292+` bx lr 293+',` mov pc, lr 294+') 295 EPILOGUE() 296diff -rNU3 dist.orig/mpn/arm/copyi.asm dist.nbsd/mpn/arm/copyi.asm 297--- dist.orig/mpn/arm/copyi.asm 2013-09-30 12:18:28.000000000 +0200 298+++ dist.nbsd/mpn/arm/copyi.asm 2013-11-29 09:02:28.000000000 +0100 299@@ -52,5 +52,9 @@ 300 bne L(top) 301 302 ldmfd sp!, { r7, r8, r9 } C restore regs from stack 303-L(rtn): bx lr 304+L(rtn): 305+ifdef(`ARM_THUMB_MODE', 306+` bx lr 307+',` mov pc, lr 308+') 309 EPILOGUE() 310diff -rNU3 dist.orig/mpn/arm/invert_limb.asm dist.nbsd/mpn/arm/invert_limb.asm 311--- dist.orig/mpn/arm/invert_limb.asm 2013-09-30 12:18:28.000000000 +0200 312+++ dist.nbsd/mpn/arm/invert_limb.asm 2013-11-29 08:57:11.000000000 +0100 313@@ -41,7 +41,10 @@ 314 adds r1, r12, r0 315 adc r3, r3, r0 316 rsb r0, r3, r2 317- bx lr 318+ifdef(`ARM_THUMB_MODE', 319+` bx lr 320+',` mov pc, lr 321+') 322 EPILOGUE() 323 324 .section .rodata 325diff -rNU3 dist.orig/mpn/arm/logops_n.asm dist.nbsd/mpn/arm/logops_n.asm 326--- dist.orig/mpn/arm/logops_n.asm 2013-09-30 12:18:28.000000000 +0200 327+++ dist.nbsd/mpn/arm/logops_n.asm 2013-11-29 09:02:28.000000000 +0100 328@@ -123,5 +123,8 @@ 329 pop { r4, r5, r6, r7 } C popping r8-r10 here strangely fails 330 331 L(rtn): pop { r8, r9, r10 } 332- bx r14 333+ifdef(`ARM_THUMB_MODE', 334+` bx r14 335+',` mov pc, r14 336+') 337 EPILOGUE() 338diff -rNU3 dist.orig/mpn/arm/lshift.asm dist.nbsd/mpn/arm/lshift.asm 339--- dist.orig/mpn/arm/lshift.asm 2013-09-30 12:18:28.000000000 +0200 340+++ dist.nbsd/mpn/arm/lshift.asm 2013-11-29 09:02:28.000000000 +0100 341@@ -72,5 +72,8 @@ 342 L(1): str r7, [rp, #-4] 343 lsr r0, r4, tnc 344 pop {r4, r6, r7, r8} 345- bx r14 346+ifdef(`ARM_THUMB_MODE', 347+` bx r14 348+',` mov pc, r14 349+') 350 EPILOGUE() 351diff -rNU3 dist.orig/mpn/arm/lshiftc.asm dist.nbsd/mpn/arm/lshiftc.asm 352--- dist.orig/mpn/arm/lshiftc.asm 2013-09-30 12:18:28.000000000 +0200 353+++ dist.nbsd/mpn/arm/lshiftc.asm 2013-11-29 09:02:28.000000000 +0100 354@@ -79,5 +79,8 @@ 355 str r7, [rp, #-4] 356 lsr r0, r4, tnc 357 pop {r4, r6, r7, r8} 358- bx r14 359+ifdef(`ARM_THUMB_MODE', 360+` bx r14 361+',` mov pc, r14 362+') 363 EPILOGUE() 364diff -rNU3 dist.orig/mpn/arm/mod_34lsub1.asm dist.nbsd/mpn/arm/mod_34lsub1.asm 365--- dist.orig/mpn/arm/mod_34lsub1.asm 2013-09-30 12:18:28.000000000 +0200 366+++ dist.nbsd/mpn/arm/mod_34lsub1.asm 2013-11-29 09:02:28.000000000 +0100 367@@ -94,7 +94,10 @@ 368 add r0, r0, r12, lsr #8 369 370 pop { r4, r5, r6, r7 } 371- bx lr 372+ifdef(`ARM_THUMB_MODE', 373+` bx lr 374+',` mov pc, lr 375+') 376 377 L(le2): cmn n, #1 378 bne L(1) 379@@ -105,5 +108,8 @@ 380 bic r0, r2, #0xff000000 381 add r0, r0, r2, lsr #24 382 pop { r4, r5, r6, r7 } 383- bx lr 384+ifdef(`ARM_THUMB_MODE', 385+` bx lr 386+',` mov pc, lr 387+') 388 EPILOGUE() 389diff -rNU3 dist.orig/mpn/arm/mode1o.asm dist.nbsd/mpn/arm/mode1o.asm 390--- dist.orig/mpn/arm/mode1o.asm 2013-09-30 12:18:28.000000000 +0200 391+++ dist.nbsd/mpn/arm/mode1o.asm 2013-11-29 09:02:28.000000000 +0100 392@@ -68,5 +68,8 @@ 393 addcc r0, r0, #1 394 395 ldmfd sp!, {r4, r5} 396- bx r14 397+ifdef(`ARM_THUMB_MODE', 398+` bx r14 399+',` mov pc, r14 400+') 401 EPILOGUE() 402diff -rNU3 dist.orig/mpn/arm/rsh1aors_n.asm dist.nbsd/mpn/arm/rsh1aors_n.asm 403--- dist.orig/mpn/arm/rsh1aors_n.asm 2013-09-30 12:18:28.000000000 +0200 404+++ dist.nbsd/mpn/arm/rsh1aors_n.asm 2013-11-29 09:02:28.000000000 +0100 405@@ -108,5 +108,8 @@ 406 str r4, [rp, #0] 407 mov r0, r11 408 pop {r4-r11} 409- bx r14 410+ifdef(`ARM_THUMB_MODE', 411+` bx r14 412+',` mov pc, r14 413+') 414 EPILOGUE() 415diff -rNU3 dist.orig/mpn/arm/rshift.asm dist.nbsd/mpn/arm/rshift.asm 416--- dist.orig/mpn/arm/rshift.asm 2013-09-30 12:18:28.000000000 +0200 417+++ dist.nbsd/mpn/arm/rshift.asm 2013-11-29 09:02:28.000000000 +0100 418@@ -70,5 +70,8 @@ 419 L(1): str r7, [rp], #4 420 lsl r0, r4, tnc 421 pop {r4, r6, r7, r8} 422- bx r14 423+ifdef(`ARM_THUMB_MODE', 424+` bx r14 425+',` mov pc, r14 426+') 427 EPILOGUE() 428diff -rNU3 dist.orig/mpn/arm/udiv.asm dist.nbsd/mpn/arm/udiv.asm 429--- dist.orig/mpn/arm/udiv.asm 2013-09-30 12:18:28.000000000 +0200 430+++ dist.nbsd/mpn/arm/udiv.asm 2013-11-29 09:02:28.000000000 +0100 431@@ -50,7 +50,10 @@ 432 433 str n1, [rem_ptr] C store remainder 434 adc r0, n0, n0 C quotient: add last carry from divstep 435- bx lr 436+ifdef(`ARM_THUMB_MODE', 437+` bx lr 438+',` mov pc, lr 439+') 440 441 L(_large_divisor): 442 stmfd sp!, { r8, lr } 443diff -rNU3 dist.orig/mpn/generic/div_qr_2.c dist.nbsd/mpn/generic/div_qr_2.c 444--- dist.orig/mpn/generic/div_qr_2.c 2013-09-30 12:18:29.000000000 +0200 445+++ dist.nbsd/mpn/generic/div_qr_2.c 2013-12-01 10:29:06.000000000 +0100 446@@ -130,10 +130,11 @@ 447 umul_ppmm (_q1d,_q0, n2, di0); \ 448 add_sssaaaa (_q3,_q2,_q1, _q2,_q1, _q2a,_q1d); \ 449 \ 450- add_ssaaaa (r1, r0, n3, n2, 0, 1); /* FIXME: combine as in x86_64 asm */ \ 451+ add_ssaaaa (r1, r0, n3, n2, CNST_LIMB(0), CNST_LIMB(1)); \ 452+ /* FIXME: combine as in x86_64 asm */ \ 453 \ 454 /* [q3,q2,q1,q0] += [n3,n3,n1,n0] */ \ 455- add_csaac (_c, _q0, _q0, n0, 0); \ 456+ add_csaac (_c, _q0, _q0, n0, CNST_LIMB(0)); \ 457 add_csaac (_c, _q1, _q1, n1, _c); \ 458 add_csaac (_c, _q2, _q2, r0, _c); \ 459 _q3 = _q3 + r1 + _c; \ 460@@ -145,14 +146,14 @@ 461 \ 462 _mask = -(mp_limb_t) (r1 >= _q1 & (r1 > _q1 | r0 >= _q0)); /* (r1,r0) >= (q1,q0) */ \ 463 add_ssaaaa (r1, r0, r1, r0, d1 & _mask, d0 & _mask); \ 464- sub_ddmmss (_q3, _q2, _q3, _q2, 0, -_mask); \ 465+ sub_ddmmss (_q3, _q2, _q3, _q2, CNST_LIMB(0), -_mask); \ 466 \ 467 if (UNLIKELY (r1 >= d1)) \ 468 { \ 469 if (r1 > d1 || r0 >= d0) \ 470 { \ 471 sub_ddmmss (r1, r0, r1, r0, d1, d0); \ 472- add_ssaaaa (_q3, _q2, _q3, _q2, 0, 1); \ 473+ add_ssaaaa (_q3, _q2, _q3, _q2, CNST_LIMB(0), CNST_LIMB(1));\ 474 } \ 475 } \ 476 (q1) = _q3; \ 477diff -rNU3 dist.orig/mpn/generic/divrem_2.c dist.nbsd/mpn/generic/divrem_2.c 478--- dist.orig/mpn/generic/divrem_2.c 2013-09-30 12:18:29.000000000 +0200 479+++ dist.nbsd/mpn/generic/divrem_2.c 2013-12-01 10:29:06.000000000 +0100 480@@ -98,7 +98,7 @@ 481 for (i = qxn - 1; i >= 0; i--) 482 { 483 mp_limb_t q; 484- udiv_qr_3by2 (q, r1, r0, r1, r0, 0, d1, d0, di.inv32); 485+ udiv_qr_3by2 (q, r1, r0, r1, r0, CNST_LIMB(0), d1, d0, di.inv32); 486 qp[i] = q; 487 } 488 } 489diff -rNU3 dist.orig/mpn/generic/get_d.c dist.nbsd/mpn/generic/get_d.c 490--- dist.orig/mpn/generic/get_d.c 2013-09-30 12:18:29.000000000 +0200 491+++ dist.nbsd/mpn/generic/get_d.c 2013-11-29 09:02:28.000000000 +0100 492@@ -209,7 +209,7 @@ 493 x <<= GMP_NAIL_BITS; 494 mhi |= x >> nbits >> 11; 495 496- mlo = x << GMP_LIMB_BITS - nbits - 11; 497+ mlo = x << (GMP_LIMB_BITS - nbits - 11); 498 nbits = nbits + 11 - GMP_NAIL_BITS; 499 } 500 else 501diff -rNU3 dist.orig/mpn/generic/mod_1_1.c dist.nbsd/mpn/generic/mod_1_1.c 502--- dist.orig/mpn/generic/mod_1_1.c 2013-09-30 12:18:29.000000000 +0200 503+++ dist.nbsd/mpn/generic/mod_1_1.c 2013-12-01 10:29:06.000000000 +0100 504@@ -160,7 +160,7 @@ 505 * B2modb = - b * bi; 506 * ASSERT (B2modb <= b); // NB: equality iff b = B/2 507 */ 508- udiv_rnnd_preinv (B2modb, B1modb, 0, b, bi); 509+ udiv_rnnd_preinv (B2modb, B1modb, CNST_LIMB(0), b, bi); 510 cps[3] = B2modb >> cnt; 511 } 512 513diff -rNU3 dist.orig/mpn/generic/mod_1_2.c dist.nbsd/mpn/generic/mod_1_2.c 514--- dist.orig/mpn/generic/mod_1_2.c 2013-09-30 12:18:29.000000000 +0200 515+++ dist.nbsd/mpn/generic/mod_1_2.c 2013-12-01 10:29:06.000000000 +0100 516@@ -51,10 +51,10 @@ 517 ASSERT (B1modb <= b); /* NB: not fully reduced mod b */ 518 cps[2] = B1modb >> cnt; 519 520- udiv_rnnd_preinv (B2modb, B1modb, 0, b, bi); 521+ udiv_rnnd_preinv (B2modb, B1modb, CNST_LIMB(0), b, bi); 522 cps[3] = B2modb >> cnt; 523 524- udiv_rnnd_preinv (B3modb, B2modb, 0, b, bi); 525+ udiv_rnnd_preinv (B3modb, B2modb, CNST_LIMB(0), b, bi); 526 cps[4] = B3modb >> cnt; 527 528 #if WANT_ASSERT 529diff -rNU3 dist.orig/mpn/generic/mod_1_3.c dist.nbsd/mpn/generic/mod_1_3.c 530--- dist.orig/mpn/generic/mod_1_3.c 2013-09-30 12:18:29.000000000 +0200 531+++ dist.nbsd/mpn/generic/mod_1_3.c 2013-12-01 10:29:06.000000000 +0100 532@@ -51,13 +51,13 @@ 533 ASSERT (B1modb <= b); /* NB: not fully reduced mod b */ 534 cps[2] = B1modb >> cnt; 535 536- udiv_rnnd_preinv (B2modb, B1modb, 0, b, bi); 537+ udiv_rnnd_preinv (B2modb, B1modb, CNST_LIMB(0), b, bi); 538 cps[3] = B2modb >> cnt; 539 540- udiv_rnnd_preinv (B3modb, B2modb, 0, b, bi); 541+ udiv_rnnd_preinv (B3modb, B2modb, CNST_LIMB(0), b, bi); 542 cps[4] = B3modb >> cnt; 543 544- udiv_rnnd_preinv (B4modb, B3modb, 0, b, bi); 545+ udiv_rnnd_preinv (B4modb, B3modb, CNST_LIMB(0), b, bi); 546 cps[5] = B4modb >> cnt; 547 548 #if WANT_ASSERT 549diff -rNU3 dist.orig/mpn/generic/mod_1_4.c dist.nbsd/mpn/generic/mod_1_4.c 550--- dist.orig/mpn/generic/mod_1_4.c 2013-09-30 12:18:29.000000000 +0200 551+++ dist.nbsd/mpn/generic/mod_1_4.c 2013-12-01 10:29:06.000000000 +0100 552@@ -51,16 +51,16 @@ 553 ASSERT (B1modb <= b); /* NB: not fully reduced mod b */ 554 cps[2] = B1modb >> cnt; 555 556- udiv_rnnd_preinv (B2modb, B1modb, 0, b, bi); 557+ udiv_rnnd_preinv (B2modb, B1modb, CNST_LIMB(0), b, bi); 558 cps[3] = B2modb >> cnt; 559 560- udiv_rnnd_preinv (B3modb, B2modb, 0, b, bi); 561+ udiv_rnnd_preinv (B3modb, B2modb, CNST_LIMB(0), b, bi); 562 cps[4] = B3modb >> cnt; 563 564- udiv_rnnd_preinv (B4modb, B3modb, 0, b, bi); 565+ udiv_rnnd_preinv (B4modb, B3modb, CNST_LIMB(0), b, bi); 566 cps[5] = B4modb >> cnt; 567 568- udiv_rnnd_preinv (B5modb, B4modb, 0, b, bi); 569+ udiv_rnnd_preinv (B5modb, B4modb, CNST_LIMB(0), b, bi); 570 cps[6] = B5modb >> cnt; 571 572 #if WANT_ASSERT 573diff -rNU3 dist.orig/mpn/generic/toom_interpolate_7pts.c dist.nbsd/mpn/generic/toom_interpolate_7pts.c 574--- dist.orig/mpn/generic/toom_interpolate_7pts.c 2013-09-30 12:18:29.000000000 +0200 575+++ dist.nbsd/mpn/generic/toom_interpolate_7pts.c 2013-11-30 20:05:25.000000000 +0100 576@@ -33,7 +33,7 @@ 577 ((((GMP_NUMB_MAX / 9) << (6 - GMP_NUMB_BITS % 6)) * 8 & GMP_NUMB_MAX) | 0x39) 578 579 #define BINVERT_15 \ 580- ((((GMP_NUMB_MAX >> (GMP_NUMB_BITS % 4)) / 15) * 14 * 16 & GMP_NUMB_MAX) + 15)) 581+ ((((GMP_NUMB_MAX >> (GMP_NUMB_BITS % 4)) / 15) * 14 * 16 & GMP_NUMB_MAX) + 15) 582 583 /* For the various mpn_divexact_byN here, fall back to using either 584 mpn_pi1_bdiv_q_1 or mpn_divexact_1. The former has less overhead and is 585diff -rNU3 dist.orig/mpn/powerpc32/elf.m4 dist.nbsd/mpn/powerpc32/elf.m4 586--- dist.orig/mpn/powerpc32/elf.m4 2013-09-30 12:18:29.000000000 +0200 587+++ dist.nbsd/mpn/powerpc32/elf.m4 2013-12-02 14:16:49.000000000 +0100 588@@ -41,9 +41,11 @@ 589 m4_assert_numargs(2) 590 `ifdef(`PIC',` 591 mflr r0 592- bl _GLOBAL_OFFSET_TABLE_@local-4 593- mflr $1 594+ bcl 20,31,1f 595+1: mflr $1 596 mtlr r0 597+ addis $1,$1,_GLOBAL_OFFSET_TABLE_-1b@ha 598+ addi $1,$1,_GLOBAL_OFFSET_TABLE_-1b@l 599 lwz $1, $2@got($1) 600 ',` 601 lis $1, $2@ha 602diff -rNU3 dist.orig/tests/rand/findlc.c dist.nbsd/tests/rand/findlc.c 603--- dist.orig/tests/rand/findlc.c 2013-09-30 12:18:29.000000000 +0200 604+++ dist.nbsd/tests/rand/findlc.c 2013-11-29 08:49:48.000000000 +0100 605@@ -27,7 +27,7 @@ 606 #define RCSID(msg) \ 607 static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg } 608 609-RCSID("$Id$"); 610+RCSID("$Id: findlc.c,v 1.1.1.2 2013/11/29 07:49:48 mrg Exp $"); 611 612 int g_debug = 0; 613 614