From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: Re: CONFIG_NLS=m resulting in undefined reference to utf16s_to_utf8s causing build failure Date: Wed, 12 Jan 2011 16:02:29 -0800 Message-ID: <20110112160229.7b8d82c1@jbarnes-desktop> References: <20110112203414.GA5657@fedora14-r610.oslab.blr.amer.dell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: Received: from cpoproxy3-pub.bluehost.com ([67.222.54.6]:58624 "HELO cpoproxy3-pub.bluehost.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1755683Ab1AMACd (ORCPT ); Wed, 12 Jan 2011 19:02:33 -0500 In-Reply-To: <20110112203414.GA5657@fedora14-r610.oslab.blr.amer.dell.com> Sender: linux-next-owner@vger.kernel.org List-ID: To: Narendra_K@Dell.com Cc: linux-kernel@vger.kernel.org, linux-next@vger.kernel.org, sfr@canb.auug.org.au, Matt_Domsch@Dell.com, Charles_Rose@Dell.com, Surya_Prabhakar@Dell.com On Wed, 12 Jan 2011 12:10:17 -0800 wrote: > Hello, > > As described in the post http://marc.info/?l=linux-next&m=129478755528194&w=2 > setting CONFIG_NLS=m (generated by 'make allmodconfig) is causing a build > failure on linux-next as following while compiling the patch > http://marc.info/?l=linux-pci&m=129313294112736&w=1 ([PATCH V2] Export > ACPI _DSM provided firmware instance number and string to sysfs) > > drivers/built-in.o: In function `dsm_label_utf16s_to_utf8s': > /usr/src/Linux-Next/linux-next/drivers/pci/pci-label.c:195: undefined reference to `utf16s_to_utf8s' > make: *** [.tmp_vmlinux1] Error 1 > > The drivers/pci/pci-label.c is compiled as part of vmlinux as defined by > the makefile drivers/pci/Makefile. > > # > # ACPI Related PCI FW Functions > # ACPI _DSM provided firmware instance and string name > # > obj-$(CONFIG_ACPI) += pci-acpi.o pci-label.o > > # SMBIOS provided firmware instance and labels > obj-$(CONFIG_DMI) += pci-label.o > > This could be prevented by one of the following methods - > > * forcing CONFIG_NLS=y if CONFIG_PCI=y > * move `utf16s_to_utf8s' out of nls_base.c to a new file to be always > built into vmlinux > > Please correct me if i missed something here and let me know what would be the right > way to fix this build failure. So there's no other ACPI code that depends on this function? I'd hate to make PCI depend on NLS, so assuming ACPI doesn't need it (in which case the select or depend should be there), I guess it should be pulled into a common file that will always be included. Thanks, -- Jesse Barnes, Intel Open Source Technology Center