diff options
author | Zong Li <zongbox@gmail.com> | 2018-10-02 16:52:29 +0800 |
---|---|---|
committer | Palmer Dabbelt <palmer@sifive.com> | 2018-10-22 17:02:56 -0700 |
commit | 6315730e9eab7de5fa9864bb13a352713f48aef1 (patch) | |
tree | 8971b00693f003a5e5b71d57b40fd5d91de11879 /lib/Kconfig | |
parent | 51858aaf9bea3ddf166bf9d252a1fc351260b497 (diff) | |
download | lwn-6315730e9eab7de5fa9864bb13a352713f48aef1.tar.gz lwn-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/Kconfig')
-rw-r--r-- | lib/Kconfig | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Kconfig b/lib/Kconfig index a3928d4438b5..d82f20609939 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -621,3 +621,6 @@ config GENERIC_LIB_CMPDI2 config GENERIC_LIB_UCMPDI2 bool + +config GENERIC_LIB_UMODDI3 + bool |