public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/users/ibuclaw/heads/darwin)] D, Linux : Add implementation for PPC64 init stack.
@ 2021-04-19 18:06 Iain Buclaw
  0 siblings, 0 replies; 8+ messages in thread
From: Iain Buclaw @ 2021-04-19 18:06 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:e6ba7ed3b9895354368e9c880d416c7b0bed1472

commit e6ba7ed3b9895354368e9c880d416c7b0bed1472
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Fri Dec 11 00:53:40 2020 +0000

    D, Linux : Add implementation for PPC64 init stack.
    
    This provides an initStack entry for 'Posix' PPC64 case.

Diff:
---
 libphobos/libdruntime/core/thread/fiber.d | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 64e90182596..4ae0d033be1 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1395,6 +1395,31 @@ private:
               *cast(size_t*)(pstack + wsize) = cast(size_t) Thread.getThis().m_addr;
             assert( (cast(size_t) pstack & 0x0f) == 0 );
         }
+        else version (AsmPPC64_Posix)
+        {
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 5;
+            }
+            else
+            {
+                pstack += long.sizeof * 5;
+            }
+
+            push( cast(size_t) &fiber_entryPoint );     // link register
+            push( 0x00000000_00000000 );                // control register
+            push( 0x00000000_00000000 );                // old stack pointer
+
+            // GPR values
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 20;
+            }
+            else
+            {
+                pstack += long.sizeof * 20;
+            }
+        }
         else version (AsmMIPS_O32_Posix)
         {
             version (StackGrowsDown) {}


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [gcc(refs/users/ibuclaw/heads/darwin)] D, Linux : Add implementation for PPC64 init stack.
@ 2021-09-17 14:34 Iain Buclaw
  0 siblings, 0 replies; 8+ messages in thread
From: Iain Buclaw @ 2021-09-17 14:34 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:8a68bdef741682502fb9e0bd8469ece2f71c63d7

commit 8a68bdef741682502fb9e0bd8469ece2f71c63d7
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Fri Dec 11 00:53:40 2020 +0000

    D, Linux : Add implementation for PPC64 init stack.
    
    This provides an initStack entry for 'Posix' PPC64 case.

Diff:
---
 libphobos/libdruntime/core/thread/fiber.d | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 64e90182596..4ae0d033be1 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1395,6 +1395,31 @@ private:
               *cast(size_t*)(pstack + wsize) = cast(size_t) Thread.getThis().m_addr;
             assert( (cast(size_t) pstack & 0x0f) == 0 );
         }
+        else version (AsmPPC64_Posix)
+        {
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 5;
+            }
+            else
+            {
+                pstack += long.sizeof * 5;
+            }
+
+            push( cast(size_t) &fiber_entryPoint );     // link register
+            push( 0x00000000_00000000 );                // control register
+            push( 0x00000000_00000000 );                // old stack pointer
+
+            // GPR values
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 20;
+            }
+            else
+            {
+                pstack += long.sizeof * 20;
+            }
+        }
         else version (AsmMIPS_O32_Posix)
         {
             version (StackGrowsDown) {}


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [gcc(refs/users/ibuclaw/heads/darwin)] D, Linux : Add implementation for PPC64 init stack.
@ 2021-04-10 17:02 Iain Buclaw
  0 siblings, 0 replies; 8+ messages in thread
From: Iain Buclaw @ 2021-04-10 17:02 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:145b729dbb3c34ded677030507e23c2b25a3a9df

commit 145b729dbb3c34ded677030507e23c2b25a3a9df
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Fri Dec 11 00:53:40 2020 +0000

    D, Linux : Add implementation for PPC64 init stack.
    
    This provides an initStack entry for 'Posix' PPC64 case.

Diff:
---
 libphobos/libdruntime/core/thread/fiber.d | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 6430d7189c0..1161914a8a2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1357,6 +1357,33 @@ private:
 
             assert( (cast(size_t) pstack & 0x0f) == 0 );
         }
+        else version (AsmPPC64_Posix)
+        {
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 5;
+            }
+            else
+            {
+                pstack += long.sizeof * 5;
+            }
+
+            push( cast(size_t) &fiber_entryPoint );     // link register
+            push( 0x00000000_00000000 );                // control register
+            push( 0x00000000_00000000 );                // old stack pointer
+
+            // GPR values
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 20;
+            }
+            else
+            {
+                pstack += long.sizeof * 20;
+            }
+
+            assert( (cast(size_t) pstack & 0x0f) == 0 );
+        }
         else version (AsmMIPS_O32_Posix)
         {
             version (StackGrowsDown) {}


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [gcc(refs/users/ibuclaw/heads/darwin)] D, Linux : Add implementation for PPC64 init stack.
@ 2021-04-10 15:05 Iain Buclaw
  0 siblings, 0 replies; 8+ messages in thread
From: Iain Buclaw @ 2021-04-10 15:05 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:5ad7cabc6c2087796c563eb369d943406e916c88

commit 5ad7cabc6c2087796c563eb369d943406e916c88
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Fri Dec 11 00:53:40 2020 +0000

    D, Linux : Add implementation for PPC64 init stack.
    
    This provides an initStack entry for 'Posix' PPC64 case.

Diff:
---
 libphobos/libdruntime/core/thread/fiber.d | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 6430d7189c0..1161914a8a2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1357,6 +1357,33 @@ private:
 
             assert( (cast(size_t) pstack & 0x0f) == 0 );
         }
+        else version (AsmPPC64_Posix)
+        {
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 5;
+            }
+            else
+            {
+                pstack += long.sizeof * 5;
+            }
+
+            push( cast(size_t) &fiber_entryPoint );     // link register
+            push( 0x00000000_00000000 );                // control register
+            push( 0x00000000_00000000 );                // old stack pointer
+
+            // GPR values
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 20;
+            }
+            else
+            {
+                pstack += long.sizeof * 20;
+            }
+
+            assert( (cast(size_t) pstack & 0x0f) == 0 );
+        }
         else version (AsmMIPS_O32_Posix)
         {
             version (StackGrowsDown) {}


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [gcc(refs/users/ibuclaw/heads/darwin)] D, Linux : Add implementation for PPC64 init stack.
@ 2021-03-14 22:01 Iain Buclaw
  0 siblings, 0 replies; 8+ messages in thread
From: Iain Buclaw @ 2021-03-14 22:01 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:17f7ee9e2d6feac3b464c9dd92296d700cbe27cc

commit 17f7ee9e2d6feac3b464c9dd92296d700cbe27cc
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Fri Dec 11 00:53:40 2020 +0000

    D, Linux : Add implementation for PPC64 init stack.
    
    This provides an initStack entry for 'Posix' PPC64 case.

Diff:
---
 libphobos/libdruntime/core/thread/fiber.d | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 6430d7189c0..1161914a8a2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1357,6 +1357,33 @@ private:
 
             assert( (cast(size_t) pstack & 0x0f) == 0 );
         }
+        else version (AsmPPC64_Posix)
+        {
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 5;
+            }
+            else
+            {
+                pstack += long.sizeof * 5;
+            }
+
+            push( cast(size_t) &fiber_entryPoint );     // link register
+            push( 0x00000000_00000000 );                // control register
+            push( 0x00000000_00000000 );                // old stack pointer
+
+            // GPR values
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 20;
+            }
+            else
+            {
+                pstack += long.sizeof * 20;
+            }
+
+            assert( (cast(size_t) pstack & 0x0f) == 0 );
+        }
         else version (AsmMIPS_O32_Posix)
         {
             version (StackGrowsDown) {}


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [gcc(refs/users/ibuclaw/heads/darwin)] D, Linux : Add implementation for PPC64 init stack.
@ 2021-03-07 17:02 Iain Buclaw
  0 siblings, 0 replies; 8+ messages in thread
From: Iain Buclaw @ 2021-03-07 17:02 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:df7537fe54d53a2ba45508af2c55dd7b3116cd3a

commit df7537fe54d53a2ba45508af2c55dd7b3116cd3a
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Fri Dec 11 00:53:40 2020 +0000

    D, Linux : Add implementation for PPC64 init stack.
    
    This provides an initStack entry for 'Posix' PPC64 case.

Diff:
---
 libphobos/libdruntime/core/thread/fiber.d | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 6430d7189c0..1161914a8a2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1357,6 +1357,33 @@ private:
 
             assert( (cast(size_t) pstack & 0x0f) == 0 );
         }
+        else version (AsmPPC64_Posix)
+        {
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 5;
+            }
+            else
+            {
+                pstack += long.sizeof * 5;
+            }
+
+            push( cast(size_t) &fiber_entryPoint );     // link register
+            push( 0x00000000_00000000 );                // control register
+            push( 0x00000000_00000000 );                // old stack pointer
+
+            // GPR values
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 20;
+            }
+            else
+            {
+                pstack += long.sizeof * 20;
+            }
+
+            assert( (cast(size_t) pstack & 0x0f) == 0 );
+        }
         else version (AsmMIPS_O32_Posix)
         {
             version (StackGrowsDown) {}


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [gcc(refs/users/ibuclaw/heads/darwin)] D, Linux : Add implementation for PPC64 init stack.
@ 2021-01-30 19:09 Iain Buclaw
  0 siblings, 0 replies; 8+ messages in thread
From: Iain Buclaw @ 2021-01-30 19:09 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:d1d406bbf460fd8f1c26dcabb08fb33d4b031fc4

commit d1d406bbf460fd8f1c26dcabb08fb33d4b031fc4
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Fri Dec 11 00:53:40 2020 +0000

    D, Linux : Add implementation for PPC64 init stack.
    
    This provides an initStack entry for 'Posix' PPC64 case.

Diff:
---
 libphobos/libdruntime/core/thread/fiber.d | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 6430d7189c0..1161914a8a2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1357,6 +1357,33 @@ private:
 
             assert( (cast(size_t) pstack & 0x0f) == 0 );
         }
+        else version (AsmPPC64_Posix)
+        {
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 5;
+            }
+            else
+            {
+                pstack += long.sizeof * 5;
+            }
+
+            push( cast(size_t) &fiber_entryPoint );     // link register
+            push( 0x00000000_00000000 );                // control register
+            push( 0x00000000_00000000 );                // old stack pointer
+
+            // GPR values
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 20;
+            }
+            else
+            {
+                pstack += long.sizeof * 20;
+            }
+
+            assert( (cast(size_t) pstack & 0x0f) == 0 );
+        }
         else version (AsmMIPS_O32_Posix)
         {
             version (StackGrowsDown) {}


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [gcc(refs/users/ibuclaw/heads/darwin)] D, Linux : Add implementation for PPC64 init stack.
@ 2021-01-28 17:32 Iain Buclaw
  0 siblings, 0 replies; 8+ messages in thread
From: Iain Buclaw @ 2021-01-28 17:32 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:debe08c4a1eb35d57abcaf1aa8808fefd671adfd

commit debe08c4a1eb35d57abcaf1aa8808fefd671adfd
Author: Iain Sandoe <iain@sandoe.co.uk>
Date:   Fri Dec 11 00:53:40 2020 +0000

    D, Linux : Add implementation for PPC64 init stack.
    
    This provides an initStack entry for 'Posix' PPC64 case.

Diff:
---
 libphobos/libdruntime/core/thread/fiber.d | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/libphobos/libdruntime/core/thread/fiber.d b/libphobos/libdruntime/core/thread/fiber.d
index 6430d7189c0..1161914a8a2 100644
--- a/libphobos/libdruntime/core/thread/fiber.d
+++ b/libphobos/libdruntime/core/thread/fiber.d
@@ -1357,6 +1357,33 @@ private:
 
             assert( (cast(size_t) pstack & 0x0f) == 0 );
         }
+        else version (AsmPPC64_Posix)
+        {
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 5;
+            }
+            else
+            {
+                pstack += long.sizeof * 5;
+            }
+
+            push( cast(size_t) &fiber_entryPoint );     // link register
+            push( 0x00000000_00000000 );                // control register
+            push( 0x00000000_00000000 );                // old stack pointer
+
+            // GPR values
+            version (StackGrowsDown)
+            {
+                pstack -= long.sizeof * 20;
+            }
+            else
+            {
+                pstack += long.sizeof * 20;
+            }
+
+            assert( (cast(size_t) pstack & 0x0f) == 0 );
+        }
         else version (AsmMIPS_O32_Posix)
         {
             version (StackGrowsDown) {}


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-09-17 14:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-19 18:06 [gcc(refs/users/ibuclaw/heads/darwin)] D, Linux : Add implementation for PPC64 init stack Iain Buclaw
  -- strict thread matches above, loose matches on Subject: below --
2021-09-17 14:34 Iain Buclaw
2021-04-10 17:02 Iain Buclaw
2021-04-10 15:05 Iain Buclaw
2021-03-14 22:01 Iain Buclaw
2021-03-07 17:02 Iain Buclaw
2021-01-30 19:09 Iain Buclaw
2021-01-28 17:32 Iain Buclaw

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).