| Summary: | There are some strict-aliasing warnings during the compillation | ||
|---|---|---|---|
| Product: | Portable OpenSSH | Reporter: | jchadima |
| Component: | Build system | Assignee: | Assigned to nobody <unassigned-bugs> |
| Status: | CLOSED WORKSFORME | ||
| Severity: | normal | CC: | djm, jchadima |
| Priority: | P2 | ||
| Version: | 5.5p1 | ||
| Hardware: | All | ||
| OS: | All | ||
We set -fno-strict-aliasing already for gcc4:
if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
CFLAGS="$CFLAGS -Wall -Wpointer-arith -Wuninitialized"
GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'`
case $GCC_VER in
1.*) no_attrib_nonnull=1 ;;
2.8* | 2.9*)
CFLAGS="$CFLAGS -Wsign-compare"
no_attrib_nonnull=1
;;
2.*) no_attrib_nonnull=1 ;;
3.*) CFLAGS="$CFLAGS -Wsign-compare -Wformat-security" ;;
4.*) CFLAGS="$CFLAGS -Wsign-compare -Wno-pointer-sign -Wformat-s
ecurity -fno-strict-aliasing" ;;
*) ;;
esac
Is there something in your environment that is skipping this test?
Move resolved bugs to CLOSED after 5.7 release |
The gcc's strict-aliasing warnings may lead to problems in optimization time, especially in newer versions of the compiler. there are the occurences of the warnings: channels.c : ((struct in_addr *)&dest_addr)->s_addr = INADDR_ANY; monitor_fdpass.c: *(int *)CMSG_DATA(cmsg) = fd; fd = (*(int *)CMSG_DATA(cmsg)); umac.c: *(UINT32 *)tmp_nonce_lo = ((UINT32 *)nonce)[1]; if ( (((UINT32 *)tmp_nonce_lo)[0] != ((UINT32 *)pc->nonce)[1]) || (((UINT32 *)nonce)[0] != ((UINT32 *)pc->nonce)[0]) )