Browse Source

make powerpc64 vrregset_t logical layout match expected API

between v2 and v3 of the powerpc64 port patch, the change was made
from a 32x4 array of 32-bit unsigned ints for vrregs[] to a 32-element
array of __int128. this mismatches the API applications working with
mcontext_t expect from glibc, and seems to have been motivated by a
misinterpretation of a comment on how aarch64 did things as a
suggestion to do the same on powerpc64.
Rich Felker 4 years ago
parent
commit
ac304227bb
1 changed files with 4 additions and 1 deletions
  1. 4 1
      arch/powerpc64/bits/signal.h

+ 4 - 1
arch/powerpc64/bits/signal.h

@@ -16,7 +16,10 @@ typedef struct {
 } fpregset_t;
 
 typedef struct {
-	unsigned __int128 vrregs[32];
+#ifdef __GNUC__
+	__attribute__((__aligned__(16)))
+#endif
+	unsigned vrregs[32][4];
 	struct {
 #if __BIG_ENDIAN__
 		unsigned _pad[3], vscr_word;