CONFIG_NLS=m resulting in undefined reference to utf16s_to_utf8scausing build failure

From: Narendra_K
Date: Wed Jan 12 2011 - 15:10:58 EST


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.

With regards,
Narendra K





--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/