Michiel Boland wrote this message on Sun, Jul 15, 2007 at 17:43 +0200: > It looks like gcc mis-compiles /usr/src/crypto/openssh/monitor_fdpass.c on > sparc64. For some reason it optimizes away the assignment of fd on line > 132: > > fd = (*(int *)CMSG_DATA(cmsg)); > > So I guess that every call to mm_receive_fd will return an undefined > value. > > If I add -O0 to CFLAGS in /usr/src/secure/lib/libssh/Makefile, ssh with > UsePrivilegeSeparation=yes works again. > > So, obviously a gcc bug. I will try to generate a smaller test-case for > this. Could you give us an assembly dump of the two differences? phk thinks there might be an issue w/ the CMSG_DATA macro, and a quick glance makes me question it too... It looks scare on platforms that require aligned accesses... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."Received on Sun Jul 15 2007 - 16:17:37 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:14 UTC