[ANNOUNCE] Linaro Binary Toolchain Release GCC 7.5-2019.12

2019-12-05 Thread Maxim Kuvyrkov
The Linaro Binary Toolchain


The Linaro GCC 7.5-2019.12 Release is now available.

*Notice*: GCC 7.1 ABI change for arm*-*-* targets, and note for
aarch64*-*-* targets

From GCC 7.1 release notes:

On ARM targets (arm*-*-*), a bug introduced in GCC 5 that affects
conformance to the procedure call standard (AAPCS) has been fixed. The
bug affects some C++ code where class objects are passed by value to
functions and could result in incorrect or inconsistent code being
generated. This is an ABI change. If the option -Wpsabi is enabled (on
by default) the compiler will emit a diagnostic note for code that
might be affected.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728
GCC 5 and GCC 6 releases will continue to be affected by the ABI bug,
since changing ABI in these releases is not practical.  A warning
enabled by -Wpsabi option was added to GCC 5 and GCC 6 toolchains to
diagnose codebases that might be affected by the ABI bug.

Additionally, this same bug was present in AArch64 backend in
development versions of GCC 7.  There was no releases of GCC with this
bug present in AArch64 backend, therefore the release notes does not
mention this.  However, be advised that any code bases built with
development versions of GCC 7 need to be recompiled with released
version of GCC 7 to conform to ABI.

For an explanation of GCC 7 series changes please see the following
website:

https://gcc.gnu.org/gcc-7/changes.html
For help in porting to GCC 7 please see the following explanation:

https://gcc.gnu.org/gcc-7/porting_to.html

Download release packages from:

(sources) 
http://releases.linaro.org/components/toolchain/gcc-linaro/7.5-2019.12/
(binaries) 
http://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/

Previous snapshots and release-candidates are at:

http://snapshots.linaro.org/components/toolchain/binaries/

Previous releases are at:

http://releases.linaro.org/components/toolchain/binaries/

A description of the arm and AArch64 target triples can be found at:


https://collaborate.linaro.org/display/TCWGPUB/ARM+and+AArch64+Target+Triples

Host Requirements
==

Linaro officially supports the current and previous Ubuntu LTS
releases (as of the time of this release).  This does not mean that
the toolchain will not work on other/older Linux distributions.  See
the following for the life-time of Ubuntu LTS releases.

https://wiki.ubuntu.com/Releases

The host system upon which the cross-compiler will run requires a
minimum of glibc 2.14, because of API changes to glibc's memcpy API.

https://bugs.linaro.org/show_bug.cgi?id=1869

Package Versions
=
Linaro GCC 7.5-2019.12

http://releases.linaro.org/components/toolchain/gcc-linaro/7.5-2019.12/

FSF glibc 2.25 (release/2.25)

https://lists.gnu.org/archive/html/info-gnu/2017-02/msg2.html

Newlib 2.5 (newlib-2_5_0 tag)

https://sourceware.org/ml/newlib/2016/msg01191.html

GNU Binutils 2.28 (users/linaro/binutils-2_28-branch)


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blob_plain;f=binutils/NEWS;hb=refs/tags/binutils-2_28

FSF GDB 8.3 (gdb-8.3-branch)

https://lists.gnu.org/archive/html/info-gnu/2019-05/msg7.html

Linaro toolchain package git branches are hosted at:

http://git.linaro.org/toolchain

NEWS for GCC 7 (as of Linaro GCC 7.5-2019.12)
==

* Runtest and gdbserver are no longer installed in the toolchain bin/
  directory. Binary releases no longer include runtest at all, and
  gdbserver is a target tool; it is now shipped in the sysroot under
  usr/bin/.
  LDTS case #2211: gdbserver and runtest in GCC binary release are in
  the wrong place or have the wrong name

* Gdbserver is no longer linked statically, because this is currently
  unsupported.
  Linaro bugzilla #3344: gdbserver broken in Linaro 2017.02

https://bugs.linaro.org/show_bug.cgi?id=3344

* The Linaro GCC 7.4-2019.01 snapshot added a fix for Linaro bug 4007:
  "Internal compiler error with -mcpu=thunderx2t99".

* The Linaro GCC 7.2-2017.09 snapshot added float and integer moves
  improvement for AArch64 targets.

* The Linaro GCC 7.1-2017.07 snapshot added prefetching configuration
  improvement for AArch64 targets and laid groundwork to enabling
  prefetching in more cases.

* Previous MinGW hosted version of Linaro GCC C preprocessor failed to
  convert character set used for string, character constants, etc.  This
  is fixed in this release.

  Linaro bugzilla #3040 : CC1 and cc1plus cannot convert UTF-8.

  https://bugs.linaro.org/show_bug.cgi?id=3040

* Performance related backports from the following snapshots have been
  included: Linaro GCC 7.1-2017.05, Linaro GCC 7.1-2017.06, Linaro GCC
  7.1-2017.07, Linaro GCC 7.2-2017.08, Linaro GCC 7.2-2017.09, Linaro
  GCC 7.2-2017.10, Linaro GCC 7.2-2018.04, Linaro GCC

coresight drivers access from syscall interface

2019-12-05 Thread zied guermazi
hi,I started implementing GDB process record and replay with ARM CoreSight as 
described in the rfc published early this year. Current implementation of 
coresight tracing in Perf is based on the sysfs interface, by accessing 
/sys/bus/event_source/devices/cs_etm ...  file. GDB implementation of bts and 
ipt is based on the syscall  "sys_perf_event_open".it would be nice to use the 
similar mechanism for realizing similar functionalities. therefore I would like 
to know if linux kernel (with coresight deivers)  is exposing coresight drivers 
through the syscall sys_perf_event_open and if this is the case how shall I 
configure the perf_event_attr to use it.
thanks Zied Guermazi



___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain


Re: coresight drivers access from syscall interface

2019-12-05 Thread Mathieu Poirier
Good day,

On Thu, 5 Dec 2019 at 06:36, zied guermazi  wrote:
>
> hi,
> I started implementing GDB process record and replay with ARM CoreSight as 
> described in the rfc published early this year.
> Current implementation of coresight tracing in Perf is based on the sysfs 
> interface, by accessing /sys/bus/event_source/devices/cs_etm ...  file. GDB 
> implementation of bts and ipt is based on the syscall  "sys_perf_event_open".
> it would be nice to use the similar mechanism for realizing similar 
> functionalities. therefore I would like to know if linux kernel (with 
> coresight deivers)  is exposing coresight drivers through the syscall 
> sys_perf_event_open and if this is the case how shall I configure the 
> perf_event_attr to use it.

The coresight subsystem and drivers work the same way with regards to
the sys_perf_event_open() system call.  Implementation for both ARM
and Intel follow the same perf/AUX buffer interface in order to
provide a common front to users.  In fact using coresight with perf
works pretty much the same way as BTS or PT - documentation on that
can be found in the kernel tree [1] and on github [2].

Thanks,
Mathieu

[1]. 
https://elixir.bootlin.com/linux/latest/source/Documentation/trace/coresight.rst
[2]. https://github.com/Linaro/OpenCSD/blob/master/HOWTO.md

>
> thanks
> Zied Guermazi
>
>
>
>
___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain