Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1510510

Re: Build regressions/improvements in v4.9-rc1

From Vineet Gupta <vgupta@synopsys.com>
Newsgroups linux.kernel
Subject Re: Build regressions/improvements in v4.9-rc1
Date 2016-10-27 19:30 +0200
Message-ID <swWF3-4Rj-3@gated-at.bofh.it> (permalink)
References (8 earlier) <swMZ4-74y-23@gated-at.bofh.it> <swTnP-2Bn-27@gated-at.bofh.it> <swTnQ-2Bn-71@gated-at.bofh.it> <swTnQ-2Bn-73@gated-at.bofh.it> <swTnQ-2Bn-69@gated-at.bofh.it>
Organization Synopsys

Show all headers | View raw


+CC Claudiu

On 10/27/2016 02:39 AM, Alexey Brodkin wrote:
>
> And these are functions required by U-Boot (most probably the same is applied to kernel):
> 1) so-called millicode, stuff like __ld_rX_to_rY, __st_rX_to_rX

This kicks in only at -Os and even there can be inhibited with a toggle.
I don't like it anyways, seems like a costly contraption in terms of microarch
cost of 2 extra long branches for both prologue and epilogue.

> 2) shifts: __ashldi3, __ashrdi3, __lshrdi3, 
> 3) divisions: udivmodsi4, __divsi3, __modsi3, __udivsi3, __umodsi3

Note that this list is not constant. I recently had to export another libgcc
symbol for modules, when a customer switched to ARC gnu 2016.03 for supposedly
building the same kernel code.

> Indeed it is possible to have so-called private libgcc in kernel as well but
> benefit will be only for people building kernels but not user-space because
> in absence of multilibbed toolchain 2 separate toolchains will be required anyways.

True, but a lot of people only care about builds (and not actually run), so for
them having to carry only one toolchain is an improvement.

> Still we'll have to pay an additional maintenance price to keep kernel's libgcc in
> sync with the one from gcc.

True, but libgcc math emulation is likely one off thing. GNU folks will write them
once and we use a snapshot - syncing back changes - if any around major gnu releases.

So I'm tending to include the libgcc code in kernel. @Arnd, @Claudiu do you know
of any potential licensing issues ?

-Vineet

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: Build regressions/improvements in v4.9-rc1 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - 2016-10-27 09:10 +0200
  Re: Build regressions/improvements in v4.9-rc1 Alexey Brodkin <Alexey.Brodkin@synopsys.com> - 2016-10-27 16:00 +0200
    Re: Build regressions/improvements in v4.9-rc1 Alexey Brodkin <Alexey.Brodkin@synopsys.com> - 2016-10-27 16:00 +0200
      Re: Build regressions/improvements in v4.9-rc1 Vineet Gupta <vgupta@synopsys.com> - 2016-10-27 19:30 +0200
        Re: Build regressions/improvements in v4.9-rc1 Arnd Bergmann <arnd@arndb.de> - 2016-10-28 12:50 +0200
    Re: Build regressions/improvements in v4.9-rc1 Arnd Bergmann <arnd@arndb.de> - 2016-10-27 16:20 +0200
      Re: Build regressions/improvements in v4.9-rc1 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - 2016-10-27 17:00 +0200
    Re: Build regressions/improvements in v4.9-rc1 Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - 2016-10-27 16:40 +0200
      Re: Build regressions/improvements in v4.9-rc1 Geert Uytterhoeven <geert@linux-m68k.org> - 2016-10-27 17:30 +0200

csiph-web