Ah, figured out the -mfdpic thing, [PATCH] included.
Nitin Garg
nitingarg98 at gmail.com
Sat Feb 12 16:09:11 UTC 2011
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 <raj.khem at gmail.com> 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
>> uClibc at uclibc.org
>> http://lists.busybox.net/mailman/listinfo/uclibc
>
> _______________________________________________
> uClibc mailing list
> uClibc at uclibc.org
> http://lists.busybox.net/mailman/listinfo/uclibc
>
More information about the uClibc
mailing list