On Mon, 2005-04-18 at 09:59 -0300, Casimiro de Almeida Barreto wrote:
Other example: while compiling libquicktime...
gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include/quicktime
-I../../include -I../../include/ -DMMX -O3 -funroll-all-loops
-fomit-frame-pointer -falign-loops=2 -falign-jumps=2
-falign-functions=2 -finline-functions -Wall -Winline -march=pentium
-O3 -funroll-all-loops -fomit-frame-pointer -falign-loops=2
-falign-jumps=2 -falign-functions=2 -finline-functions -Wall -Winline
-MT RTjpeg.lo -MD -MP -MF .deps/RTjpeg.Tpo -c RTjpeg.c -fPIC -DPIC
-o .libs/RTjpeg.o
Wow. I agree with arjan's speculation about needing a newer binutils.
At the same time, this command line is a bit over the top. Never mind
that most of the arguments that typically are part of CFLAGS are
specified twice -- which can't be a good sign, but probably won't
actually hurt anything -- you should probably consider using "-O2"
instead of "-O3". -O3 has _never_ been something that sees significant
testing on the scale -O2 does, and simply is not recommended for use.
In file included from RTjpeg.c:40:
RTjpeg.h:99: warning: 'packed' attribute ignored
That means you've got a structure declared with __attribute__((packed)),
but that structure would be naturally behave as if it were packed.
RTjpeg.c: In function 'RTjpeg_b2s':
RTjpeg.c:101: error: invalid lvalue in assignment
This is because you're casting an lvalue, which isn't valid in C.
RTjpeg.c: In function 'RTjpeg_compressYUV420':
RTjpeg.c:2503: warning: pointer targets in initialization differ in
signedness
RTjpeg.c:2505: warning: pointer targets in initialization differ in
signedness
RTjpeg.c:2506: warning: pointer targets in initialization differ in
signedness
RTjpeg.c:2518: warning: pointer targets in passing argument 2 of
'RTjpeg_dctY' differ in signedness
These would appear to be the bugs that the code is trying to mask by
illegally casting an lvalue.
--
Peter