Cortex-M3 (No MMU) builds are broken too due to -mfdpic compile option. Regards, Nitin
On Sat, Feb 12, 2011 at 12:01 AM, Khem Raj <[email protected]> wrote: > On (10/02/11 13:42), Rob Landley wrote: >> I mentioned that my build was dying due to trying to use -mfdpic which >> is a target-specific option for the FRV processor: >> >> http://lists.uclibc.org/pipermail/uclibc/2011-January/044701.html >> https://bugs.busybox.net/show_bug.cgi?id=3193 >> >> The problem is that uClibc has an utterly useless user-visible >> "TARGET_HAS_MMU" as well as "TARGET_USE_MMU", and I took the first out >> of miniconfig because I'd complained about the redundant option during >> the dev cycle and thought it was gone. > > hmmm yeah seems notion of using mmu and having mmu could be combined. > The case where chip has mmu but one still would like to not use it > can be deemed as > > TARGET_HAS_MMU is not set > > I dont see any particular use of knowing that I have mmu when I dont > want to use it > > and when I want to use it then I better know what I am enabling. > >> >> Here's a patch to remove the redundant option. The only decision the >> end user has to make is "Do I want MMU or NOMMU?", and TARGET_USE_MMU is >> the thing that selects that. (There's even code in the test suite >> making sure nothing in the actual build ever uses ARCH_HAS_MMU, it's >> JUST a dependency guard on the only symbol that actually matters.) >> >> Architectures that have no MMU still set ARCH_HAS_NO_MMU, and that's >> used directly as the visibility guard for TARGET_USE_MMU which is the >> only user visible setting, and which defaults to y just like it always >> did. (The previous code that selected TARGET_HAS_MMU was selecting a >> symbol that defaulted to Y, for no apparent reason. There was a whole >> lotta NOP going on, and I've removed it.) >> >> The fact that when you select a nommu system, it defaults to creating a >> binary format that's only available on the FRV architecture with no hint >> that it's a target-specific format, is a separate bug introduced without >> explanation in commit 14db067a8bdcdc7a25. I'm leaving that for now, in >> hopes somebody either fixes it or writes a help option explaining what >> they were thinking. >> >> Rob > >> diff --git a/extra/Configs/Config.alpha b/extra/Configs/Config.alpha >> index 144924a..9aab976 100644 >> --- a/extra/Configs/Config.alpha >> +++ b/extra/Configs/Config.alpha >> @@ -11,6 +11,5 @@ config FORCE_OPTIONS_FOR_ARCH >> bool >> default y >> select ARCH_LITTLE_ENDIAN >> - select ARCH_HAS_MMU >> select ARCH_HAS_NO_LDSO >> select UCLIBC_HAS_LFS >> diff --git a/extra/Configs/Config.arm b/extra/Configs/Config.arm >> index b060ace..5c919b4 100644 >> --- a/extra/Configs/Config.arm >> +++ b/extra/Configs/Config.arm >> @@ -62,11 +62,9 @@ config CONFIG_GENERIC_ARM >> >> config CONFIG_ARM610 >> bool "Arm 610" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM710 >> bool "Arm 710" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM7TDMI >> bool "Arm 7TDMI" >> @@ -74,35 +72,27 @@ config CONFIG_ARM7TDMI >> >> config CONFIG_ARM720T >> bool "Arm 720T" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM920T >> bool "Arm 920T" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM922T >> bool "Arm 922T" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM926T >> bool "Arm 926T" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM10T >> bool "Arm 10T" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM1136JF_S >> bool "Arm 1136JF-S" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM1176JZ_S >> bool "Arm 1176JZ-S" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM1176JZF_S >> bool "Arm 1176JZF-S" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM_CORTEX_M3 >> bool "Arm Cortex-M3" >> @@ -116,18 +106,14 @@ config CONFIG_ARM_CORTEX_M1 >> >> config CONFIG_ARM_SA110 >> bool "Intel StrongArm SA-110" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM_SA1100 >> bool "Intel StrongArm SA-1100" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM_XSCALE >> bool "Intel Xscale" >> - select ARCH_HAS_MMU >> >> config CONFIG_ARM_IWMMXT >> bool "Intel Xscale With WMMX PXA27x" >> - select ARCH_HAS_MMU >> >> endchoice >> diff --git a/extra/Configs/Config.avr32 b/extra/Configs/Config.avr32 >> index cbadb4c..a5eb157 100644 >> --- a/extra/Configs/Config.avr32 >> +++ b/extra/Configs/Config.avr32 >> @@ -19,7 +19,6 @@ choice >> >> config CONFIG_AVR32_AP7 >> bool "AVR32 AP7" >> - select ARCH_HAS_MMU >> >> endchoice >> >> diff --git a/extra/Configs/Config.cris b/extra/Configs/Config.cris >> index 52ca0c3..db9293c 100644 >> --- a/extra/Configs/Config.cris >> +++ b/extra/Configs/Config.cris >> @@ -24,11 +24,9 @@ choice >> - CRISv32 Support for Axis' CRISv32 architecture. >> >> config CONFIG_CRIS >> - select ARCH_HAS_MMU >> bool "CRIS" >> >> config CONFIG_CRISV32 >> - select ARCH_HAS_MMU >> bool "CRISv32" >> >> endchoice >> diff --git a/extra/Configs/Config.hppa b/extra/Configs/Config.hppa >> index 1323de2..b8699bf 100644 >> --- a/extra/Configs/Config.hppa >> +++ b/extra/Configs/Config.hppa >> @@ -11,7 +11,6 @@ config FORCE_OPTIONS_FOR_ARCH >> bool >> default y >> select ARCH_BIG_ENDIAN >> - select ARCH_HAS_MMU >> select HAS_NO_THREADS >> select ARCH_HAS_NO_LDSO >> select HAVE_NO_SSP >> diff --git a/extra/Configs/Config.i386 b/extra/Configs/Config.i386 >> index 288aa5e..f23646c 100644 >> --- a/extra/Configs/Config.i386 >> +++ b/extra/Configs/Config.i386 >> @@ -11,7 +11,6 @@ config FORCE_OPTIONS_FOR_ARCH >> bool >> default y >> select ARCH_LITTLE_ENDIAN >> - select ARCH_HAS_MMU >> >> choice >> prompt "Target x86 Processor Family" >> diff --git a/extra/Configs/Config.ia64 b/extra/Configs/Config.ia64 >> index ae88be7..c7a1f63 100644 >> --- a/extra/Configs/Config.ia64 >> +++ b/extra/Configs/Config.ia64 >> @@ -11,5 +11,4 @@ config FORCE_OPTIONS_FOR_ARCH >> bool >> default y >> select ARCH_LITTLE_ENDIAN >> - select ARCH_HAS_MMU >> select ARCH_HAS_NO_LDSO >> diff --git a/extra/Configs/Config.in.arch b/extra/Configs/Config.in.arch >> index 8a02cb1..4679517 100644 >> --- a/extra/Configs/Config.in.arch >> +++ b/extra/Configs/Config.in.arch >> @@ -93,7 +93,7 @@ if ARCH_HAS_NO_MMU >> comment "Target CPU lacks a memory management unit (MMU)" >> endif >> >> -config ARCH_HAS_MMU >> +config ARCH_USE_MMU >> bool "Target CPU has a memory management unit (MMU)" >> depends on !ARCH_HAS_NO_MMU >> default y >> @@ -102,13 +102,6 @@ config ARCH_HAS_MMU >> then answer N here. Normally, Linux runs on systems with an MMU. >> If you are building a uClinux system, answer N. >> >> - Most people will answer Y. >> - >> -config ARCH_USE_MMU >> - bool "Do you want to utilize the MMU?" >> - depends on ARCH_HAS_MMU >> - default y >> - help >> If your target CPU has a MMU, and you wish to actually utilize it, >> then answer Y here. Normal Linux requires an MMU. >> >> diff --git a/extra/Configs/Config.powerpc b/extra/Configs/Config.powerpc >> index 84c4423..6b09f47 100644 >> --- a/extra/Configs/Config.powerpc >> +++ b/extra/Configs/Config.powerpc >> @@ -11,7 +11,6 @@ config FORCE_OPTIONS_FOR_ARCH >> bool >> default y >> select ARCH_BIG_ENDIAN >> - select ARCH_HAS_MMU >> >> choice >> prompt "Target Processor Type" >> diff --git a/extra/Configs/Config.sh b/extra/Configs/Config.sh >> index 10e9d8b..ce86ef3 100644 >> --- a/extra/Configs/Config.sh >> +++ b/extra/Configs/Config.sh >> @@ -37,7 +37,6 @@ config CONFIG_SH2 >> bool "SH2" >> >> config CONFIG_SH3 >> - select ARCH_HAS_MMU >> bool "SH3" >> >> config CONFIG_SH4 >> diff --git a/extra/Configs/Config.sh64 b/extra/Configs/Config.sh64 >> index 02535b9..a8c22bd 100644 >> --- a/extra/Configs/Config.sh64 >> +++ b/extra/Configs/Config.sh64 >> @@ -25,7 +25,6 @@ choice >> - "SH5" SuperH SH-5 101, 103 >> >> config CONFIG_SH5 >> - select ARCH_HAS_MMU >> select UCLIBC_HAS_LFS >> bool "SH5" >> >> diff --git a/extra/Configs/Config.x86_64 b/extra/Configs/Config.x86_64 >> index 1b28088..80c9e08 100644 >> --- a/extra/Configs/Config.x86_64 >> +++ b/extra/Configs/Config.x86_64 >> @@ -11,4 +11,3 @@ config FORCE_OPTIONS_FOR_ARCH >> bool >> default y >> select ARCH_LITTLE_ENDIAN >> - select ARCH_HAS_MMU > >> _______________________________________________ >> uClibc mailing list >> [email protected] >> http://lists.busybox.net/mailman/listinfo/uclibc > > _______________________________________________ > uClibc mailing list > [email protected] > http://lists.busybox.net/mailman/listinfo/uclibc > _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
