Rainer Jung
2016-08-04 17:08:15 UTC
When building OpenSSL 1.1.0 pre 5 or pre 6 on Sparc I get:
/usr/ccs/bin/as: "crypto/ec/ecp_nistz256-sparcv9.s", line 4811: warning:
stack alignment problem; second operand is not a multiple of 8
/usr/ccs/bin/as: "crypto/ec/ecp_nistz256-sparcv9.s", line 5063: warning:
stack alignment problem; second operand is not a multiple of 8
/usr/ccs/bin/as: "crypto/ec/ecp_nistz256-sparcv9.s", line 5539: warning:
stack alignment problem; second operand is not a multiple of 8
The lines in question in crypto/ec/ecp_nistz256-sparcv9.s are:
save %sp,-(2047+192)-32*10,%sp
save %sp,-(2047+192)-32*18-32,%sp
save %sp,-(2047+192)-32*15-32,%sp
They probably go back to the following lines in
crypto/ec/ecp_nistz256-sparcv9.s.S:
...
#ifdef __arch64__
.register %g2,#scratch
.register %g3,#scratch
# define STACK64_FRAME STACK_FRAME
# define LOCALS64 LOCALS
#else
# define STACK64_FRAME (2047+192)
# define LOCALS64 STACK64_FRAME
#endif
...
save %sp,-STACK64_FRAME-32*10,%sp
...
save %sp,-STACK64_FRAME-32*18-32,%sp
...
save %sp,-STACK64_FRAME-32*15-32,%sp
I can't judge on the validity of the "stack alignment problem", but at
least 2047 is indeed not divisible by 8 (but all other offsets added or
subtracted from 2047 are).
Thanks and regards,
Rainer
/usr/ccs/bin/as: "crypto/ec/ecp_nistz256-sparcv9.s", line 4811: warning:
stack alignment problem; second operand is not a multiple of 8
/usr/ccs/bin/as: "crypto/ec/ecp_nistz256-sparcv9.s", line 5063: warning:
stack alignment problem; second operand is not a multiple of 8
/usr/ccs/bin/as: "crypto/ec/ecp_nistz256-sparcv9.s", line 5539: warning:
stack alignment problem; second operand is not a multiple of 8
The lines in question in crypto/ec/ecp_nistz256-sparcv9.s are:
save %sp,-(2047+192)-32*10,%sp
save %sp,-(2047+192)-32*18-32,%sp
save %sp,-(2047+192)-32*15-32,%sp
They probably go back to the following lines in
crypto/ec/ecp_nistz256-sparcv9.s.S:
...
#ifdef __arch64__
.register %g2,#scratch
.register %g3,#scratch
# define STACK64_FRAME STACK_FRAME
# define LOCALS64 LOCALS
#else
# define STACK64_FRAME (2047+192)
# define LOCALS64 STACK64_FRAME
#endif
...
save %sp,-STACK64_FRAME-32*10,%sp
...
save %sp,-STACK64_FRAME-32*18-32,%sp
...
save %sp,-STACK64_FRAME-32*15-32,%sp
I can't judge on the validity of the "stack alignment problem", but at
least 2047 is indeed not divisible by 8 (but all other offsets added or
subtracted from 2047 are).
Thanks and regards,
Rainer
--
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev