lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 20 Dec 2013 09:44:10 +0800 From: Chen Gang <gang.chen.5i5j@...il.com> To: James Hogan <james.hogan@...tec.com> CC: Chen Gang <gang.chen.5i5j@...il.com>, rostedt@...dmis.org, "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, linux-metag@...r.kernel.org Subject: Re: [PATCH] arch: metag: lib: add "umoddi3.S" file for __umoddi3() On 12/19/2013 09:47 PM, James Hogan wrote: > On 19/12/13 13:37, Chen Gang wrote: >> On 12/19/2013 08:17 PM, James Hogan wrote: >>> On 19/12/13 12:05, Chen Gang wrote: >>>> Use objdump to get "umoddi3.S" for __umoddi3(), the original binary >>>> file is "gcc-4.2.4-final/gcc/libgcc/umoddi3.o" which is generated by >>>> "gcc-4.2.4/gcc/libgcc2.c". >>>> >>>> The relate error with allmodconfig: >>>> >>>> MODPOST 2909 modules >>>> ERROR: "__umoddi3" [drivers/target/target_core_mod.ko] undefined! >>> >>> _umoddi3 is a 64bit division, which should be using the proper division >>> functions provided by the kernel in <linux/math64.h>. >>> >>> It needs fixing wherever it comes from in drivers/target/target_core_mod.ko. >>> >> >> After disassemble target_core_mod.ko, for me, the compiler will use >> ___umoddi3 for '%' operator and use ___udivsi3 for '/' operator. > > Yeh, % is in this case remainder from a 64bit division, for which the > standard division functions in <linux/math64.h> should be used instead. > >> If what I guess is correct, we need use/copy the "system library" which >> compiler provides, so just use its ".o" file is OK (just like another >> "arch/metag/lib/*.S" have done). > > No, I believe there shouldn't be any use of the C 64bit division/modulo > operations in generic kernel code in the first place, so like I said > before the code in question should be fixed to use the proper functions > in <linux/math64.h>. > OK, thanks, your idea is one of fix ways. Hmm... for me, it is still not a bad idea to add "__umoddi3" to metag. - there are already several 64-bit functions in "arch/metag/lib/*.S". - some of architectures already content "__umoddi3". - it is easier for users (e.g. various drivers) to use '%' and '/'. (especially, we have already support '/'). Thanks > Cheers > James > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@...r.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- Chen Gang Open, share and attitude like air, water and life which God blessed -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists