Explorar o código

Fixup selection of endianness, since select does not work on choice
items, we have to declare what endianness cpus are capable of supporting
and work using dependancies.

Eric Andersen %!s(int64=22) %!d(string=hai) anos
pai
achega
76374f68fb

+ 4 - 1
extra/Configs/Config.alpha

@@ -5,7 +5,6 @@
 
 config HAVE_ELF
 	select UCLIBC_HAS_MMU
-	select ARCH_LITTLE_ENDIAN
 	select HAVE_NO_SHARED
 	select ARCH_HAS_NO_LDSO
 	select HAS_NO_THREADS
@@ -13,6 +12,10 @@ config HAVE_ELF
 	bool
 	default y
 
+config ARCH_SUPPORTS_LITTLE_ENDIAN
+	bool
+	default y
+
 config TARGET_ARCH
 	default "alpha"
 

+ 8 - 0
extra/Configs/Config.arm

@@ -19,6 +19,14 @@ config ARCH_LDFLAGS
 config LIBGCC_CFLAGS
 	string
 
+config ARCH_SUPPORTS_BIG_ENDIAN
+	bool
+	default y
+
+config ARCH_SUPPORTS_LITTLE_ENDIAN
+	bool
+	default y
+
 choice
 	prompt "Target Processor Type"
 	default CONFIG_GENERIC_ARM

+ 3 - 1
extra/Configs/Config.cris

@@ -19,6 +19,9 @@ config ARCH_LDFLAGS
 config LIBGCC_CFLAGS
 	string
 
+config ARCH_SUPPORTS_LITTLE_ENDIAN
+	bool
+	default y
 
 choice
 	prompt "Target Architecture Type"
@@ -32,7 +35,6 @@ choice
 
 config CONFIG_CRIS
 	select UCLIBC_HAS_MMU
-	select ARCH_LITTLE_ENDIAN
 	bool "CRIS"
 
 endchoice

+ 4 - 1
extra/Configs/Config.e1

@@ -8,10 +8,13 @@ config HAVE_ELF
 	select ARCH_HAS_NO_MMU
 	select HAVE_NO_SHARED
 	select ARCH_HAS_NO_LDSO
-	select ARCH_BIG_ENDIAN
 	bool
 	default n
 
+config ARCH_SUPPORTS_BIG_ENDIAN
+	bool
+	default y
+
 config TARGET_ARCH
 	default "e1"
 

+ 8 - 0
extra/Configs/Config.h8300

@@ -11,6 +11,14 @@ config HAVE_ELF
 	select ARCH_HAS_NO_LDSO
 	default y
 
+config ARCH_SUPPORTS_BIG_ENDIAN
+	bool
+	default y
+
+config ARCH_SUPPORTS_LITTLE_ENDIAN
+	bool
+	default y
+
 config TARGET_ARCH
 	default "h8300"
 

+ 4 - 1
extra/Configs/Config.i386

@@ -5,7 +5,6 @@
 
 config HAVE_ELF
 	bool
-	select ARCH_LITTLE_ENDIAN
 	select UCLIBC_HAS_MMU
 	default y
 
@@ -22,6 +21,10 @@ config ARCH_LDFLAGS
 config LIBGCC_CFLAGS
 	string
 
+config ARCH_SUPPORTS_LITTLE_ENDIAN
+	bool
+	default y
+
 choice
 	prompt "Target x86 Processor Family"
 	default CONFIG_GENERIC_386

+ 4 - 0
extra/Configs/Config.i960

@@ -14,6 +14,10 @@ config HAVE_ELF
 	select HAS_NO_THREADS
 	default n
 
+config ARCH_SUPPORTS_LITTLE_ENDIAN
+	bool
+	default y
+
 config ARCH_CFLAGS
 	string
 	default "-mh -mint32 -fsigned-char"

+ 2 - 0
extra/Configs/Config.in.arch

@@ -11,9 +11,11 @@ choice
 
 config ARCH_LITTLE_ENDIAN
 	bool "Little Endian"
+	depends on ARCH_SUPPORTS_LITTLE_ENDIAN
 
 config ARCH_BIG_ENDIAN
 	bool "Big Endian"
+	depends on ARCH_SUPPORTS_BIG_ENDIAN
 
 endchoice
 

+ 4 - 1
extra/Configs/Config.m68k

@@ -9,11 +9,14 @@ config TARGET_ARCH
 config HAVE_ELF
 	bool
 	select ARCH_HAS_NO_MMU
-	select ARCH_BIG_ENDIAN
 	select HAVE_NO_SHARED
 	select ARCH_HAS_NO_LDSO
 	default y
 
+config ARCH_SUPPORTS_BIG_ENDIAN
+	bool
+	default y
+
 config ARCH_CFLAGS
 	string
 	default "-Wa,--bitwise-or -I$(KERNEL_SOURCE)/include"

+ 4 - 0
extra/Configs/Config.microblaze

@@ -14,6 +14,10 @@ config HAVE_ELF
 	select ARCH_HAS_NO_LDSO
 	default y
 
+config ARCH_SUPPORTS_BIG_ENDIAN
+	bool
+	default y
+
 config ARCH_CFLAGS
 	string
 

+ 8 - 0
extra/Configs/Config.mips

@@ -20,6 +20,14 @@ config ARCH_LDFLAGS
 config LIBGCC_CFLAGS
 	string
 
+config ARCH_SUPPORTS_BIG_ENDIAN
+	bool
+	default y
+
+config ARCH_SUPPORTS_LITTLE_ENDIAN
+	bool
+	default y
+
 choice
 	prompt "Target Processor Architecture"
 	default CONFIG_MIPS_ISA_1

+ 4 - 1
extra/Configs/Config.powerpc

@@ -9,7 +9,10 @@ config TARGET_ARCH
 config HAVE_ELF
 	bool
 	select UCLIBC_HAS_MMU
-	select ARCH_BIG_ENDIAN
+	default y
+
+config ARCH_SUPPORTS_BIG_ENDIAN
+	bool
 	default y
 
 config ARCH_CFLAGS

+ 6 - 2
extra/Configs/Config.sh

@@ -24,8 +24,12 @@ config HAVE_DOT_HIDDEN
         bool
 	default y
 
-config UCLIBC_COMPLETELY_PIC
-        bool
+config ARCH_SUPPORTS_BIG_ENDIAN
+	bool
+	default y
+
+config ARCH_SUPPORTS_LITTLE_ENDIAN
+	bool
 	default y
 
 choice

+ 4 - 1
extra/Configs/Config.sparc

@@ -8,11 +8,14 @@ config TARGET_ARCH
 
 config HAVE_ELF
 	bool
-	select ARCH_BIG_ENDIAN
 	select HAVE_NO_SHARED
 	select ARCH_HAS_NO_LDSO
 	default y
 
+config ARCH_SUPPORTS_BIG_ENDIAN
+	bool
+	default y
+
 config ARCH_CFLAGS
 	string
 

+ 4 - 1
extra/Configs/Config.v850

@@ -9,13 +9,16 @@ config TARGET_ARCH
 config HAVE_ELF
 	bool
 	select ARCH_HAS_NO_MMU
-	select ARCH_LITTLE_ENDIAN
 	select ARCH_HAS_C_SYMBOL_PREFIX
 	select HAVE_NO_PIC
 	select HAVE_NO_SHARED
 	select ARCH_HAS_NO_LDSO
 	default y
 
+config ARCH_SUPPORTS_LITTLE_ENDIAN
+	bool
+	default y
+
 config ARCH_CFLAGS
 	string