[kde-freebsd] net-im/psi: a gcc46 issue?
Max Brazhnikov
makc at freebsd.org
Fri Oct 19 22:35:45 UTC 2012
On Fri, 12 Oct 2012 13:08:36 +0300, Andriy Gapon wrote:
> on 11/10/2012 22:45 Andriy Gapon said the following:
> > on 11/10/2012 22:21 Andriy Gapon said the following:
> >>
> >> Build of version 0.15 fails for me like this:
> >> --------------------------------------------------
> >> Verifying Qt 4 build environment ...
> >> Warning: /usr/local/bin/qmake-qt4 not for Qt 4
> >
> > Hm, looks like something in configure env causes qmake-qt4 to crash with
> > SIGSEGV. That doesn't happen in normal shell environment.
> >
> > Hmm, interesting:
> > $ env QMAKEFLAGS='QMAKE_CC="cc" QMAKE_CXX="c++" QMAKE_LINK="c++"
> > QMAKE_LINK_SHLIB="c++" QMAKE_LINK_C="cc" QMAKE_LINK_C_SHLIB="cc"
> > QMAKE_CFLAGS="-O2 -pipe -O2 -fno-strict-aliasing -pipe -march=k8-sse3"
> > QMAKE_CXXFLAGS="-O2 -pipe -O2 -fno-strict-aliasing -pipe -march=k8-sse3 -O2
> > -fno-strict-aliasing -pipe" QMAKE_CFLAGS_THREAD=""
> > QMAKE_LFLAGS_THREAD="-pthread" QMAKE_LFLAGS=""' /usr/local/bin/qmake-qt4 -v
> > zsh: segmentation fault (core dumped)
> >
> > But funny that if I remove _any_ of the QMAKE_XXX flags from the above
> > QMAKEFLAGS, then the command runs fine.
> > I wonder if it's the number of parameters that triggers the crash.
>
> Indeed, it seems that qmake allocates space for options in batches of 10 items and
> I have exactly 11 items above. Additionally qmake has a classic off-by-one error
> when checking whether to allocate an addition batch.
>
> Obviously, a patch follows :-)
>
> --- option.cpp.orig 2012-10-12 12:51:54.706678449 +0300
> +++ option.cpp 2012-10-12 12:52:33.219678158 +0300
> @@ -482,7 +482,7 @@ Option::init(int argc, char **argv)
> env_argc++;
> }
> } else {
> - if(!env_argv || env_argc > env_size) {
> + if(!env_argv || env_argc >= env_size) {
> env_argv = (char **)realloc(env_argv, sizeof(char
> *)*(env_size+=10));
> for(int i2 = env_argc; i2 < env_size; i2++)
> env_argv[i2] = NULL;
>
>
> I think that this is upstreamable.
Thanks for analysis and fix! I'll make it available for 4.6.3.
Max
More information about the kde-freebsd
mailing list