summaryrefslogtreecommitdiffstats
path: root/lib/Makefile
diff options
context:
space:
mode:
authorZong Li <zongbox@gmail.com>2018-10-02 16:52:29 +0800
committerPalmer Dabbelt <palmer@sifive.com>2018-10-22 17:02:56 -0700
commit6315730e9eab7de5fa9864bb13a352713f48aef1 (patch)
tree8971b00693f003a5e5b71d57b40fd5d91de11879 /lib/Makefile
parent51858aaf9bea3ddf166bf9d252a1fc351260b497 (diff)
downloadlinux-6315730e9eab7de5fa9864bb13a352713f48aef1.tar.gz
linux-6315730e9eab7de5fa9864bb13a352713f48aef1.tar.bz2
linux-6315730e9eab7de5fa9864bb13a352713f48aef1.zip
lib: Add umoddi3 and udivmoddi4 of GCC library routines
Add umoddi3 and udivmoddi4 support for 32-bit. The RV32 need the umoddi3 to do modulo when the operands are long long type, like other libraries implementation such as ucmpdi2, lshrdi3 and so on. I encounter the undefined reference 'umoddi3' when I use the in house dma driver, although it is in house driver, but I think that umoddi3 is a common function for RV32. The udivmoddi4 and umoddi3 are copies from libgcc in gcc. There are other functions use the udivmoddi4 in libgcc, so I separate the umoddi3 and udivmoddi4 for flexible extension in the future. Signed-off-by: Zong Li <zong@andestech.com> Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
Diffstat (limited to 'lib/Makefile')
-rw-r--r--lib/Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Makefile b/lib/Makefile
index 423876446810..56a8d9c23ef3 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -270,3 +270,4 @@ obj-$(CONFIG_GENERIC_LIB_LSHRDI3) += lshrdi3.o
obj-$(CONFIG_GENERIC_LIB_MULDI3) += muldi3.o
obj-$(CONFIG_GENERIC_LIB_CMPDI2) += cmpdi2.o
obj-$(CONFIG_GENERIC_LIB_UCMPDI2) += ucmpdi2.o
+obj-$(CONFIG_GENERIC_LIB_UMODDI3) += umoddi3.o udivmoddi4.o