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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdUsi3DuBTMjocYGd_nDcxR6ueCZ9s880kZYapG6XdGScg@mail.gmail.com>
Date:	Mon, 1 Feb 2016 16:32:02 +0100
From:	Geert Uytterhoeven <geert@...ux-m68k.org>
To:	Al Viro <viro@...iv.linux.org.uk>
Cc:	Linux-Arch <linux-arch@...r.kernel.org>,
	linux-kbuild <linux-kbuild@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 05/12] m68k: move exports to definitions

Hi Al,

On Mon, Feb 1, 2016 at 3:53 PM, Al Viro <viro@...iv.linux.org.uk> wrote:
> On Mon, Feb 01, 2016 at 02:30:16PM +0100, Geert Uytterhoeven wrote:
>> The kernel has all the *di3 variants:
>>
>> 002eae2c T __ashldi3
>> 002eae70 T __ashrdi3
>> 002eaebc T __lshrdi3
>> 002eaf00 T __muldi3
>> 0038a6d0 R __ksymtab___ashldi3
>> 0038a6d8 R __ksymtab___ashrdi3
>> 0038ab68 R __ksymtab___lshrdi3
>> 0038ab90 R __ksymtab___muldi3
>> 003a8a5a r __kstrtab___ashldi3
>> 003a8a64 r __kstrtab___ashrdi3
>> 003a8a6e r __kstrtab___lshrdi3
>> 003a8a78 r __kstrtab___muldi3
>>
>> Hence the *si3 are missing:
>>
>> __divsi3
>> __modsi3
>> __mulsi3
>> __udivsi3
>> __umodsi3
>
> Does your .config have CPU_HAS_NO_MULDIV64?  Because otherwise these objects
> won't be built and their exports had been conditional on that as well:
>
> #if defined(CONFIG_CPU_HAS_NO_MULDIV64)
> /*
>  * Simpler 68k and ColdFire parts also need a few other gcc functions.
>  */
> extern long long __divsi3(long long, long long);
> extern long long __modsi3(long long, long long);
> extern long long __mulsi3(long long, long long);
> extern long long __udivsi3(long long, long long);
> extern long long __umodsi3(long long, long long);
>
> EXPORT_SYMBOL(__divsi3);
> EXPORT_SYMBOL(__modsi3);
> EXPORT_SYMBOL(__mulsi3);
> EXPORT_SYMBOL(__udivsi3);
> EXPORT_SYMBOL(__umodsi3);
> #endif

Oh, I hadn't actually noticed that dependency.
No, CPU_HAS_NO_MULDIV64 is not set, as I handle the parts with MMU only.

> is what we have in mainline m68k_ksyms.c.  Neither allmodconfig, nor any of
> defconfigs have it.  And on a coldfire build they are built and exported as
> expected:

[...]

Then I assume everything is OK. Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ