[Ecm-commits] r2416 - branches/6.4.4/powerpc64

cvs commits ecm-commits at lists.gforge.inria.fr
Tue Feb 19 19:42:04 CET 2013


Author: kruppa
Date: 2013-02-19 19:42:04 +0100 (Tue, 19 Feb 2013)
New Revision: 2416

Log:
Merged r1971 from trunk:
  applied patch from Leif Leonhardy to make the assembly code work with
  --enable-shared (see http://trac.sagemath.org/sage_trac/ticket/11705)



Modified:
   branches/6.4.4/powerpc64/mulredc.m4
   branches/6.4.4/powerpc64/mulredc_1_2.m4
   branches/6.4.4/powerpc64/redc.asm
Modified: branches/6.4.4/powerpc64/mulredc.m4
===================================================================
--- branches/6.4.4/powerpc64/mulredc.m4	2013-02-19 17:10:30 UTC (rev 2415)
+++ branches/6.4.4/powerpc64/mulredc.m4	2013-02-19 18:42:04 UTC (rev 2416)
@@ -47,12 +47,15 @@
 
 `include(`config.m4')'
 
+	GLOBL GSYM_PREFIX``''mulredc`'LENGTH
+	GLOBL .GSYM_PREFIX``''mulredc`'LENGTH
 
+	.section ".opd", "aw"
+	.align	3
+GSYM_PREFIX``''mulredc`'LENGTH:
+	.quad	.GSYM_PREFIX``''mulredc`'LENGTH, .TOC. at tocbase, 0
+	.size	GSYM_PREFIX``''mulredc`'LENGTH, 24
 
-	TEXT
-.align 5 C powerPC 32 byte alignment
-	GLOBL GSYM_PREFIX``''mulredc`'LENGTH
-	TYPE(GSYM_PREFIX``''mulredc``''LENGTH,``function'')
 
 C Implements multiplication and REDC for two input numbers of LENGTH words
 
@@ -121,8 +124,10 @@
 C r15, so only LENGTH entries are used in the stack.
 
 
-
-GSYM_PREFIX``''mulredc`'LENGTH:
+	TEXT
+	.align	5	C powerPC 32 byte alignment
+	TYPE(.GSYM_PREFIX``''mulredc``''LENGTH,``@function'')
+.GSYM_PREFIX``''mulredc`'LENGTH:
 define(`S', `eval(8 * LENGTH)')dnl
 
 C ########################################################################
@@ -304,3 +309,6 @@
 	ldu     r13, 8(r1)
 	addi    r1, r1, 8
 	blr
+
+	.size	.GSYM_PREFIX``''mulredc`'LENGTH, .-.GSYM_PREFIX``''mulredc`'LENGTH
+

Modified: branches/6.4.4/powerpc64/mulredc_1_2.m4
===================================================================
--- branches/6.4.4/powerpc64/mulredc_1_2.m4	2013-02-19 17:10:30 UTC (rev 2415)
+++ branches/6.4.4/powerpc64/mulredc_1_2.m4	2013-02-19 18:42:04 UTC (rev 2416)
@@ -56,12 +56,19 @@
 
 `include(`config.m4')'
 
-	TEXT
-.align 5 C powerPC 32 byte alignment
 	GLOBL GSYM_PREFIX``''mulredc`'LENGTH
-	TYPE(GSYM_PREFIX``''mulredc``''LENGTH,``function'')
+	GLOBL .GSYM_PREFIX``''mulredc`'LENGTH
 
+	.section ".opd", "aw"
+	.align	3
 GSYM_PREFIX``''mulredc`'LENGTH:
+	.quad	.GSYM_PREFIX``''mulredc`'LENGTH, .TOC. at tocbase, 0
+	.size	GSYM_PREFIX``''mulredc`'LENGTH, 24
+
+	TEXT
+	.align	5	C powerPC 32 byte alignment
+	TYPE(.GSYM_PREFIX``''mulredc``''LENGTH,``@function'')
+.GSYM_PREFIX``''mulredc`'LENGTH:
 ifelse(eval(LENGTH),1,
 `		mulld   r8, r4, r5			C x*y low half T0
 		mulhdu  r9, r4, r5			C x*y high half T1
@@ -141,3 +148,6 @@
 		ldu     r13, 8(r1)
 		addi    r1, r1, 8
 		blr')
+
+	.size	.GSYM_PREFIX``''mulredc`'LENGTH, .-.GSYM_PREFIX``''mulredc`'LENGTH
+

Modified: branches/6.4.4/powerpc64/redc.asm
===================================================================
--- branches/6.4.4/powerpc64/redc.asm	2013-02-19 17:10:30 UTC (rev 2415)
+++ branches/6.4.4/powerpc64/redc.asm	2013-02-19 18:42:04 UTC (rev 2416)
@@ -40,12 +40,21 @@
 dnl')
 
 include(`config.m4')
-        TEXT
-        GLOBL GSYM_PREFIX`'ecm_redc3
-        TYPE(GSYM_PREFIX`'ecm_redc3,`function')
 
+	GLOBL GSYM_PREFIX`'ecm_redc3
+	GLOBL .GSYM_PREFIX`'ecm_redc3
+
+	.section ".opd", "aw"
+	.align	3
 GSYM_PREFIX`'ecm_redc3:
+	.quad	.GSYM_PREFIX`'ecm_redc3, .TOC. at tocbase, 0
+	.size	GSYM_PREFIX`'ecm_redc3, 24
 
+	TEXT
+	.align	5		C 32 byte alignment
+	TYPE(.GSYM_PREFIX`'ecm_redc3,`@function')
+.GSYM_PREFIX`'ecm_redc3:
+
 	cmpdi	r5, 1				C length = 1?
 	bne		1f
 
@@ -318,3 +327,6 @@
     addi    r1, r1, 16          C restore stack ptr
     mtlr    r0
     blr
+
+	.size	.GSYM_PREFIX`'ecm_redc3, .-.GSYM_PREFIX`'ecm_redc3
+




More information about the Ecm-commits mailing list