Jump to content

Acer CloudMobile Developer Discussion [Developers Only]

Guest srsdani

Recommended Posts

I think that would be great if we could help each other(if we can) in this thread.


I will begin with one problem. In the last days I tried to compile stock kernel using GCC 4.7 and 4.8 and I have errors(warning but compiler take them as errors). With 4.6 it's everything ok, but I want to use 4.7 or 4.8 because those have better optimization .

So, i try with make -k ..... but it was unsuccessful. More info below. Original xt_socket.c (if i write to protocol=int value, it give me another error, same for NULL or other(protocol is pointer type).

  CC      net/netfilter/xt_qtaguid.o 
  CC      net/netfilter/xt_quota.o
  CC      net/netfilter/xt_quota2.o
  CC      net/netfilter/xt_socket.o
In file included from include/linux/kernel.h:23:0,
                 from include/linux/cache.h:4,
                 from include/linux/time.h:7,
                 from include/linux/stat.h:60,
                 from include/linux/module.h:10,
                 from net/netfilter/xt_socket.c:13:
net/netfilter/xt_socket.c: In function 'xt_socket_get4_sk':
include/linux/dynamic_debug.h:75:21: warning: 'protocol' may be used uninitialized in this function [-Wmaybe-uninitialized]
error, forbidden warning: dynamic_debug.h:75
make[2]: *** [net/netfilter/xt_socket.o] Error 1
make[1]: *** [net/netfilter] Error 2
make: *** [net] Error 2
[email protected]:~/kernel$
Edited by srsdani
Link to comment
Share on other sites

u need to add the -waymbe-uniantialized tag in the build flasg of makefile.

check some gits of kernel that use the linaro toolchain aswell.

i am sorry for bad typing but i am in phone.

Link to comment
Share on other sites

Globally, from one version of GCC to another, some warnings in the previous becomes errors by default in the new version (that was true from 4.6 to 4.7, and true for 4.7 ti 4.8 and so on)

This is because some bad C code are no longer acceptable (becomes deprecated) for the new optimizations implemented in the new GCC version.

So you have 2 options :

- Fix the code and refactor it to make it clean (lots of work)

- Add some GCC compilation flags in Makefiles/.mk like suggest Spacecaker in order to transforms theses errors into warning like in GCC 4.7 (this will compile, but you have a risk of bad execution because some parts of your code is now deprecated)

Link to comment
Share on other sites

So, the problem was in Makefile and .config. I compared and added some flags from Mako (from franco) and it worked. I still have some warning/s, some breakpoints but I will try  to make it better(it's my first kernel). Anyway, this thread may be useful for all of us. Thanks a lot for help.

Edited by srsdani
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.