[Buildroot] [PATCH v3] Disable o32 ABI for MIPS64 architectures

Vicente Olivert Riera Vincent.Riera at imgtec.com
Fri Mar 28 10:38:04 UTC 2014


On 03/28/2014 10:27 AM, Markos Chandras wrote:
> On 03/28/2014 09:51 AM, Vicente Olivert Riera wrote:
>> On 03/28/2014 12:02 AM, Joshua Kinard wrote:
>>> On 03/27/2014 05:56, Vicente Olivert Riera wrote:
>>>> On 03/26/2014 09:28 PM, Peter Korsgaard wrote:
>>>>>>>>>> "Vicente" == Vicente Olivert Riera <Vincent.Riera at imgtec.com>
>>>>>>>>>> writes:
>>>>>
>>>>> Hi,
>>>>>
>>>>>    >>> +config BR2_MIPS_OABI32
>>>>>    >>> +    bool
>>>>>    >>> +    default y        if BR2_mips || BR2_mipsel
>>>>>    >>> +    default n        if BR2_mips64 || BR2_mips64el
>>>>>    >>
>>>>>    >> Did you forget to remove this or is there a reason to keep it?
>>>>> In the
>>>>>    >> latter case, please add an explanatory comment.
>>>>>
>>>>>    > Why would I want to remove this? The BR2_MIPS_OABI32 symbol is
>>>>> used by
>>>>>    > glibc and uclibc packages.
>>>>>
>>>>> Arnout is just asking about the 'default n' line. Symbols are 'n' by
>>>>> default, so the line doesn't do anything as far as I can see.
>>>>>
>>>>
>>>> I have maintained that line because if you remove it and then select
>>>> any
>>>> MIPS64 target, the "# BR2_MIPS_OABI32 is not set" is not present on the
>>>> .config file.
>>>>
>>>> Isn't that a problem?
>>>
>>> Is the definition of BR2_MIPS_OABI32 missing completely, or do you see
>>> "BR2_MIPS_OABI32=y"?  If it's missing completely, then it's virtually
>>> the
>>> same as it being there as a comment, which will get stripped
>>> out/ignored by
>>> the build system.  Kconfig/Kbuild (whatever it is called) only cares
>>> if the
>>> symbol is defined to "y".  I believe that is then checked for in
>>> Makefiles
>>> and is in a generated config.h file for use as a C #define.
>>>
>>> That's how it works in the Linux kernel at least...
>>
>> If you remove the "default 'n'" line, and you select a MIPS64 target,
>> then "BR2_MIPS_OABI32=y" is completely missing in the .config file.
>>
>>
>
> That's not a problem is it? It's ok if the line is missing. A missing
> line means "this option is not available". A line starting with "#"
> means "the option is available but currently disabled"

I want to be sure about that, because there are packages which use the 
BR2_MIPS_OABI32 symbol. So, maybe having that line starting with "#" 
means BR2_MIPS_OABI32=n, and everything works fine, and don't having 
that line at all means that symbol is not defined and the packages which 
use that symbol fail because of that. That's what I want to know.

-- 
Vincent


More information about the buildroot mailing list