Jelajahi Sumber

Add support for sh2a and sh4a big endian (ie, targets that reflect
hardware that actually exists -- never something to deter gcc folk
though). Now ISA tuning has a chance of producing a bootable kernel,
gcc code generation notwithstanding..

Paul Mundt 19 tahun lalu
induk
melakukan
48eb656e15

+ 1 - 1
package/gnuconfig/config.sub

@@ -264,7 +264,7 @@ case $basic_machine in
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
 	| pyramid \
-	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+	| sh | sh[1234] | sh[24]a | sh[24]a*eb | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
 	| sh64 | sh64le \
 	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
 	| sparcv8 | sparcv9 | sparcv9b \

+ 25 - 0
package/gnuconfig/patches/config.sub.sh.patch

@@ -0,0 +1,25 @@
+gnuconfig seems intent on only supporting superfluous targets that don't
+represent any real hardware (such as sh2a LE). GCC in its infinite wisdom is
+also incapable of supporting tuning for other variants in a sensible fashion.
+
+As such, we still need to be able to support such useful targets as
+sh2a_nofpueb in order to not only get the byte order right, but also to
+support -m2a-nofpu tuning from the kernel (though we tend to do this through
+-Wa,-isa= instead, as the binutils people do a much better job of not screwing
+up their config code every other day. Way to go config.gcc..).
+
+The fact that the sh variant matching is the ugliest out of any of the other
+architectures doesn't seem to deter GCC folk from their well thought out and
+brilliantly managed config target list.
+
+--- config.sub	2005-11-21 21:18:16.000000000 +0200
++++ config.sub	2005-11-21 21:39:48.000000000 +0200
+@@ -264,7 +264,7 @@
+ 	| pdp10 | pdp11 | pj | pjl \
+ 	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ 	| pyramid \
+-	| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
++	| sh | sh[1234] | sh[24]a | sh[24]a*eb | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ 	| sh64 | sh64le \
+ 	| sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \
+ 	| sparcv8 | sparcv9 | sparcv9b \