Patchwork Fix compilation of libgcc/config/alpha/qrnnd.S on VMS

login
register
mail settings
Submitter Tristan Gingold
Date Nov. 15, 2011, 11:58 a.m.
Message ID <BAE5EB38-B11B-40EC-8E37-F3BB2A491D9F@adacore.com>
Download mbox | patch
Permalink /patch/125758/
State New
Headers show

Comments

Tristan Gingold - Nov. 15, 2011, 11:58 a.m.
Hi,

latest versions of gas are picky about the use of the pseudos.  Consequently we need to adjust them in qrnnd.S.

Tested by building gcc for alpha-vms.

Ok for the trunk ?

Tristan.

2011-11-07  Tristan Gingold  <gingold@adacore.com>
    
        * config/alpha/qrnnd.S: Use specific pseudos for VMS.
Richard Henderson - Nov. 15, 2011, 4:39 p.m.
On 11/15/2011 01:58 AM, Tristan Gingold wrote:
>         * config/alpha/qrnnd.S: Use specific pseudos for VMS.

Fine by me.  I know nothing about vms.
Tristan Gingold - Nov. 16, 2011, 8:37 a.m.
On Nov 15, 2011, at 5:39 PM, Richard Henderson wrote:

> On 11/15/2011 01:58 AM, Tristan Gingold wrote:
>>        * config/alpha/qrnnd.S: Use specific pseudos for VMS.
> 
> Fine by me.

Thanks, committed.

>  I know nothing about vms.

Maybe you're lucky :-)

Patch

diff --git a/libgcc/config/alpha/qrnnd.S b/libgcc/config/alpha/qrnnd.S
index 51b13bc..794cf65 100644
--- a/libgcc/config/alpha/qrnnd.S
+++ b/libgcc/config/alpha/qrnnd.S
@@ -33,9 +33,15 @@ 
 
 	.globl __udiv_qrnnd
 	.ent __udiv_qrnnd
+#ifdef __VMS__
+__udiv_qrnnd..en:
+	.frame $29,0,$26,0
+	.prologue
+#else
 __udiv_qrnnd:
 	.frame $30,0,$26,0
 	.prologue 0
+#endif
 
 #define cnt	$2
 #define tmp	$3
@@ -160,4 +166,10 @@  $Odd:
 	bis	$31,n0,$0
 	ret	$31,($26),1
 
+#ifdef __VMS__
+	.link
+	.align 3
+__udiv_qrnnd:
+	.pdesc	__udiv_qrnnd..en,null
+#endif
 	.end	__udiv_qrnnd