------- Comment #14 from matz at gcc dot gnu dot org 2009-05-06 09:48 -------
Mark, I'm certainly willing to help fixing this, but it's not a new
regression. Before my change TER _sometimes_ worked around the pre-existing
problem, but it's trivial to construct a case exposing it also before
expand from SSA:
void * send_probe(struct outdata *outdata, struct timeval *tp)
{
memcpy(&outdata->tv, tp, sizeof outdata->tv);
return &outdata->tv;
}
(or having more than one reference to &outdata->tv in some other way).
gcc 4.3, 4.4 and trunk before expand from SSA will emit unaligned accesses
here. I haven't checked older ones, but the problem exists since introduction
of SSA (and TER in its current form).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39954