Jump to content


Photo

Acer CloudMobile Developer Discussion [Developers Only]

- - - - -

  • Please log in to reply
3 replies to this topic

#1
srsdani

srsdani

    Newbie

  • Members
  • Pip
  • 47 posts
  • Gender:Male
  • Location:Galati
  • Devices:AcerS500+Nokia101

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
srsdani@ubuntu:~/kernel$

Edited by srsdani, 13 April 2014 - 08:11 PM.

  • 0

#2
Spacecaker

Spacecaker

    Diehard

  • Members
  • PipPipPipPip
  • 481 posts
  • Gender:Male
  • Devices:Acer S500 CloudMobile
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.

  • 1

#3
Shreps

Shreps

    Regular

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Devices:Samsung GT-i9100 & Acer S500
  • Twitter:@shr3ps
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)

  • 1

#4
srsdani

srsdani

    Newbie

  • Members
  • Pip
  • 47 posts
  • Gender:Male
  • Location:Galati
  • Devices:AcerS500+Nokia101

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, 18 April 2014 - 05:49 PM.

  • 0




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users