On Tue, Apr 20, 2021 at 03:27:08PM -0500, William Seurer via Gcc wrote:
> 
> On 4/20/21 10:24 AM, Jakub Jelinek via Gcc wrote:
> > The first release candidate for GCC 11.1 is available from
> > 
> >   https://gcc.gnu.org/pub/gcc/snapshots/11.1.0-RC-20210420/
> >   ftp://gcc.gnu.org/pub/gcc/snapshots/11.1.0-RC-20210420
> > 
> > and shortly its mirrors.  It has been generated from git revision
> > r11-8265-g246abba01f302eb453475b650ba839ec905be76d.
> > 
> > I have so far bootstrapped and tested the release candidate on
> > x86_64-linux and i686-linux.  Please test it and report any issues to
> > bugzilla.
> > 
> > If all goes well, I'd like to release 11.1 on Tuesday, April 27th.
> > 
> I am seeing at least one compilation failure when building the RC.  Note
> that trunk built fine for me yesterday morning.
> 
> libtool: compile:  
> /home/seurer/gcc/git/build/gcc-11.1.0-RC-20210420/./gcc/gdc 
> -B/home/seurer/gcc/git/build/gcc-11.1.0-RC-20210420/./gcc/ 
> -B/home/seurer/gcc/git/install/gcc-11.1.0-RC-20210420/powerpc64-unknown-linux-gnu/bin/
>  
> -B/home/seurer/gcc/git/install/gcc-11.1.0-RC-20210420/powerpc64-unknown-linux-gnu/lib/
>  -isystem 
> /home/seurer/gcc/git/install/gcc-11.1.0-RC-20210420/powerpc64-unknown-linux-gnu/include
>  -isystem 
> /home/seurer/gcc/git/install/gcc-11.1.0-RC-20210420/powerpc64-unknown-linux-gnu/sys-include
>  -fchecking=1 -fversion=Shared -Wall -frelease -ffunction-sections 
> -fdata-sections -O2 -g -nostdinc -I 
> /home/seurer/gcc/git/gcc-11.1.0-RC-20210420/libphobos/libdruntime -I . -c 
> /home/seurer/gcc/git/gcc-11.1.0-RC-20210420/libphobos/libdruntime/core/thread/osthread.d
>   -fPIC -fversion=Shared -o core/thread/.libs/osthread.o
> /tmp/cc8zG8DV.s: Assembler messages:
> /tmp/cc8zG8DV.s:2566: Error: unsupported relocation against r13
> /tmp/cc8zG8DV.s:2570: Error: unsupported relocation against r14
> /tmp/cc8zG8DV.s:2574: Error: unsupported relocation against r15
> /tmp/cc8zG8DV.s:2578: Error: unsupported relocation against r16
> /tmp/cc8zG8DV.s:2582: Error: unsupported relocation against r17
> /tmp/cc8zG8DV.s:2586: Error: unsupported relocation against r18
> /tmp/cc8zG8DV.s:2590: Error: unsupported relocation against r19
> /tmp/cc8zG8DV.s:2594: Error: unsupported relocation against r20
> /tmp/cc8zG8DV.s:2598: Error: unsupported relocation against r21
> /tmp/cc8zG8DV.s:2602: Error: unsupported relocation against r22
> /tmp/cc8zG8DV.s:2606: Error: unsupported relocation against r23
> /tmp/cc8zG8DV.s:2610: Error: unsupported relocation against r24
> /tmp/cc8zG8DV.s:2614: Error: unsupported relocation against r25
> /tmp/cc8zG8DV.s:2618: Error: unsupported relocation against r26
> /tmp/cc8zG8DV.s:2622: Error: unsupported relocation against r27
> /tmp/cc8zG8DV.s:2626: Error: unsupported relocation against r28
> /tmp/cc8zG8DV.s:2630: Error: unsupported relocation against r29
> /tmp/cc8zG8DV.s:2634: Error: unsupported relocation against r30
> /tmp/cc8zG8DV.s:2638: Error: unsupported relocation against r31

So do we need to change
+        else version (PPC)                                                     
                                                                                
                      
+        {                                                                      
                                                                                
                      
+            void*[19] regs = void;                                             
                                                                                
                      
+            asm pure nothrow @nogc                                             
                                                                                
                      
+            {                                                                  
                                                                                
                      
+                "stw r13, %0" : "=m" (regs[ 0]);                               
                                                                                
                      
+                "stw r14, %0" : "=m" (regs[ 1]);                               
                                                                                
                      
...
+        else version (PPC64)                                                   
                                                                                
                      
+        {                                                                      
                                                                                
                      
+            void*[19] regs = void;                                             
                                                                                
                      
+            asm pure nothrow @nogc                                             
                                                                                
                      
+            {                                                                  
                                                                                
                      
+                "std r13, %0" : "=m" (regs[ 0]);                               
                                                                                
                      
+                "std r14, %0" : "=m" (regs[ 1]);                               
                                                                                
                      
...
to "stw 13, %0" and "std 13, %0" etc. unconditionally, or
to "stw %%r13, %0" etc. under some conditions?

        Jakub

Reply via email to