From: Thomas Gleixner <tglx@linutronix.de>
To: Ley Foon Tan <lftan@altera.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
Linux-Arch <linux-arch@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
Chung-Lin Tang <cltang@codesourcery.com>
Subject: Re: [PATCH v5 29/29] nios2: Build infrastructure
Date: Thu, 30 Oct 2014 11:49:19 +0100 (CET) [thread overview]
Message-ID: <alpine.DEB.2.11.1410301148080.5308@nanos> (raw)
In-Reply-To: <CAFiDJ59LZSwKBzVuuzfH_5772-BR74EH=d=FeBbWvEXjfpisug@mail.gmail.com>
On Thu, 30 Oct 2014, Ley Foon Tan wrote:
> On Tue, Oct 28, 2014 at 9:38 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> > On Friday 24 October 2014 16:24:31 Ley Foon Tan wrote:
> >> +DECLARE_EXPORT(__gcc_bcmp);
> >> +DECLARE_EXPORT(__divdi3);
> >> +DECLARE_EXPORT(__divsi3);
> >> +DECLARE_EXPORT(__moddi3);
> >> +DECLARE_EXPORT(__modsi3);
> >> +DECLARE_EXPORT(__udivdi3);
> >> +DECLARE_EXPORT(__udivmoddi4);
> >> +DECLARE_EXPORT(__udivsi3);
> >> +DECLARE_EXPORT(__umoddi3);
> >> +DECLARE_EXPORT(__umodsi3);
> >> +DECLARE_EXPORT(__muldi3);
> >>
> >
> > I don't remember what all of these are, but at least some of them seem
> > to be concerned with 64-bit division. By convention, we don't provide those
> > in the Linux kernel but instead require all code to use the do_div()
> > macro instead.
> Do you mean kernel doesn't support 64 bit division result for a 32-bit
> architecture? Because do_div() only support 32-bit division result for
> 32-bit architecture.
> Compiler will auto generate call to __divdi3() for the following
> example code. This means loadable module will have compilation error
> if we don't export symbol for __divdi3, but built-in module is fine.
> Is this an expectation? Or we can keep 64-bit division symbols here
> since they are no harm (they are software emulation when without
> hardware divider).
>
> long long a, b, c;
> a = b / c;
We have proper helper functions for this:
See include/linux/math.h
Thanks,
tglx
next prev parent reply other threads:[~2014-10-30 10:49 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-24 8:24 [PATCH v5 00/29] nios2 Linux kernel port Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 01/29] asm-generic: add generic futex for !CONFIG_SMP Ley Foon Tan
2014-10-25 20:50 ` Thomas Gleixner
2014-10-24 8:24 ` [PATCH v5 02/29] nios2: Assembly macros and definitions Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 03/29] nios2: Kernel booting and initialization Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 04/29] nios2: Exception handling Ley Foon Tan
2014-10-24 9:15 ` Geert Uytterhoeven
2014-10-27 9:43 ` Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 05/29] nios2: Traps exception handling Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 06/29] nios2: Memory management Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 07/29] nios2: I/O Mapping Ley Foon Tan
2014-10-28 13:30 ` Arnd Bergmann
2014-10-29 7:00 ` Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 08/29] nios2: MMU Fault handling Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 09/29] nios2: Page table management Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 10/29] nios2: Process management Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 11/29] nios2: Cache handling Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 12/29] nios2: TLB handling Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 13/29] nios2: Interrupt handling Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 14/29] nios2: DMA mapping API Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 15/29] Add ELF machine define for Nios2 Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 16/29] nios2: ELF definitions Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 17/29] nios2: System calls handling Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 18/29] nios2: Signal handling support Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 19/29] nios2: Library functions Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 20/29] nios2: Device tree support Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 21/29] nios2: Time keeping Ley Foon Tan
2014-10-25 21:10 ` Thomas Gleixner
2014-10-28 2:46 ` Ley Foon Tan
2014-10-28 9:23 ` Arnd Bergmann
2014-10-28 10:43 ` Ley Foon Tan
2014-10-28 13:39 ` Arnd Bergmann
2014-10-29 7:36 ` Ley Foon Tan
2014-10-28 15:15 ` Thomas Gleixner
2014-10-30 9:03 ` Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 22/29] nios2: Cpuinfo handling Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 23/29] nios2: Miscellaneous header files Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 24/29] nios2: Nios2 registers Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 25/29] nios2: Module support Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 26/29] nios2: ptrace support Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 27/29] MAINTAINERS: Add nios2 maintainer Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 28/29] Documentation: Add documentation for Nios2 architecture Ley Foon Tan
2014-10-24 8:24 ` [PATCH v5 29/29] nios2: Build infrastructure Ley Foon Tan
2014-10-24 9:10 ` Geert Uytterhoeven
2014-10-27 9:44 ` Ley Foon Tan
2014-10-28 13:38 ` Arnd Bergmann
2014-10-30 10:44 ` Ley Foon Tan
2014-10-30 10:49 ` Thomas Gleixner [this message]
2014-10-30 11:33 ` Arnd Bergmann
2014-10-31 1:28 ` Ley Foon Tan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.11.1410301148080.5308@nanos \
--to=tglx@linutronix.de \
--cc=arnd@arndb.de \
--cc=cltang@codesourcery.com \
--cc=lftan@altera.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®