您的位置:首页 > 其它

内核配置选项之CONFIG_AEABI

2011-11-16 12:24 429 查看
The Linux kernel configuration item
CONFIG_AEABI
:

prompt: Use the ARM EABI to compile the kernel
type: tristate
depends on:
(none)

defined in arch/arm/Kconfig
found in Linux Kernels: from 2.6.16 release still available on 2.6.33 release

config AEABI

bool "Use the ARM EABI to compile the kernel"

help

This option allows for the kernel to be compiled using the latest

ARM ABI (aka EABI). This is only useful if you are using a user

space environment that is also compiled with EABI.

Since there are major incompatibilities between the legacy ABI and

EABI, especially with regard to structure member alignment, this

option also changes the kernel syscall calling convention to

disambiguate both ABIs and allow for backward compatibility support

(selected with CONFIG_OABI_COMPAT).

To use this you need GCC version 4.0.0 or later.

当内核ABI配置与用户空间不一致时,在内核加载后运行init时将会产生kernel panic错误,错误格式如下:
Kernel panic - not syncing: Attempted to kill init!

Backtrace:

[<c00259c0>] (dump_backtrace+0x0/0x114) from [<c026d674>] (dump_stack+0x18/0x1c)

r7:c5818000 r6:c5817a40 r5:c5817a40 r4:c03291c4

[<c026d65c>] (dump_stack+0x0/0x1c) from [<c026d6c4>] (panic+0x4c/0x120)

[<c026d678>] (panic+0x0/0x120) from [<c00406e0>] (do_exit+0x70/0x58c)

r3:c0313004 r2:c5817a40 r1:c5819d0c r0:c02cbdcb

[<c0040670>] (do_exit+0x0/0x58c) from [<c0040c90>] (do_group_exit+0x94/0xc8)

[<c0040bfc>] (do_group_exit+0x0/0xc8) from [<c004ae40>] (get_signal_to_deliver+0x2ec/0x324)

r7:c5293a74 r6:c5818000 r5:c5819ed4 r4:00000004

[<c004ab54>] (get_signal_to_deliver+0x0/0x324) from [<c0024024>] (do_signal+0x58/0x528)

[<c0023fcc>] (do_signal+0x0/0x528) from [<c0024524>] (do_notify_resume+0x30/0x34)

[<c00244f4>] (do_notify_resume+0x0/0x34) from [<c0021e8c>] (work_pending+0x1c/0x20)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: