[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: ongoing rump udf build failure - and strict-aliasing warnings generally
On Fri Jul 18 2008 at 11:13:46 +1000, Daniel Carosone wrote:
> I've been getting this failure for a couple of weeks now, which is
> worrying - clearly others aren't seeing the same thing. some
> combination of compiler flags and gcc's heisen-warnings, I guess.
> This is when building udf as a rump.
You get this when you do -O2. Currently (but not for long) rump defaults
to -O0, and your infamous compiler flags override it.
> -O0 -g -Wno-pointer-sign -DUDF_READWRITE -DDEBUG -DDIAGNOSTIC -ffreestanding
> -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
> -Wno-sign-compare -Wno-traditional -Wreturn-type -Wswitch -Wshadow
> -Wcast-qual -Wwrite-strings -Wextra -Wno-unused-parameter -std=gnu99 -Werror
> -march=nocona -O2 -pipe -fstack-protector -Wstack-protector --param
> ssp-buffer-size=1 -I/home/NetBSD/HEAD/src/sys/rump/include
> -I/home/NetBSD/HEAD/src/sys/rump/fs/lib/libudf -I. -D_KERNEL
> -I/home/NetBSD/HEAD/src/common/include -D_RUMPKERNEL -nostdinc
> -I/home/NetBSD/HEAD/src/sys -nostdinc -isystem
> /home/NetBSD/obj/p4/home/NetBSD/HEAD/src/destdir.i386/usr/include -c
> /home/NetBSD/HEAD/src/sys/fs/udf/udf_allocation.c -o udf_allocation.o
> /home/NetBSD/HEAD/src/sys/fs/udf/udf_allocation.c:1568: warning:
> dereferencing type-punned pointer will break strict-aliasing rules
> In the course of investigating this, I was concerned to learn that we
> seem to have disabled this warning for the kernel generally. This
> leads to these kinds of problems creeping in undetected, until they
> crawl out from under that rock when built separately like this.
I know you can "fix" these by casting to (void *) instead of (foo **),
but nobody has ever succesfully been able to explain to me a) what the
warning really really means and b) how to really fix it.
Main Index |
Thread Index |