http://sourceware.org/bugzilla/show_bug.cgi?id=15530
Bug ID: 15530 Summary: Gold leaves undefined symbols when linking linux kernel module Product: binutils Version: 2.23 Status: NEW Severity: normal Priority: P2 Component: gold Assignee: ian at airs dot com Reporter: iacobcatalin at gmail dot com CC: ccoutant at google dot com Created attachment 7043 --> http://sourceware.org/bugzilla/attachment.cgi?id=7043&action=edit Config for the wireless-testing tree which triggers the bug I switched my system linker to the gold version that comes with openSUSE Factory - it identifies itself as: catalin@opensuse:~/hacking/linux/wireless-testing> ld --version GNU gold (GNU Binutils; openSUSE Factory 2.23.2) 1.11 Since then, the processor module in drivers/acpi in Linux kernels built on this system fails to load with these in dmesg: [ 2.328235] processor: Unknown symbol __pcpu_unique_processor_device_array (err 0) [ 2.328241] processor: Unknown symbol __pcpu_unique_processors (err 0) [ 2.328243] processor: Unknown symbol __pcpu_scope_processors (err 0) [ 2.328300] processor: Unknown symbol __pcpu_unique_acpi_cstate (err 0) [ 2.328303] processor: Unknown symbol __pcpu_unique_acpi_cpuidle_device (err 0) [ 2.328308] processor: Unknown symbol __pcpu_unique_cpufreq_thermal_reduction_pctg (err 0) [ 2.328445] processor: Unknown symbol __pcpu_unique_processor_device_array (err 0) [ 2.328449] processor: Unknown symbol __pcpu_unique_processors (err 0) [ 2.328452] processor: Unknown symbol __pcpu_scope_processors (err 0) [ 2.328499] processor: Unknown symbol __pcpu_unique_acpi_cstate (err 0) [ 2.328501] processor: Unknown symbol __pcpu_unique_acpi_cpuidle_device (err 0) [ 2.328507] processor: Unknown symbol __pcpu_unique_cpufreq_thermal_reduction_pctg (err 0) [ 2.328807] processor: Unknown symbol __pcpu_unique_processor_device_array (err 0) [ 2.328811] processor: Unknown symbol __pcpu_unique_processors (err 0) [ 2.328813] processor: Unknown symbol __pcpu_scope_processors (err 0) [ 2.328864] processor: Unknown symbol __pcpu_unique_acpi_cstate (err 0) [ 2.328867] processor: Unknown symbol __pcpu_unique_acpi_cpuidle_device (err 0) [ 2.328873] processor: Unknown symbol __pcpu_unique_cpufreq_thermal_reduction_pctg (err 0) I think it's reproducible on at least 3.9 and 3.10rc kernels, but for reference I had it for sure on commit f57ebffb26821f0904bf7208d9cc53233b5edc31 of the wireless-testing tree from https://git.kernel.org/cgit/linux/kernel/git/linville/wireless-testing.git. This commit is just 3.10rc2 plus some wireless commits. The symbols are present in code, regular ld links the module correctly. nm confirms that the symbol is indeed undefined in processor.ko even though it's defined in processor.o catalin@opensuse:~/hacking/linux/wireless-testing> nm drivers/acpi/processor.o | grep device_array 0000000000000001 D __pcpu_unique_processor_device_array 0000000000000000 V processor_device_array catalin@opensuse:~/hacking/linux/wireless-testing> nm drivers/acpi/processor.ko | grep device_array U __pcpu_unique_processor_device_array 0000000000000000 V processor_device_array The line that links processor.ko is: ld -r -m elf_x86_64 -T /home/catalin/hacking/linux/wireless-testing/scripts/module-common.lds --build-id -o drivers/acpi/processor.ko drivers/acpi/processor.o drivers/acpi/processor.mod.o My config is attached. Except for this module the kernel links with gold and seems to work ok, I've been using kernels linked with it for the last 2 weeks or so. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils