mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-15 22:41:38 +00:00
commit 84ed8a9905 upstream.
E.g. landisk_defconfig, which has CONFIG_NTFS_FS=m:
ERROR: "__ashrdi3" [fs/ntfs/ntfs.ko] undefined!
For "lib-y", if no symbols in a compilation unit are referenced by other
units, the compilation unit will not be included in vmlinux. This
breaks modules that do reference those symbols.
Use "obj-y" instead to fix this.
http://kisskb.ellerman.id.au/kisskb/buildresult/8838077/
This doesn't fix all cases. There are others, e.g. udivsi3.
This is also not limited to sh, many architectures handle this in the
same way.
A simple solution is to unconditionally include all helper functions.
A more complex solution is to make the choice of "lib-y" or "obj-y" depend
on CONFIG_MODULES:
obj-$(CONFIG_MODULES) += ...
lib-y($CONFIG_MODULES) += ...
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Tested-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Reviewed-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
34 lines
766 B
Makefile
34 lines
766 B
Makefile
#
|
|
# Makefile for SuperH-specific library files..
|
|
#
|
|
|
|
lib-y = delay.o memmove.o memchr.o \
|
|
checksum.o strlen.o div64.o div64-generic.o
|
|
|
|
# Extracted from libgcc
|
|
obj-y += movmem.o ashldi3.o ashrdi3.o lshrdi3.o \
|
|
ashlsi3.o ashrsi3.o ashiftrt.o lshrsi3.o \
|
|
udiv_qrnnd.o
|
|
|
|
udivsi3-y := udivsi3_i4i-Os.o
|
|
|
|
ifneq ($(CONFIG_CC_OPTIMIZE_FOR_SIZE),y)
|
|
udivsi3-$(CONFIG_CPU_SH3) := udivsi3_i4i.o
|
|
udivsi3-$(CONFIG_CPU_SH4) := udivsi3_i4i.o
|
|
endif
|
|
udivsi3-y += udivsi3.o
|
|
|
|
obj-y += io.o
|
|
|
|
memcpy-y := memcpy.o
|
|
memcpy-$(CONFIG_CPU_SH4) := memcpy-sh4.o
|
|
|
|
memset-y := memset.o
|
|
memset-$(CONFIG_CPU_SH4) := memset-sh4.o
|
|
|
|
lib-$(CONFIG_MMU) += copy_page.o __clear_user.o
|
|
lib-$(CONFIG_MCOUNT) += mcount.o
|
|
lib-y += $(memcpy-y) $(memset-y) $(udivsi3-y)
|
|
|
|
ccflags-y := -Werror
|