Build with the -fno-strict-aliasing flag on GCC.

You do not want to know about the 2 hours I just spent tracking down
an evdns bug that only affected me on some platforms to the way we
were using sockaddr* and sockaddr_in*.  Suffice it to say that I do
not think this is the only C99-aliasing-dubiousness in our code, nor
that I am smart enough to keep my code correct with the GCC's strict
aliasing optimizations in place.

svn:r1079
This commit is contained in:
Nick Mathewson 2009-01-31 07:31:47 +00:00
parent 2546ea665e
commit 52eb495130
2 changed files with 7 additions and 2 deletions

View File

@ -19,7 +19,11 @@ AC_PROG_LN_S
AC_PROG_GCC_TRADITIONAL
if test "$GCC" = yes ; then
# Enable many gcc warnings by default...
CFLAGS="$CFLAGS -Wall"
# And disable the strict-aliasing optimization, since it breaks
# our sockaddr-handling code in strange ways.
CFLAGS="$CFLAGS -fno-strict-aliasing"
fi
AC_ARG_ENABLE(gcc-warnings,

View File

@ -3468,6 +3468,7 @@ main(int c, char **v) {
++idx;
}
event_init();
evdns_init();
if (verbose)
evdns_set_log_fn(logfn);
evdns_resolv_conf_parse(DNS_OPTION_NAMESERVERS, "/etc/resolv.conf");