内核配置选项之CONFIG_AEABI

 

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: 
[] (dump_backtrace+0x0/0x114) from [] (dump_stack+0x18/0x1c)
 r7:c5818000 r6:c5817a40 r5:c5817a40 r4:c03291c4
[] (dump_stack+0x0/0x1c) from [] (panic+0x4c/0x120)
[] (panic+0x0/0x120) from [] (do_exit+0x70/0x58c)
 r3:c0313004 r2:c5817a40 r1:c5819d0c r0:c02cbdcb
[] (do_exit+0x0/0x58c) from [] (do_group_exit+0x94/0xc8)
[] (do_group_exit+0x0/0xc8) from [] (get_signal_to_deliver+0x2ec/0x324)
 r7:c5293a74 r6:c5818000 r5:c5819ed4 r4:00000004
[] (get_signal_to_deliver+0x0/0x324) from [] (do_signal+0x58/0x528)
[] (do_signal+0x0/0x528) from [] (do_notify_resume+0x30/0x34)
[] (do_notify_resume+0x0/0x34) from [] (work_pending+0x1c/0x20)

 

你可能感兴趣的:(Linux)