Messages in this thread | | | Date | Wed, 12 Jan 2011 22:23:55 -0500 (EST) | From | Len Brown <> | Subject | Re: CONFIG_NLS=m resulting in undefined reference to utf16s_to_utf8s causing build failure |
| |
> > 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.
No, nothing in the ACPI code uses utf16s_to_utf8s.
I don't know anything about NLS, but it appears to be something that file systems (befs, cifs, fat, hfs, isofs, jfs, etc) use to to support native languages.
BTW. I don't understand why pci-label.o appears twice above. It used to be just the 2nd one, that depends on CONFIG_DMI.
cheers, Len Brown, Intel Open Source Technology Center
| |