Dun, dun, duhnnnn….

The forboding sound of the forbidden warning. The warning that was forbidden. Oh the horror!

Okay, so it really isn’t that bad, but it sure sounds bad. I guess that’s the point though. Let’s take a look:

[CODE]
/home/alaskalinuxuser/Documents/projects/phones/compile/Liquid5/kernel/samsung/jf/drivers/video/msm/mdp.c:401:1: warning: the frame size of 1032 bytes is larger than 1024 bytes [-Wframe-larger-than=]
error, forbidden warning: mdp.c:401
[/CODE]

What we see here is the forbidden warning was given while compiling the kernel. As you can see, the frame size is too big. It cannot exceed 1024 bytes, yet the compiled frame size was 1032 bytes. So, what do we do? Well, we only have two options. Normally, we would have three options, as we could erroniously continue on using the

[CODE] mka -i bootimage [/CODE]

flag and compile despite the errors. This error however, cannot be overcome by this flag, as this problem is “forbidden”. Yes, the compilation would continue, but it would not produce the kernel output.

So, back to relavent options, of which we have two: increase the frame size byte limit, or decrease the frame size. I don’t know how to even begin doing the first option, so we will stick with the latter of decreasing the frame size. In this case it was incredibly easy. I was building the kernel with the arm-linuxeabi-4.8, and simply “upgraded” to 4.9. By doing so, the compiler was more “efficient” and built the smaller frame size which resulted in an error free build. You can choose which tool chain to use in your BoardConfigCommon.mk file, like so:

[CODE]
TARGET_KERNEL_CROSS_COMPILE_PREFIX := arm-linux-androideabi-
TARGET_KERNEL_SOURCE := kernel/samsung/jf
———Or specify a custom one———
TARGET_KERNEL_CUSTOM_TOOLCHAIN := linaro-4.7-12.10/bin/arm-linux-gnueabihf-
[/CODE]

Linux – keep it simple.

Leave a Reply

Your email address will not be published. Required fields are marked *