Ah, figured out the -mfdpic thing, [PATCH] included.

Rob Landley rob at landley.net
Tue Feb 22 00:31:48 UTC 2011


On 02/21/2011 06:03 PM, Mike Frysinger wrote:
> On Friday, February 11, 2011 21:34:22 Rob Landley wrote:
>> On 02/11/2011 12:55 PM, Bernhard Reutner-Fischer wrote:
>>> On Thu, Feb 10, 2011 at 01:42:01PM -0600, 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:
>>>
>>> It's not only for FRV, it's also used on bfin (should be fixed in the
>>> docs).
>>
>> Right, so when mike changed that in gcc he didn't bother to update the
>> docs, when he changed it in uClibc he didn't bother to put any docs on
>> the config entry...
> 
> no idea what you're talking about.  i didnt do the gcc nor uClibc port for 
> FDPIC for Blackfin processors.

Then whoever did didn't update the gcc man page.

I assumed it was you because you didn't add help test for the
UCLIBC_FORMAT_FDPIC_ELF menu entry in commit 14db067a8bdcd,
you maintained an out-of-tree uClibc blackfin tree back when
Erik handed maintainership of uClibc off to you and then you didn't
post on the list for three months, and you were the guy working
on qemu support for blackfin back when we had this exchange:

  http://comments.gmane.org/gmane.linux.kernel.embedded/39

But I can't say I've been keeping particularly close track,
my bad.

>> Why do you want to have two user-visible symbols that mean exactly the
>> same thing?  (What part of my explanation was incorrect?)
> 
> no, the "has mmu" is there for the kconfig tree to make the the "use mmu" 
> available to the user.  the source then keys off of "use mmu".  nowhere does 
> the user select "i have a mmu", they only select "i want to use the mmu".  
> seems pretty straightforward to me.
> -mike

Do a "make allnoconfig", then select target architecture "arm".

Now go to the "target architecture features and options menu",
and confirm the following cut and paste:

  │ │        Target ABI (OABI)  --->                                      │ │  
  │ │        Target Processor Type (Generic Arm)  --->                    │ │  
  │ │        Target File Format (FDPIC ELF)  --->                         │ │  
  │ │        Target Processor Endianness (Big Endian)  --->               │ │  
  │ │    [*] Target CPU has a memory management unit (MMU)                │ │  
  │ │    [ ]   Do you want to utilize the MMU?                            │ │  
  │ │    [ ] Enable floating point number support                         │ │  
  │ │    (/usr/include) Linux kernel header location    

There is ARCH_HAS_MMU, user selectable, and ARCH_USE_MMU,
being separately user selectable.

There is no reason for both symbols to even EXIST, let alone
the user having to separately select both of them.  Luckily
this is just arm, it's not like anybody actually _uses_
the single most common CPU type on the planet...

Rob


More information about the uClibc mailing list