浏览代码

m68k: disable BR2_BINFMT_FLAT_SEP_DATA for coldfire

BR2_BINFMT_FLAT_SEP_DATA can be used to create XIP userland and works fine
for m68k. Unfortunately a lot of basic packages as pcre are not compileable
because of a CPU or hardware limitation. The reason for failing are very
big functions used in the libraries or application code.

Typical errors are:

Fatal error: Tried to convert PC relative branch to absolute jump
or
error: value -yyyyy out of range

Add kernel patch from 4ec5542679264bc06a0356ef92f06ad7a0abe06d to make
BR2_BINFMT_FLAT_ONE compiled firmware work fine.

Fixes:
  http://autobuild.buildroot.net/results/20b/20b1586757450d6aad8583ad7a787a7ca11acef1/
  http://autobuild.buildroot.net/results/d31/d311955ada1ffcd7f69e82965c8fe33eabe488cd/

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas: add comment in Config.in file about sep-data existing on m68k,
but being disabled due to build issues with numerous packages.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Waldemar Brodkorb 9 年之前
父节点
当前提交
446177237c
共有 1 个文件被更改,包括 6 次插入1 次删除
  1. 6 1
      arch/Config.in

+ 6 - 1
arch/Config.in

@@ -336,7 +336,12 @@ config BR2_BINFMT_FLAT_ONE
 
 
 config BR2_BINFMT_FLAT_SEP_DATA
 config BR2_BINFMT_FLAT_SEP_DATA
 	bool "Separate data and code region"
 	bool "Separate data and code region"
-	depends on BR2_m68k || BR2_bfin
+	# this FLAT binary type technically exists on m68k, but fails
+	# to build numerous packages: due to architecture limitation,
+	# big functions cannot be built in this mode. They cause build
+	# failures such as "Tried to convert PC relative branch to
+	# absolute jump" or "error: value -yyyyy out of range".
+	depends on BR2_bfin
 	help
 	help
 	  Allow for the data and text segments to be separated and placed in
 	  Allow for the data and text segments to be separated and placed in
 	  different regions of memory.
 	  different regions of memory.