Subject: Re: [PATCH] Fix build failure when CONFIG_NLS is set to 'm' by allmodconfig

From: Randy Dunlap <[email-masked]>
Date: Mon, 28 Mar 2011 13:22:00 -0700

On 03/28/11 12:14, [email-masked] wrote:
> 
> 
>> -----Original Message-----
>> From: Randy Dunlap [mailto:[email-masked]]
>> Sent: Monday, March 28, 2011 11:02 AM
>> To: Jesse Barnes
>> Cc: Matthew Garrett; K, Narendra; [email-masked];
>> [email-masked]; [email-masked]; linux-
>> [email-masked]; Iyer, Shyam; Domsch, Matt; Rose, Charles;
>> Hargrave, Jordan
>> Subject: Re: [PATCH] Fix build failure when CONFIG_NLS is set to 'm' by
>> allmodconfig
>>
>> On Fri, 4 Mar 2011 10:15:09 -0800 Jesse Barnes wrote:
>>
>>> On Wed, 23 Feb 2011 13:17:34 +0000
>>> Matthew Garrett <[email-masked]> wrote:
>>>
>>>> On Wed, Feb 23, 2011 at 06:24:31PM +0530, [email-masked]
>> wrote:
>>>>
>>>>> This patch fixes the following build breakage introduced by the
>> patch
>>>>> '[PATCH V3] Export ACPI _DSM provided firmware instance number
>> and string to
>>>>> sysfs'.
>>>>
>>>> First, you should include this as part of your original patch so
>> that
>>>> the build doesn't break during bisection.
>>>>
>>>>> This is fixed by making fs/nls/nls_base.c compile conditionally
>> into
>>>>> vmlinux by introducing a new config option CONFIG_NLS_BASE which
>> is
>>>>> selected by (ACPI || DMI || NLS).
>>>>
>>>> Why?
>>>>
>>>>> -obj-$(CONFIG_NLS)		+= nls/
>>>>> +obj-y				+= nls/
>>>>
>>>> You seem to have just broken building any of the NLS code as
>> modules.
>>>>
>>>>>  menuconfig NLS
>>>>>  	tristate "Native language support"
>>>>> +	select NLS_BASE
>>>>
>>>> All CONFIG_NLS does is build nls_base.
>>>>
>>>>> +config NLS_BASE
>>>>> +	bool "Base NLS functions"
>>>>> +	depends on ACPI || DMI
>>>>
>>>> What in this code depends on ACPI or DMI?
>>>>
>>>>> -obj-$(CONFIG_NLS)		+= nls_base.o
>>>>> +obj-$(CONFIG_NLS_BASE)		+= nls_base.o
>>>>
>>>> And why make this change?
>>>>
>>>> Just have something like
>>>>
>>>> select NLS if (ACPI || DMI)
>>>>
>>>> in drivers/pci/Kconfig.
>>>
>>> Narendra, can you send me an updated patch including the build fix?
>>> Either using this approach or the other one I outlined in my other
>> mail.
>>
>>
>> This driver still has build failures in linux-next 20110328.
>>
>> pci-label.c:(.text+0x9a40): undefined reference to `utf16s_to_utf8s'
>>
>> CONFIG_NLS=m
> 
> I don't get this.. you should not be getting CONFIG_NLS=m unless you have stripped you config files really.. :-) Is it possible to get your .config to hit this issue.

I haven't stripped any config files -- but they are randconfig files.
Two (2) config files that cause build failures are attached.

-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***