public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* [crosstool-ng/crosstool-ng] ecb09c: ARC: Add multilib support for Linux in GCC
@ 2018-05-21 15:49 Alexey Neyman
  0 siblings, 0 replies; only message in thread
From: Alexey Neyman @ 2018-05-21 15:49 UTC (permalink / raw)
  To: crossgcc

[-- Attachment #1: Type: text/plain, Size: 5033 bytes --]

  Branch: refs/heads/master
  Home:   https://github.com/crosstool-ng/crosstool-ng
  Commit: ecb09ca417a9719c59c7247fd77237b275e277e3
      https://github.com/crosstool-ng/crosstool-ng/commit/ecb09ca417a9719c59c7247fd77237b275e277e3
  Author: Alexey Brodkin <abrodkin@synopsys.com>
  Date:   2018-05-21 (Mon, 21 May 2018)

  Changed paths:
    A packages/gcc/8.1.0/0019-ARC-Add-multilib-support-for-linux-targets.patch

  Log Message:
  -----------
  ARC: Add multilib support for Linux in GCC

We never bothered to build multilibbed Linux toolchains for ARC
and so we ended-up with no support of multilib for arc*-*-linux-*
targets in GCC. That is now fixed in upstream by the following commit:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=0eacfbcb2bf1834294f468a2bb41fe5d5e8d3883

Once the fix mentioned above is applied on top of GCC 8.1.0 we may easily build
multilibbed uClibc toolchain for ARC.

Note sice Glibc port for ARC is still in review process we cannot build any Glibc
toolchains for ARC with pure upstream components, for that we eiter need Glibc
sources from our Github repo or apply a set of patches on top of Glibc 2.27 - we'll
try to address this later though.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>


  Commit: b078bb09dd3e460788d914a07adf3f4f53c86494
      https://github.com/crosstool-ng/crosstool-ng/commit/b078bb09dd3e460788d914a07adf3f4f53c86494
  Author: Alexey Brodkin <abrodkin@synopsys.com>
  Date:   2018-05-21 (Mon, 21 May 2018)

  Changed paths:
    A samples/arc-multilib-linux-uclibc/crosstool.config
    A samples/arc-multilib-linux-uclibc/reported.by

  Log Message:
  -----------
  ARC: Add Linux uClibc multilib sample

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>


  Commit: 0a64056dd3d094503a1ef1d23d2636bcd9708b2f
      https://github.com/crosstool-ng/crosstool-ng/commit/0a64056dd3d094503a1ef1d23d2636bcd9708b2f
  Author: Alexey Brodkin <abrodkin@synopsys.com>
  Date:   2018-05-21 (Mon, 21 May 2018)

  Changed paths:
    M scripts/build/arch/arc.sh

  Log Message:
  -----------
  ARC: Disable CONFIG_ARC_HAS_ATOMICS in uClibc if building without -matomics

In case we build for ARC core which has no support of atomic ops among
other things we need to configure libc to use Linux kernel helper to emulate
HS atomic ops. This is done with disabling of CONFIG_ARC_HAS_ATOMICS in uClibc.

Currently we __remove__ this option from .config but this makes no sense as
its default state is "y" so we need to explicitly disable it instead.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>


  Commit: 409046f91d18f4f80f044f2e9c08c0e9e04eeb92
      https://github.com/crosstool-ng/crosstool-ng/commit/409046f91d18f4f80f044f2e9c08c0e9e04eeb92
  Author: Alexey Brodkin <abrodkin@synopsys.com>
  Date:   2018-05-21 (Mon, 21 May 2018)

  Changed paths:
    M samples/arc-arc700-linux-uclibc/crosstool.config
    M samples/arc-arc700-linux-uclibc/reported.by
    R samples/arc-archs-linux-uclibc/crosstool.config
    R samples/arc-archs-linux-uclibc/reported.by

  Log Message:
  -----------
  ARC: Update Linux samples

There's no point in keeping samples which are in its essense
just a sub-set of multilib toolchain.

But still we'd like to cover quite unusual but really existing
case - ARC750, i.e. ARC700 with MMU but without so-called
atomic instructions (LLOCK/SCOND). To support this HW variation
we need:
 1) Compile all target binaries without "-matomics" or even
    better "-mno-atomics" so that's even future-proof
    (as we may decide to enable "-matomics" by default for Linux
     targets which is a recommented setup).
 2) Configure libc such that it uses Linux-kernel-assisted implementation
    of atomic operation via "arc_usr_cmpxchg" syscall,
    see https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git/commit/?id=b985fa069187e4c5a7ee84213d9fbead2f219ce5

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>


  Commit: ab3c204aee88f08481f1f63825d0e94b082ef84e
      https://github.com/crosstool-ng/crosstool-ng/commit/ab3c204aee88f08481f1f63825d0e94b082ef84e
  Author: Alexey Neyman <stilor@att.net>
  Date:   2018-05-21 (Mon, 21 May 2018)

  Changed paths:
    A packages/gcc/8.1.0/0019-ARC-Add-multilib-support-for-linux-targets.patch
    M samples/arc-arc700-linux-uclibc/crosstool.config
    M samples/arc-arc700-linux-uclibc/reported.by
    R samples/arc-archs-linux-uclibc/crosstool.config
    R samples/arc-archs-linux-uclibc/reported.by
    A samples/arc-multilib-linux-uclibc/crosstool.config
    A samples/arc-multilib-linux-uclibc/reported.by
    M scripts/build/arch/arc.sh

  Log Message:
  -----------
  Merge pull request #970 from abrodkin/topic-uclibc-multilib

Add support and sample for uclibc multilib toolchain for ARC


Compare: https://github.com/crosstool-ng/crosstool-ng/compare/ea53be7529f4...ab3c204aee88
      **NOTE:** This service been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-05-21 15:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-21 15:49 [crosstool-ng/crosstool-ng] ecb09c: ARC: Add multilib support for Linux in GCC Alexey Neyman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).