[Commotion-dev] Can't talk between desktop OLSRd and Commotion OpenWRT boxes

Ben West ben at gowasabi.net
Mon Mar 18 19:38:53 UTC 2013


Hi All,

I'm having difficulty replicating this solution on my own platform (Ubuntu
quantal i386 under a VMware host, but with real USB wifi radio).

That is, removing the O2 compile option and recompiling olsrd does not seem
to yield a working olsrd for me.  I'm presently trying this out on a real
host instead (i.e. no virtualization), but that is slowly opening a
delightful can of worms w/r/t/ to thge newer Ubuntus dropping legacy video
driver support and other such pleasantness.

If the problem's source has been conclusively narrowed down to the -O2 (and
even -fPIE?) flag added by Hans' patch 310-hardening-fixes.patch, could
Hans just release an updated olsrd package in his PPA, with those flags
removed, as an interim workaround for anyone not able to compile their own?

On Sat, Mar 9, 2013 at 12:34 PM, Mikael Nordfeldth <mmn at hethane.se> wrote:

> 2013-03-08 19:27, Hans-Christoph Steiner skrev:
> > That would be quite useful if you have the time!  Another thing that
> might the
> > whole process easier is to 'git bisect', if you are familiar with that..
> > Right now, Debian squeeze and wheezy have 0.6.2, and Ubuntu has 0.6.1
> and 0.6.3:
> >
> > http://packages.debian.org/search?keywords=olsrd
> > http://packages.ubuntu.com/search?keywords=olsrd
> >
> > So the idea is to find out which version of these we can rely on, and
> which we
> > need to use replacements.
>
> Gah. This seems way more advanced than what I can explain with my
> knowledge. Nevertheless, I did find what caused my error, the -O2 gcc
> optimization switch as patched by Debian package "hardening fixes":
>
> 1. I tried compiling various olsrd versions. All worked.
> 2. I tried compiling 0.6.3-5~quantal from 'apt-get source'. It didn't work.
> 3. I tried compiling the 0.6.3.orig source (same as above, without
> debian patches) It worked.
> 4. None of the patches contained any networking code (except the json
> plugin, but disabling it didn't have any effect anyway)
> 5. I found that removing the -O2 switch on line 227 in Makefile.inc, as
> patched by 310-hardening-fixes.patch resolved my invalid argument
> sendto(v4) issue:
>
>  %.o: %.c
>         @echo "[CC] $<"
> -       $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
> +       $(CC) -O2 $(CFLAGS) $(CPPFLAGS) -fPIE -c -o $@ $<
>
>
> Reverting this (and even leaving the -fPIE there but removing -O2) makes
> the resulting binary functional.
>
>
> So the specific problem was caused by the -O2 parameter to gcc, I guess
> making it a compiling/linking issue. I don't know enough about this
> myself though, so I'm attaching ('O2-opts') the output of what that
> level of optimizations means if anyone is interested (gcc -c -Q -O2
> --help=optimizers)
>
> More info on my build environment is below:
>
> $ gcc -v
> Using built-in specs.
> COLLECT_GCC=gcc
> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.7/lto-wrapper
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro
> 4.7.2-2ubuntu1' --with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs
> --enable-languages=c,c++,go,fortran,objc,obj-c++ --prefix=/usr
> --program-suffix=-4.7 --enable-shared --enable-linker-build-id
> --with-system-zlib --libexecdir=/usr/lib --without-included-gettext
> --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.7
> --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu
> --enable-libstdcxx-debug --enable-libstdcxx-time=yes
> --enable-gnu-unique-object --enable-plugin --enable-objc-gc
> --disable-werror --with-arch-32=i686 --with-tune=generic
> --enable-checking=release --build=x86_64-linux-gnu
> --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> Thread model: posix
> gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1)
>
>
> $ uname -a
> Linux plexi 3.5.0-25-generic #39-Ubuntu SMP Mon Feb 25 18:26:58 UTC 2013
> x86_64 x86_64 x86_64 GNU/Linux
>
> _______________________________________________
> Commotion-dev mailing list
> Commotion-dev at lists.chambana.net
> https://lists.chambana.net/mailman/listinfo/commotion-dev
>
>


-- 
Ben West
http://gowasabi.net
ben at gowasabi.net
314-246-9434
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.chambana.net/pipermail/commotion-dev/attachments/20130318/1d47dc49/attachment.html>


More information about the Commotion-dev mailing list