Re: [Jack-Devel] [LAU] jack2 turned verbose

PrevNext  Index
DateSat, 02 Jun 2012 19:09:24 +0300
From Nedko Arnaudov <[hidden] at arnaudov dot name>
ToFons Adriaensen <[hidden] at linuxaudio dot org>
Cc[hidden] at lists dot jackaudio dot org
In-Reply-ToFons Adriaensen Re: [Jack-Devel] [LAU] jack2 turned verbose
Follow-UpFons Adriaensen Re: [Jack-Devel] [LAU] jack2 turned verbose
Follow-UpRobin Gareus Re: [Jack-Devel] [LAU] jack2 turned verbose
Follow-UpNedko Arnaudov Re: [Jack-Devel] [LAU] jack2 turned verbose
Follow-UpNedko Arnaudov Re: [Jack-Devel] [LAU] jack2 turned verbose
Fons Adriaensen <[hidden]> writes:

> What this tells me is that one should test booleans against
> boolean constants, and ints against int constants, and *not*
> mix them up. Which I guess the libdbus code is doing.

This guesswork fails. libdbus doesnt do this if only because it uses
dbus_bool_t and not C99 nor C++ bool. OTOH this is quickly becomming
offtopic and dbus-fud-y. The problem is the incorrect machine code
generated by gcc-4.7.0. That code is not in libdbus, its produced from
JackControlAPI.cpp in the jack2 source tree. You can prove the bug by
disassemling the jackctl_server_create function. The call for adding the
verbose parameter doesnt update the stack variable called "value" which
is set just before the call, line 667. If someone can explain why this
is invalid C code, please do it. If someone cares to produce an isolated
test case please do it and then report upstream (gcc). In the latter
case we can at least expect some gcc guru to decide if its a gcc bug or
invalid C code.

-- 
Nedko Arnaudov <GnuPG KeyID: 5D1B58ED>
PrevNext  Index

1338653382.19934_0.ltw:2,a <87mx4litl7.fsf at arnaudov dot name>