== Progress ==
* Upstream GCC (4/10)
- TCWG-779 Vector rtx costs for AArch64 ACKed to commit.
- Asked to do fresh regression and benchmarking
- re-based to latest trunk
- Trunk is broken and narrowed down the failure to
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66066
- Fixed and regression testing finished. Setting up benchmarking for
spec2k before committing.
* IRA (5/10)
- Looked at https://bugs.linaro.org/show_bug.cgi?id=540 (TCWG-773
Median of three has unneeded register moves)
- https://bugs.linaro.org/show_bug.cgi?id=1532
* Misc (1/10)
- gcc-patches, gcc-bugs list
- Meetings
== Plan ==
- Continue with gcc stage1 activities
- Look at register allocation
== This week ==
* PR49551 (2/10)
- Created new patch: http://pastebin.com/PsLTgvp7
- merge_decls() calls memcpy to copy newdecl into olddecl thus
overriding DECL_COMMON in olddecl which is the source of the bug.
If newdecl has common/nocommon attribute set, honor it,
else DECL_COMMON would be set if both olddecl and newdecl have DECL_COMMON set.
- Bootstrapped on x86, tested on x86, arm
- Not yet figured out why r221297 masks this bug.
* TCWG-619 (4/10)
- managed to build chromium LTO on ARM, requires disabling components
enabled by variable 'chromium_code'. Size of chrome executable reduces
by 8 mb.
- the bug: "error out of range" appears only during LTO build of
components enabled by chromium_code. Results in very few instances of
the same error message when LTO build for chromium_code components.
- Disabling LTO in sandbox.gyp and passing -flto results in following error:
/tmp/ccYJJbUK.ltrans25.ltrans.o:<artificial>:vtable for
blink::WebDocument [clone .lto_priv.89343]: warning: relocation refers
to discarded section
/home/prathamesh.kulkarni/fsf-toolchain/lib/gcc/x86_64-unknown-linux-gnu/6.0.0/../../../../x86_64-unknown-linux-gnu/bin/ld.gold:
error: hidden symbol '_ZN5blink11WebDocumentD1Ev' is not defined
locally
Also present for x86.
The workaround is to pass -flto --param lto-partitions=1 as mentioned
in PR57703.
- gold ICE with v8 LTO build for ARM not reproducible with master branch.
- Trying to use Martin Liska's scripts for gathering build stats:
https://github.com/marxin/script-misc/blob/master/system_top.pyhttps://github.com/marxin/script-misc/blob/master/vmstat_parser.py
* Misc (4/10)
- Exams preparation
- Visa application
== Next Week ==
- PR49551: figure out why r221297 masks the bug, write test-cases and
submit patch upstream
- chromium/v8 build stats
- exams
* UK bank holiday on Monday [2/10]
# Progress #
* arm/aarch64 gdb bug fixing [1/10].
** TCWG-765 fails in gdb.base/coredump-filter.exp. Patch is
pushed it in.
** TCWG-767, patch is pushed it in.
* TCWG-805, aarch64 native debugging multi-arch support. [2/10].
Let arm use newer ptrace PTRACE_GETREGSET in order to align with
aarch64. Ongoing.
* Think about debugging programs on different exception levels
(EL3, EL2 and EL1). Read doc about EL in aarch64.
Looks they need multi-inferior debugging. Request more details.
[2/10]
* Misc [3/10]
** Book travel and get travel insurance. It is my first travel in ARM,
familiarise myself with the travel process.
** Visa application.
# Plan #
* TCWG-805, aarch64 native debugging multi-arch support.
* Other things needed for visa application.
--
Yao
Hi Linaro Toolchain Group,
I am new to gcc development. I am trying to write a new md file describing
pipeline information for a processor.
Please suggest some good reference document for understanding machine
description file.
Few questions from cortex-a53.md file:
For first integer pipeline following is defined - (define_cpu_unit
"cortex_a53_slot0" "cortex_a53")
Is name cortex_a53_slot0 is a keyword or it is any general string?
Is there any convention in choosing names for cpu units?
If ‘cortex_a53_slot0’ a general string, how assembler knows it is first
integer pipeline?
How these *.md files are used? When they are compiled and how they are used?
How to verify an md file for a processor is written correctly or not? How
to test it?
What other design consideration must be kept in mind while writing a new md
file?
Thanks.
with regards,
Virendra Kumar Pathak
This is a re-spin of the Linaro GCC 4.9 2015.04 source package snapshot.
The re-spin of this snapshot includes a new configure-time option to enable by
default a workaround for Cortex-A53 erratum number 843419 and options to
explicitly disable or enable it during compilation.
This snapshot tarball is available on:
http://snapshots.linaro.org/components/toolchain/gcc-linaro/4.9-2015.04-1
Original release notes for GCC 4.9 2015.04 snapshot:
The Linaro Toolchain Working Group (TCWG) is pleased to announce the 2015.04
snapshot of the Linaro GCC 4.9 source package.
Linaro GCC 4.9 2015.04 is the first Linaro GCC source package snapshot in the
4.9 series. It is based on FSF GCC 4.9.3-pre+svn222035 and includes performance
improvements and bug fixes.
With the imminent release of ARMv8 hardware and the recent release of the
GCC 4.9 compiler the Linaro TCWG will be focusing on stabilization and
performance of the compiler as the FSF GCC compiler. The Linaro TCWG provides
stable[1] quarterly releases and monthly snapshots[2].
Interesting changes in this GCC source package snapshot include:
* Linaro bugzilla PR fixed: #415, #1382, #1391
* Updates to GCC 4.9.3-pre+svn222035
* Backport of instruction scheduler improvements
* Backport of [AArch64,Neon] Add patterns + builtins for vld[234](q?)_lane_*
intrinsics
* Backport of [AArch64] Implement fusion adrp+add/movk+movk
* Backport of [AArch32] Cortex-A17 support
* Backport of [AArch64] Fix __builtin_aarch64_absdi, must not fold to ABS_EXPR
* Backport of PR rtl-optimization/63917
* Backport of PR tree-optimization/62178 tree-ssa-loop-ivopts
* Backport of [AArch64] Add TARGET_MIN_DIVISIONS_FOR_RECIP_MUL
* Backport of [AArch64] Simplify patterns for sshr_n_[us]64 intrinsic
* Backport of [AArch64] Simplify+improve patterns for ushr(d?)_n_u64 intrinsic
* Backport of [AArch32] Fix reservation pattern in cortex-a9-neon.md
* Backport of [AArch64] Don't disparage add/sub in SIMD registers
* Backport of [AArch64] Add SIMD-reg variants of logical operators
and/ior/xor/not
* Backport of [AArch64] Fix XOR_one_cmpl pattern; add SIMD-reg variants for
BIC,ORN,EON
* Backport of [AArch32] Use Cortex-A17 tuning parameters for Cortex-A12
* Backport of [AArch32] Make CLZ_DEFINED_VALUE_AT_ZERO and
CTZ_DEFINED_VALUE_AT_ZERO return 2.
* Backport of [AArch32] Minor optimization on thumb2 tail call
* Backport of [AArch64] Update APM/XGene-1
* Backport of [AArch64] Add a new scheduling description for the ARM Cortex-A57
processor
* Backport of [AArch64] Fix PR 64263: Do not try to split constants when
destination is SIMD reg
* Backport of [AArch64] Add support for -mcpu=cortex-a72
This snapshot tarball is available on:
http://snapshots.linaro.org/components/toolchain/gcc-linaro/4.9-2015.04
Feedback and Support
Subscribe to the important Linaro mailing lists and join our IRC channels to
stay on top of Linaro development.
** Linaro Toolchain Development "mailing list":
http://lists.linaro.org/mailman/listinfo/linaro-toolchain
** Linaro Toolchain IRC channel on irc.freenode.net at @#linaro-tcwg@
* Bug reports should be filed in bugzilla against GCC product:
http://bugs.linaro.org/enter_bug.cgi?product=GCC
* Interested in commercial support? inquire at "Linaro support":
mailto:support@linaro.org
[1] Stable source package releases are defined as releases where the full Linaro
Toolchain validation plan is executed.
[2] Source package snapshots are defined when the compiler is only put through
unit-testing and full validation is not performed.
Hi,
We've had trouble using ABE recently.
abe$ ./abe.sh --target aarch64-linux-gnu
NOTE: Downloading md5sums to abe/snapshots
RUN: /usr/bin/wget --timeout=10 --tries=2 --directory-prefix=abe/snapshots/ http://abe.tcwglab.linaro.org/snapshots/md5sums
--2015-04-21 16:02:33-- http://abe.tcwglab.linaro.org/snapshots/md5sums
Resolving abe.tcwglab.linaro.org (abe.tcwglab.linaro.org)... 81.128.185.43
Connecting to abe.tcwglab.linaro.org (abe.tcwglab.linaro.org)|81.128.185.43|:80... connected.
HTTP request sent, awaiting response... 502 cannotconnect
2015-04-21 16:02:42 ERROR 502: cannotconnect.
Thanks,
Chris
--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
== Progress ==
LLDB development
-- Wrote hardware breakpoint handlers for NativeLinuxRegisterContext
ARM [2/10] [TCWG-770]
-- Debugging for issues and code cleanup AArch64 LLDB watchpoint
support [2/10] [TCWG-771]
-- Fix, test, debug, cleanup and patch re-submission. [1/10]
-- Resubmitted, update and commited ARM SysV ABI implementation.
[TCWG-643]
-- Resubmitted, update and commit AArch64 SysV ABI
implementation. [TCWG-715]
-- Setting up android test environment [TCWG-651]
GDB development [1/10] [TCWG-677]
-- Clean-up arm-linux record replay test cases
Miscellaneous [2/10]
-- Meetings, emails, discussions etc.
-- Toolchain Sprint travel bookings and visa application preparation.
Public Holiday [2/10]
-- Friday 1st May 2015 (Labor Day)
== Plan ==
LLDB development
-- Complete work on AArch64 watchpoints and hardware breakpoints
-- Hopefully submit ARM watchpoint work may be later in the week.
-- Figure out android development
Miscellaneous
-- Complete and submit France visa application
GDB development
-- Gather ARM/AArch64 record-replay testsuite work and submit patches for yao.
- Public holiday (2/10)
== Progress ==
* Upstream GCC (3/10)
- TCWG-796 Zero/sign extension elimination with vrp.
- TCWG-555 posted patch for compiler pass to widen computation to
back-end promoted mode
* IRA (4/10)
- Looked at https://bugs.linaro.org/show_bug.cgi?id=540 (TCWG-773
Median of three has unneeded register moves)
* Misc (1/10)
- gcc-patches, gcc-bugs list
- Meetings
== Plan ==
- Continue with gcc stage1 activities
- Look at register allocation
== This week ==
* TCWG-619 (8/10)
PR65858
- workaround: add explicit casts in the file cld_generated_cjk_uni_prop_80.cc
- created reduced test case: http://pastebin.com/WJvKRjn2
- commit r222249 introduced the issue
- patch submitted upstream:
https://gcc.gnu.org/ml/gcc-patches/2015-04/msg02063.html
- Paolo Carlini pointed out it doesn't work with -w option, instead of testing
on warn_narrowing flag, he modified it to check on pedwarn()'s return
value, which
covers up for both -Wno-narrowing and -w, and committed with
this modification (r222700).
PR65837
- patch to lto-wrapper rejected.
- Another hack to pass driver's argv to lto-wrapper via another
environment variable
COLLECT_GCC_OPTIONS_DRIVER rejected by Richard.
- Ramana and Richard pointed out the proper fix would be to handle
target attributes in ARM backend.
- I could try extending Christian Bruel's target attribute patches for
fpu options
after they're checked in which would then fix the PR.
chromium LTO build
- Many instances of same error message during LINK chrome:
chrome.ltrans0.s:18399164: Error: Thumb2 branch out of range
chrome.ltrans0.s:9671243: Error: branch out of range
works fine for non-lto.
A similar issue, occurred for v8 LTO build - PR65778, but
it was marked resolved invalid.
- chromium builds with LTO for chrome component.
- ld.bfd segfault while building chromium with LTO not reproducible with master.
- non-LTO build undefined reference to libattr1 functions not reproducible with
ld.bfd master. This probably was sysroot/libc issue than issue with ld.bfd.
* PR49551 (2/10)
- reverting r221297 reproduces the ICE
- tried to fix with following patch:
http://pastebin.com/knuWeY0C
- fixes the ICE but following regressions observed on arm-linux-gnueabihf:
http://pastebin.com/E1zLtq8s
== Issues ==
- Can't login to cards.linaro.org (was able to before).
I get error - "You do not have permission to login".
== Next Week ==
- Investigate testsuite failures for PR49551
- Selectively enable LTO on components in chromium.
- exams preparation
* Half day leave on Thu, [1/10].
# Progress #
* arm/aarch64 gdb bug fixing. [3/10]
** TCWG-765, fails in gdb.base/coredump-filter.exp. No progress, as no
one reviews the patch.
** TCWG-672, fails in gdb.base/relativedebug.exp, fixed.
** TCWG-567, fails in gdb.base/break-idempotent.exp, fixed.
** TCWG-767, Propose to disable target-side evaluation of breakpoint
condition for software single step targets. Patch is posted.
* TCWG-805, aarch64 gdb multi-arch support, [2/10]
* TCWG-729, investigate GDB multi-target support, [2/10]
* TCWG-757, upstream patch review, [1/10]
* Misc [1/10]
** Meeting,
** Fill online forms for France visa application,
** Book travel to Grenoble.
# Plan #
* Public holiday on Monday.
* TCWG-805, aarch64 gdb multi-arch support,
* TCWG-729, investigate GDB multi-target support,
* other arm/aarch64 gdb test fails fixing.
--
Yao
benchmark automation - TCWG-360 [3/10]
* Shifted more generic patches from backport branch to review
* One complete run of backport benchmarking before lab went down
Misc [7/10]
* Most of this (4 or 5 tenths) is reaction to lab downtime
=Plan=
Benchmarking test suite
Fish out, finish off thoughts about benchmark access control
NB Next Monday (4th May) is a public holiday in UK
== Progress ==
LLDB development
-- Debugging test code for hardware breakpoint/watchpoint issues on
chromebook for ARM LLDB support [4/10] [TCWG-770]
-- Wrote native process linux helpers for arm and aarch64 hardware
breakpoints [2/10] [TCWG-770] [TCWG-771]
-- Fix, test, debug, cleanup and patch re-submission. [3/10]
-- LLDB ARM SysV ABI implementation. [TCWG-643]
-- LLDB AArch64 SysV ABI implementation. [TCWG-715]
-- Native process linux bug fixes [TCWG-651]
Miscellaneous [1/10]
-- Upstream reviews
-- Meetings, emails, discussions etc.
== Plan ==
LLDB development
-- At least submit lldb arm hardware breakpoint native process linux
helper functions
-- Resubmit register read/write bug fix after changes
-- Resubmit LLDB ARM SysV ABI implementation.
-- Resubmit LLDB AArch64 SysV ABI implementation.
-- Bug fixing, patch reviews etc
== This Week ==
* TCWG-619:
* abe sysroot/libc issue
While building chromium with development build of toolchain on
arm-linux-gnueabihf, I get the following error:
undefined reference to clock_gettime()
Builds fine with release toolchain build.
Symlinking libc in toolchain install directory to
sysroots/arm-linux-gnueabihf appears to work (which is what --tarbin
did).
* PR65778 - v8 fails to build with LTO
- Resolved Invalid
* PR65837 - target specific builtin not available
- created a reduced test case
- There's a weird issue: looks like for lto1, translation unit command
line options,
precede the default ones rather than overriding them.
Assume test.c contains a neon intrinsic:
arm-linux-gnueabihf-gcc -flto -c test.c -mfpu=neon
arm-linux-gnueabihf-gcc -flto test.o
results in target specific builtin not available,
because both -mfpu=neon and -mfpu=vfpv3-d16 is passed
and -mfpu=vfpv3-d16 overrides earlier -mfpu=neon
Passing -mfpu=neon at link time correctly overrides -mfpu=vfpv3-d16.
* PR6778 - ICE in varpool_node::get_constructor.
- Looks like PR65776 appears due to same issue as well.
- It appears error_mark_node gets streamed that causes ICE.
- Triage went wrong, thought it was an error in typeck2.c:check_narrowing().
* PR49551
- The C front-end c/c-decl.c:merge_decls still incorrectly marks the
variable as 'common' for the test-case:
int x = 5;
int x;
However it's not reproducible anymore on trunk (maybe latent?)
- I have an untested patch that resolves the issue in merge_decls().
* Issues
- abe built native gcc on x8_64-unknown-linux-gnu fails to build code
when passed -m32 option (bug 1508).
* Misc
- exams on 20th and 24th april.
* Next week
- Continue working on PR65837, PR65778
- Test patch for PR49551
== Issue ==
* none
== Progress ==
o Upstream GCC (8/10)
* [TCWG-785] ARM backend insn cleanup
- Validate and re-worked the patch
- About to be submitted upstream
* [TCWG-762] - GCC Maintenance
- PR64208 (iWMMXT LRA bug):
Found hardware to validate the fix (Thanks Riku :)
Validation ongoing
* Lot of time wasted due to lab compromisation
o Misc (2/10)
* Various meetings
* GCC git repository branches cleanup
== Plan ==
- Continue cleaning GCC git repo to prepare our migration
- Continue upstream pending work
== Progress ==
* Upstream GCC (9/10)
- TCWG-780 - Improve register allocation for
aarch64_*_sisd_or_int<mode>3 patterns.
- TCWG-486 - Optimize Constant Uses in Loops. Posted the arm part of
the patch that addresses review comments after full testing. Waiting for
the cprop review.
- TCWG-796 Zero/sign extension elimination with vrp. Posted the new set
of patches for review. Looking at the testcases H.J.L. pointed me to.
- TCWG-779 Vector rtx costs for AArch64. Posted the patch that
addresses review comments after full testing.
* Misc (1/10)
- gcc-patches, gcc-bugs list
- Meetings
== Plan ==
- Continue with gcc stage1 activities
- Monday public holiday
# Progress #
* arm/aarch64 gdb bug fixing. [5/10]
** PR 18208 (TCWG-765) fails in gdb.base/coredump-filter.exp. Workaround
tricky quote issue with dejagnu/tcl/ssh/bash. A RFC is posted out.
** Fails in gdb.base/relativedebug.exp (TCWG-672), patch is posted out
review.
** Fails in gdb.base/break-idempotent.exp. Skip some tests in it which
require more than one HW watchpoint registers, while arm-linux only
has one. Patch is posted out.
** TCWG-793, do experiment with showing LSB of address in thumb mode inside GDB,
in order to align with MIPS(microMIPS/MIPS16). It needs more work
than expected, and even out the scope of GDB. It is paused.
* FSF GDB patch review. [4/10]
** Review "all stop on top of non stop" V3, done.
** Review "memory-mapped register browsing" patch. Requested more
information from the author.
* Misc, meeting. [1/10] # Plan # * Fix test fails for arm and aarch64 gdb.
* Continue my HW watchpoint resource counting patches once linaro boxes
are online. These boxes don't have HW watchpoint support, and GDB
doesn't handle this case well.
* Upstream patches review.
--
Yao Qi
== Progress ==
LLDB development
-- Some progress on hardware watchpoint support for lldb arm linux.
[1/10] [TCWG-770]
-- Some progress on hardware watchpoint support for lldb aarch64
linux. [1/10] [TCWG-771]
-- LLDB ARM SysV ABI implementation. [4/10] [TCWG-643]
- Testing and updates with upstream suggestion
- Figuring out a method to handle thumb functions unwind information.
-- LLDB ARM: Bug fixes. [3/10] [TCWG-651]
Miscellaneous [1/10]
-- Upstream reviews
-- Meetings, emails, discussions etc.
== Plan ==
LLDB development
-- Progress towards hardware watchpoint support for lldb arm linux.
-- Progress towards hardware watchpoint support for lldb aarch64 linux.
-- Bug fixing, patch reviews etc
Hi all,
I have built our customized u-boot (u-boot-2012.10-rc3), with two Linaro toolchain, but have no luck with the latest toolchain.
The u-boot built with gcc-linaro-arm-none-eabi-4.9-2014.09_linux can boot on the development board. This toolchain was pre-built toolchain from Linaro, built with crosstool-NG. The version is gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09)
With the same u-boot source, the binary built with the Linaro gcc 4.9 2015.04 hang on the same board. The 2nd toolchain was compiled locally on RHEL6, built with ABE tool. We build it locally to avoid "GLIBC_2.14 not found" issue on the pre-built toolchain. The version is gcc version 4.9.3 20150413 (prerelease) (Linaro GCC 2015.04)
Does anyone have an idea what happen? Is it a regression bug in gcc4.9?
Thanks,
Joel
--------------------------------------------------------
[joelz@ldt-joelz]:$ /projects/broadcom-linux/shared/toolchains/gcc-linaro-arm-none-eabi-4.9-2014.09_linux/bin/arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=/projects/broadcom-linux/shared/toolchains/gcc-linaro-arm-none-eabi-4.9-2014.09_linux/bin/arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/projects/broadcom-linux/shared/toolchains/gcc-linaro-arm-none-eabi-4.9-2014.09_linux/bin/../libexec/gcc/arm-none-eabi/4.9.2/lto-wrapper
Target: arm-none-eabi
Configured with: /cbuild/slaves/oorts/crosstool-ng/builds/arm-none-eabi-linux/.build/src/gcc-linaro-4.9-2014.09/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-none-eabi --prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-none-eabi-linux/install --with-local-prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-none-eabi-linux/install/arm-none-eabi --without-headers --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --disable-__cxa_atexit --with-gmp=/cbuild/slaves/oorts/crosstool-ng/builds/arm-none-eabi-linux/.build/arm-none-eabi/build/static --with-mpfr=/cbuild/slaves/oorts/crosstool-ng/builds/arm-none-eabi-linux/.build/arm-none-eabi/build/static --with-mpc=/cbuild/slaves/oorts/crosstool-ng/builds/arm-none-eabi-linux/.build/arm-none-eabi/build/static --with-isl=/cbuild/slaves/oorts/crosstool-ng/builds/arm-none-eabi-linux/.build/arm-none-eabi/build/static --with-cloog=/cbuild/slaves/oorts/crosstool-ng/builds/arm-none-eabi-linux/.build/arm-none-eabi/build/static --with-libelf=/cbuild/slaves/oorts/crosstool-ng/builds/arm-none-eabi-linux/.build/arm-none-eabi/build/static --enable-lto --enable-linker-build-id --enable-libmudflap --disable-libgomp --enable-libssp --disable-libstdcxx-pch --enable-multilib --enable-languages=c,c++,fortran --with-multilib-list=aprofile
Thread model: single
gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09)
---------------------------------------------
[joelz@ldt-joelz]:$ /projects/toolchains/gcc-4.9-rhel6-local-build/bin/arm-linux-gnueabi-gcc -v
Using built-in specs.
COLLECT_GCC=/projects/toolchains/gcc-4.9-rhel6-local-build/bin/arm-linux-gnueabi-gcc
COLLECT_LTO_WRAPPER=/projects/toolchains/abe/_build/builds/destdir/x86_64-unknown-linux-gnu/libexec/gcc/arm-linux-gnueabi/4.9.3/lto-wrapper
Target: arm-linux-gnueabi
Configured with: '/projects/toolchains/abe/_build/snapshots/gcc.git~linaro-4.9-branch/configure' SHELL=/bin/sh --with-bugurl=https://bugs.linaro.org --with-mpc=/projects/toolchains/abe/_build/builds/destdir/x86_64-unknown-linux-gnu --with-mpfr=/projects/toolchains/abe/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gmp=/projects/toolchains/abe/_build/builds/destdir/x86_64-unknown-linux-gnu --with-gnu-as --with-gnu-ld --disable-libstdcxx-pch --disable-libmudflap --with-cloog=no --with-ppl=no --with-isl=no --disable-nls --enable-multiarch --disable-multilib --enable-c99 --with-tune=cortex-a9 --with-arch=armv7-a --with-fpu=vfpv3-d16 --with-float=softfp --with-mode=thumb --with-build-sysroot=/projects/toolchains/abe/_build/sysroots/arm-linux-gnueabi --enable-lto --enable-linker-build-id --enable-long-long --enable-shared --with-sysroot=/projects/toolchains/abe/_build/builds/sysroot-arm-linux-gnueabi --enable-languages=c,c++,fortran,lto --enable-fix-cortex-a53-835769 --enable-checking=yes --disable-bootstrap --with-bugurl=https://bugs.linaro.org --with-pkgversion='Linaro GCC 2015.04' --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --target=arm-linux-gnueabi --prefix=/projects/toolchains/abe/_build/builds/destdir/x86_64-unknown-linux-gnu
Thread model: posix
gcc version 4.9.3 20150413 (prerelease) (Linaro GCC 2015.04)
Hi,
I am using the linaro tolchain to create a root-filesystem for an embedded
Linux system.
I would like to copy the essential include files and libraries(libc) from
the toolchain to the rootFS of the embedded system.
Is there any explanation of the folder structure of the toolchain so I know
which folder to copy?
How do I know which files to copy and where those files are located in the
toolchain?
Thanks,
Robert
Hello,
In an effort to provide a longer quality control window for quarterly
releases the Linaro Toolchain Working Group will be making some changes to
the release process starting with the forthcoming 2015.04 products.
Little will change for the consumers of TCWG products.
The current monthly source release of the 'stable' Linaro GCC source
archives posted to releases.linaro.org will move to snapshots.linaro.org
and will be designated 'monthly snapshots'.
The exact location will be announced when the 2015.04 Toolchain component
source archive release notes are posted to this mailing list.
These monthly snapshots will continue to have branch merges, performance
fixes, security fixes, and correctness fixes applied on a monthly basis.
They will also continue to have validation across a variety of common ARM
targets performed (per backport) against them.
TCWG will introduce the concept of a 'release candidate source archive' and
'release candidate binary toolchain archive' six weeks before the projected
release date of the Quarterly Binary Toolchain Release. For example, the
2015.05 Quarterly Binary Toolchain and Quarterly Source Archive will be
based upon the 2015.04 source archive snapshot.
Release candidate source and binary archives will be posted to
snapshots.linaro.org.
This release candidate will receive the scrutiny of internal and external
stakeholders for six weeks and give an opportunity to evaluate the
forth-coming Quarterly Binary Toolchain Archive and Source Archive
Release. Problems found with the release candidates will result in the
availability of incremental release candidate archives.
The official quarterly release will be posted to releases.linaro.org.
Please direct any questions or concerns to this mailing list or to me
directly.
--
Ryan S. Arnold
Linaro Toolchain Working Group - Engineering Manager
www.linaro.org
Benchmark automation - TCWG-360 [5/10]
* Flushed the rest of the easy stuff from my 'small fixups' to my
'staging' branch
* Started rolling generic patches from my backport-benchmark branch into gerrit
* Prodded at the prototype backport-benchmark job until the pieces worked
** Ran out of time to try an end-to-end run
* Thought a little about permissions for access to source/results
* Use of nc.traditional appears to have introduced a race condition
catomics - TCWG-436 [2/10]
* Tried a run on A15 - same story as A57, good improvement on g8 libc
ubenchmark that doesn't translate into SPEC subset
* Performance counting the ubenchmark suggests variation around cache
accesses on the catomic vs not-catomic code, didn't have any time to
think about what, if anything, this means
Misc [3/10]
* Featuring an unusual level of ARM interruption
* Especially concerns about change from multiarch to non-multiarch
sysroot in binary releases
=Plan=
Confirm backport benchmarking working, roll remaining generic patches
into gerrit
Investigate the nc.traditional race
Add a retry loop around LAVA boot (occasionally see LAVA-fail here)
Create unit tests
Follow up on (non-)multiarch sysroot issue
=== Progress ===
* Get TSAN building for Aarch64 on 42-bit VMA systems. (4/10) (-pie mode only)
Expected Passes : 253
Expected Failures : 2
Unsupported Tests : 1
Unexpected Failures: 13
The failures are categorized into three types.
(1) setjmp and longjmp implementation in assembly needs to written for Aarch64 .
ThreadSanitizer :: longjmp.cc
ThreadSanitizer :: longjmp2.cc
ThreadSanitizer :: longjmp3.cc
ThreadSanitizer :: longjmp4.cc
ThreadSanitizer :: signal_longjmp.cc
(2) FATAL: ThreadSanitizer: failed to intercept pthread_cond_init. I
need to debug and see why this happens.
ThreadSanitizer :: bench_mutex.cc
ThreadSanitizer :: cond.c
ThreadSanitizer :: cond_cancel.c
ThreadSanitizer :: cond_race.cc
ThreadSanitizer :: cond_version.c
ThreadSanitizer-Unit :: rtl/TsanRtlTest/Posix.CondBasic
(3) TLS descriptions ThreadDescriptorSize (), GetTls () and ThreadSelf
() defintions are needed for aarch64.
tls_race.cc
tls_race2.cc
Some ptrace defintions are needed PTRACE_GETREGS, PTRACE_SETREGS
PTRACE_GETFPREGS, PTRACE_SETFPREGS for sanitizer, but they are not
implemented for Aarch64. I am planning to switch off that code in
TSAN.
* ASAN/TSAN documentation. ASAN documentation complete. TSAN in progress. (4/10)
* Emails, meetings. (2/10)
* Linaro 1-1 with christophe, Ryan.
* AMD meetings/event, 1-1 with AMD manager, status meeting.
* GCC mailing list.
===Plan ===
Complete TSAN documentation.
Analyze remaining failures for TSAN.
Push LLVM tree to git.linaro.org for handover.
* Backports (3/10)
- Backports validated and commited to SVN for April release
- 219724 - Add a new scheduling description for the ARM
Cortex-A57 processor
- 219746 - Fix broken 219724
- 220103 - A57 pipeline model
- 220399 - Add support for -mcpu=cortex-a72 and
-mcpu=cortex-a72.cortex-a53
- 220413 - Add support for -mcpu=cortex-a72
* Illness (6/10)
* Misc (1/10)
- Conference calls
== Next week ==
- Begin backports for May release
- Continue TCWG 110 investigation
== This Week ==
TCWG-619:
* Compiled chromium on ARM without LTO with following hack to resolve
error: undefined reference to 'clock_gettime', version 'GLIBC_2.17'
- chromium uses prebuilt sysroot in
src/chrome/installer/linux/debian_wheezy_arm-sysroot
and it has libc-2.13.so, libc.so.6 is symbolic link to libc-2.13.so in
the sysroot. However it appears minimum libc-2.17 is required (version
'GLIBC_2.17'). I replaced libc-2.13.so by abe-built
libc-2.20-2014.11-1-git.so, and symlinked libc.so.6 to
libc-2.20-2014.11-1-git.so and that worked (for non LTO build).
Curiously I didn't require to do this for building chromium with
linaro prebuilt toolchain.
* Found a way to disable LTO for building lib/libblink_web.so by manually
removing -flto from web_blink.ninja and Webkit/source/core/*.ninja,
which worked.
* Chromium non LTO build issues on ARM:
a) Fails with gcc-5 due to error in chromium:
https://code.google.com/p/chromium/issues/detail?id=340312
To compile chromium, I applied a patch to cp/typeck2.c to shut
narrowing conversion errors (ideally the fix should be to chromium).
b) ld.bfd (linaro branch) fails with undefined references to many functions
in libattr1: http://pastebin.com/ju4SCDSE
Not sure if this is ld.bfd bug, or me building it wrongly.
Haven't tested yet with trunk ld.bfd.
Works fine with gold.
* Target independent Chromium LTO issues with trunk
a) Top-level asm and LTO (PR57703) - This appears to be not supported.
* Chromium LTO issues on ARM with trunk:
a) ICE in lib/libblink_web.so (PR65576).
b) Target specific builtin not available: http://pastebin.com/2ANsEyMn
Seems related to:
https://code.google.com/p/chromium/issues/detail?id=408997
c) ICE during LINK chrome: http://pastebin.com/DpjJ5M7g
d) GNU ld appears to segfault compiling in LTO mode.
* Chromium LTO issues with linaro-4.9 branch:
a) ICE elf section out of range (PR57208) - fixed in trunk
b) gold - Ran out of file descriptors: fixed in trunk.
Seems the following patch which is in trunk but not in linaro branch fixes it:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=blobdiff;f=gold/…
I tried to backport it but got errors, possibly depends on other commits.
* v8 ARM LTO issues:
- Assembly error - offset out of range (PR65778). Possibly invalid bug.
== Next Week ==
- Create reduced test case for PR65576
- Figure out how to disable LTO for building lib/libblink_web.so in .gyp files
- PR49551
- Exams on 20th and 24th April.
# Progress #
* arm gdb, [6/10] many fails are fixed in the last two weeks.
1034->153 FAILs of -marm, 1008->143 FAILs of -mthumb, and 627->71
FAILs of -mfloat-abi=soft/-marm/-march=armv4t. There are 367 FAILs
in total, and 205 FAILs are about reverse debugging, which has been
broken for many years.
** TCWG-769, patch is committed upstream.
** TCWG-567, two patches are committed, and another two patches are in
progress. Existing HW watchpoint resource counting in GDB doesn't
work well on arm boards which doesn't have HW watchpoint support.
** TCWG-509, many arm gdb test fails are fixed. In progress.
* FSF GDB patch review. [3/10]
Test Pedro's "all-stop on top of non-stop" patch series V3 on both arm
and aarch64. Results are much better.
* Misc, meeting. [1/10]
# Plan #
* Fix test fails for arm and aarch64 gdb.
* Upstream patches review.
--
Yao
Hi,
I (and several other people) am (are) having trouble to build busybox with the latest aarch64-linux-gnu 2014.11 binaries we got from linaro.org.
It seems none of the built-in library search paths (gcc -print-search-dirs) allow to find crt[1i].o. They seem to be expected in a multiarch location but aren't (libc/usr/lib64). We're working around this with a symlink. Is this a bug? Have you seen similar issues?
Here's a failing command-line and the associated error message:
/path/to/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wno-format-security -Wdeclaration-after-statement -Wold-style-definition -fno-builtin-strlen -finline-limit=0 -fomit-frame-pointer -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -static-libgcc -falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1 -fno-unwind-tables -fno-asynchronous-unwind-tables -Os -static -o busybox_unstripped -Wl,--start-group applets/built-in.o archival/lib.a archival/libarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a mailutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a printutils/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a util-linux/volume_id/lib.a archival/built-in.o archival/libarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o mailutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o printutils/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o util-linux/volume_id/built-in.o -Wl,--end-group -Wl,--start-group -lm -Wl,--end-group
==========
/work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/../../../../aarch64-linux-gnu/bin/ld: cannot find crt1.o: No such file or directory
/work/integration/envs/latest/tools/gcc/gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu/bin/../lib/gcc/aarch64-linux-gnu/4.9.3/../../../../aarch64-linux-gnu/bin/ld: cannot find crti.o: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [busybox_unstripped] Error 1
Thank you!
Regards,
Kévin
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
== Progress ==
Bank Holiday [2/10]
Backports [2/10]
. started and abandoned backport of 217440 due to unbackported dependent patch
. FSF 4.9 branch is missing from our git mirror - this is still
wasting time after 7 months
Vectorization (TCWG-735) [3/10]
Benchmarking [1/10]
. started 2015.03 benchmarking
Misc [2/10]
raspberry pi config
calls/mailing lists
== Progress ==
LLDB development
-- Patch update, test and re-submission native Linux register context
for Arm. [1/10] [TCWG-650]
-- Patch update, test and re-submission POSIX register context for
Arm. [1/10] [TCWG-755]
-- Tested lldb armhf native build on ubuntu utopic, build fine but
lacks of VFP support is a blocker. [1/10] [TCWG-647]
-- Initial investigation on hardware watchpoint support for lldb arm
linux. [2/10] [TCWG-770]
-- Initial investigation on hardware watchpoint support for lldb
aarch64 linux. [2/10] [TCWG-771]
-- Fix lldb build and test environment for arm and aarch64. [2/10] [TCWG-651]
Miscellaneous [1/10]
-- Meetings, emails, discussions etc.
== Plan ==
LLDB development
-- Progress towards hardware watchpoint support for lldb arm linux.
-- Progress towards hardware watchpoint support for lldb aarch64 linux.
-- Bug fixing, patch reviews etc
== Issue ==
* none
== Progress ==
* [TCWG-762] - GCC Maintenance (9/10)
- PR65648 (ARMv6 IRA clobbering issue): Worked on a testcase that exhibit
the issue and don't conflict with various multilib configs.
Generic part of the
patch accepted, ARM related part needs to be reviewed by a ARM maintainer.
- PR65710 (LRA ICE in Thumb1): Proposed a quick workaround for this bug,
Proper fix was committed by Vlad.
- PR65729 (LRA ICE on arm-linux-gnueabhif): Proposed a fix, which is a stage1
material. Issue workarounded on trunk to avoid extensive
validation for the RC.
* [TCWG-702] Merge FSF 4.9 branch
- Merged up to revision 221939
- Will do another one to include needed LRA fixes.
* Misc (1/10)
- Various meetings
== Plan ==
- FSF branch merge #2
- Back on a Thumb2 insn fix
catomics - TCWG-436 [4/10]
* Fiddled with SPEC runs with unstripped binaries on tiny Juno discs
* Got a run for the interesting subset of SPEC, non-atomic catomics
still show no effect
* Tried a few catomics variations with the glibc malloc
microbenchmark, here non-atomic catomics show a significant effect
* Tried firing a perf shotgun at the malloc microbenchmark to see if
it suggests anything - results pending
Benchmark automation - TCWG-360 [3/10]
* Fixed Jira benchmarking
* Flushed some of the backlog out of my 'small fixups' branch
Misc [1/10]
Holiday [2/10]
catomics - TCWG-436 [4/10]
* Fiddled catomics to not use atomics at all, set off a new SPEC run
* Not using atomics seems wrong in general, but OK for malloc/free
Benchmark automation - TCWG-360 [1/10]
* Quick look at Tyler's LAVA console streamer
* Ported benchmark scripts to work on Debian
** Turns out there are two versions of netcat and Debian and Ubuntu
default to different ones
* Checked lab transition plan for benchmark-affecting points
Misc [1/10]
Holiday [4/10]
== Progress ==
* Public holiday (2/10)
* Sick (2/10)
* TCWG-620 (4/10)
- regression tested a version of patch
- few regressions lead to reworked it
- have a version that passes regression
* TCWG-753 and Bug 1373 (1/10)
- Al the Back-ports committed
- closing the card
* Misc (1/10)
- gcc-patchs and gcc-bugs list
== Plan ==
* Start with the RA issue during vectorization
* TCWG-521
== This Week ==
* TCWG-619
* V8
- aarch64 v8 LTO build with different options
- found workaround for v8 LTO build on ARM
* Chromium
- statically linking libstdc++ works for building chromium with
linaro-4.9-branch
- patched cp/typeck2.c to shut up on narrowing conversion errors to build
chromium with master branch.
- weird issue, chromium build hangs consistently at:
AR obj/components/libomnibox.a
due to patch to WebGLRenderingContextBase.idl, reverting that worked fine.
* PR49551
- git bisect shows ICE cannot be reproduced after r221297.
* Misc
- Preparatory Leave from college, semester ended.
== Issues ==
- ABE bugs: 1362, 1439, 665
- Can't access BlueJeans from Firefox on pc, gets stuck on
"Initialization" window.
== Next Week ==
- Complete LTO build v8 with different options on ARM, AArch64 and x86.
- Chromium LTO build on x86 with different LTO options.
- Chromium LTO and non LTO build on ARM.
- PR 49551.
UK Holiday on 06 April [2/10].
# Progress #
* arm gdb test fail fixing. [4/10]
** TCWG-767, patch is committed.
** TCWG-769, patch is posted upstream for review.
** TCWG-765, triaged this issue. It is a test case or test harness
bug, rather GDB's. Need more time to investigate how to run "echo"
command on remote target through dejagnu.
** Fix a bug in my ARM displaced stepping code written in 2011.
** TCWG-509, patch is approved upstream, but will be combined into
other's patches.
** TCWG-567, Skip incorrect tests in gdb.base/watchpoint-reuse-slot.exp
for arm. Patch is committed.
* FSF GDB patch review. [3/10]
Test Pedro's "all-stop on top of non-stop" patch series on both arm
and aarch64. Some regressions are found and exchange thoughts on
them.
* meeting, [1/10]
# Plan #
* Test fails fixing for arm and aarch64 gdb.
* Upstream patches review.
--
Yao
== Progress ==
* Public holiday (2/10)
* zero/sign extension - TCWG-521 (2/10)
- Looked at profile results
- Starting aarch64 benchmarking
* TCWG-620 (2/10)
- Ran into missing pattern issue
- Discussed it with Maxim and Jim
* TCWG-753 (2/10)
- orted few issues with my backporting set-up after talking to Yvan
- Started all the backports
- Backport testing in progress
* Bug 1373 (1/10)
- Backport testing in progress
* Misc (1/10)
- gcc-patchs and gcc-bugs list
== Plan ==
* TCWG-620 and TCWG-521
Holiday: 03/04 [2/10]
# Progress #
* aarch64 gdb, 8 FAILs are fixed but 6 FAILs are introduced by the new
test case. [2/10]
** KFAIL two tests in gdb.threads/no-unwaited-for-left.exp for remote
target. Done.
* TCWG-509, arm gdb, 1034 FAILs of -marm, 1008 FAILs of -mthumb, and
627 FAILs of -mfloat-abi=soft/-marm/-march=armv4t. [4/10]
** Look at fails in gdb.threads/non-stop-fair-events.exp. Root cause is
almost identified, and patches are being tested.
* TCWG-757, FSF GDB, [1/10]
** Review two committed patches causing some problems for arm. Will
raise questions on them later. Looks I need to allocate more time on
upstream reviewing to prevent these arm-unfriendly patches go in.
* meeting, [1/10]
# Plan #
* Take more care on arm gdb.
* Upstream patches review, especially on all-stop-on-top-of-non-stop
patch set.
* Fix the rest of 10+ fails in aarch64 gdb.
--
Yao
== Issue ==
* none
== Progress ==
* [TCWG-762] - GCC Maintenance (9/10)
- Linaro bugzilla 1399 identified as an upstream bug (PR65647)
Now fixed on trunk and backported in FSF 4.9, will be in our
branch in the coming branch merge.
* [TCWG-699] Backports
- Committed them into our SVN FSF repo.
* Misc (1/10)
- Various meetings
== Plan ==
- FSF branch merge
- Back on a Thumb2 insn fix
== Progress ==
LLDB development
-- Completed implementation and submited native Linux register context
for Arm upstream [3/10] [TCWG-650]
-- Completed implementation and submitted POSIX register context for
Arm upstream [3/10] [TCWG-755]
-- Fixing LLDB build and dev environment issues [1/10]
Miscellaneous [3/10]
-- 3rd April Swap day for 23rd March Public Holiday
-- Meetings, emails, discussions etc.
== Plan ==
LLDB development
-- Bug Fixing and Test result improvement.
-- Patch reviews and upstream commits.
Miscellaneous
-- Try LLDB armhf builds and figure out a way to do gcc 4.8 softfloat build.
4 day work week (03-Apr good Friday) (2/10)
* ASAN 32bit allocator failures on amd-01 (4/10)
Completed analyzing failures. Sent a patch to Address sanitizes
community for review. Applied patch to latest LLVM trunk and ran
tests. found one failure. But it was due to the test case assuming
that return value from "getpwnam_r" all is always zero. Fixed the
test case by removing the assert and all LLVM tests passes.
[ Renato tested the patch on APM (39 bit VA) ].
* Again there is some discussion in GCC bugzilla on deciding which
allocators to use for Aarch64 42 bit VA*.
I have a patches for both allocators and posted it to ASAN group
64 bit allocators wont work on juno. So for ASAN there is a need to
have some kind of dynamic address space detection mechanism. Set the
allocators type and required mappings at runtime for Aarch64.
But that needs to be decided by ASAN group whether to do that or use
my 32 bit allocator patch . I am planning to stop it here and wait as
suggested by renato.
* Get TSAN building for Aarch64 on 42-bit VMA systems. (2/10) (-pie mode only)
Applied patch that I had on GCC tree on LLVM trunk. Build failed need
to set kVdsoBeg and kMadviseRangeBeg. I set some default value to
allow TSAN build to complete. right now clang does not recognize
aarch64 target for aarch64 although I enabled it under TSAN. looking
at the issue.
* Emails, meetings. (2/10)
* Linaro 1-1 with christophe, Ryan, status meet
* AMD meetings/event, 1-1 with AMD manager, status meeting.
* GCC mailing list.
== Plan ==
* Get TSAN building for Aarch64 on 42-bit VMA systems. (-pie mode only)
* Document TSAN/ASAN work and patch details in wiki.
== Issues ==
* ASAN patch cannot be up streamed unless we decide on allocator to use.
== This week ==
* TCWG-619
- v8 LTO build with different options for x86 and aarch64.
- Reported upstream v8 LTO build failure on ARM.
- Tried to build chromium with FSF gcc, linaro binary release and
linaro-4.9-branch
* PR49551
- Not able to reproduce ICE with latest trunk (r221871).
* Misc
- College assignments submission and term end.
== Next Week ==
* TCWG-619
- Build chromium with linaro-4.9-branch and trunk.
- Prepare stats for LTO build with different options for v8 on x86 and aarch64
- Try building chromium with LTO with FSF trunk for arm
* TCWG-639:
- Add enhancement to header file flattening script.
== Progress ==
Friday holiday
* Automation Framework (CARD-1378 2/10)
- Power cut in the office
- Fixing gateway, rebooting machines
- Mob management
* LLVM ARM Maintenance (CARD-1833 2/10)
- ARMTargetParser review
* Background (4/10)
- Code review, meetings, discussions, etc.
- All LLVM buildbots broken (one still)
- Trying to merge Android round/exception
- https://android-review.googlesource.com/#/c/125910/1
- Not that easy, will need bigger changes and tests to go in
== Plan ==
* Long holidays
* EuroLLVM
* Back on the 15th
Hi,
I did some tests on the following function
--- CUT HERE ---
int fibo(int n)
{
if (n < 2) return 1;
return (fibo(n-2) + fibo(n-1));
}
--- CUT HERE ---
and I discovered that it is faster -O2 than -O3. This is with gcc 4.9.2.
Looking at the disassembly I see it is using FP registers to hold
integer values. The following is a small extract.
.L3:
fmov w0, s8
sub w25, w25, #1
cmn w25, #1
add w0, w0, w27
fmov s8, w0
bne .L19
add w0, w0, 1
b .L2
Recompiling with -mgeneral-regs-only generates a huge improvement.
The following are the times I get on various partner HW. I have
normalised the -O2 times to 1 second so that I do not disclose actual
partner performance data:
Partner 1: -O2 = 1sec, -O3 = 1.13sec, -O3 -mgeneral-regs-only = 0.72sec
Partner 2: -O2 = 1sec, -O3 = 0.68sec, -O3 -mgeneral-regs-only = 0.60sec
Partner 3: -O2 = 1sec, -O3 = 0.73sec, -O3 -mgeneral-regs-only = 0.68sec
Partner 4: -O2 = 1sec, -O3 = 0.83sec, -O3 -mgeneral-regs-only = 0.84sec
So, in general, -O3 does actually do better than -O2, but in all cases
performance is better if I stop it using FP registers for int values.
I have put a tarball of the test program along with 3 binaries and 3
disassemblies here:-
http://people.linaro.org/~edward.nevill/fibo.tar
All the best,
Ed.
Hi,
I'm seeing the following build error trying to build from the current master
branch (1ac806b) of http://git.linaro.org/toolchain/binutils-gdb.
make[3]: *** No rule to make target `-L../zlib', needed by `run'. Stop.
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `gdb/sim/arm'
The following commit predating the zlib changes appears to build without error.
b19a8f8545100a08ee2a64c05631aff6f651faa1
Thanks,
Chris
--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
catomics - TCWG-436 [5/10]
* Got pointed at a suitable set of benchmarks, results still underwhelming
* However, patches were using relaxed atomics rather than no atomics at all
* Fiddled abe into building sysroots for me (I get libstdc++ that way)
Misc - [5/10]
* Tidied up some 'perf shotgun' scripting from the juno cache
investigation, so I've got the tools for next time
* Started sorting out my backups - but didn't finish before build-01's
death destroyed a bunch of work
* Raised priority of sorting out my backups, now just a matter of
waiting on some large rysncs
* Pieced my world back together on dev-01
=Plan=
Holiday Wednesday, public holidays next Friday and Monday
See how catomics do when we're conditionally-not-atomic-at-all
Investigate a bit to see if I can see if there's a reason we were
using relaxed atomics
Resurrect Jira benchmarking on dev-01
* Will include some porting, scripts don't work out of box on dev-01
One day off on Friday. [2/10]
# Progress #
* aarch64 gdb, the number of FAIL is reduced to 26 on aarch64-linux!
there are still about 10+ FAILs can be fixed. [4/10]
** TCWG-726, fails in gdb.base/break-interp.exp. Fixed.
Remove prelink package from juno board as aarch64 isn't supported.
** TCWG-681, fails in savedregs.exp. Patch is committed.
** PR 18139. Patches are committed.
* arm gdb, 938 fails for -mfloat-abi=soft and 1014 fails for
-mfloat-abi=hard. Analysing fails. [2/10]
* GDB kernel-awareness meeting with ST. [1/10]
Understand the definition of "kernel-awareness", and will
discuss about the design upstreams later.
* TCWG-716, investigate LLDB perf testing. [1/10] Done.
** LLDB already had something about performance testing, in
lldb/test/benchmarks/ and lldb/tools/lldb-perf.
** TestCompileRunToBreakpointTurnaround.py compares the speed of LLDB
and GDB, but in an incorrect way.
# Plan #
* Take more care on arm gdb test fails.
* Fix the rest of aarch64 gdb fails.
--
Yao
== Issue ==
* none
== Progress ==
* Infrastructure and Validation (1/10)
* GCC Upstream (6/10)
- PR63587 and PR64871 committed in FSF 4.9 branch.
- PR64208 patch review is OK, but needs to be validate on an iWMMXT platform
(pinged some Marvell people).
- Submitted a fix for arm_subsi3_insn (alternatives issue). This is
a stage1 patch.
- Identified another insn which has alternatives issues in Thumb2.
* Release and Backports (1/10)
- Backflip maintenance
- 12 Backports for 2015.04 (CARD TCWG-699)
* Misc (2/10)
- Various meetings
- ST internal year review
== Plan ==
- Continue upstream work.
* ASAN/TSAN run on 42 bit VA Aarch64 (TCWG-634) (6/10)
Sent a patch that enables ASAN tests with 64 bit allocator on
amd-01 (AMD Seattle). All ASAN test passes in LLVM.
But on juno platform 39 bit VA does not have enough memory to map
hence we need to stay on 32 bit allocator.
Discussed with ASAN community and it is been decided to use 32 bit
allocator as default. They are not ok with having a mechanism to
detect VA and swutch allocators based on that.
Started looking at failures on amd-01 (AMD steatle) with 32 bit alloctor.
None of the ASAN tests ran when I switched to 32 bit allocator on amd-01.
Reason there is a spin mutex lock which is waiting for the memory
allocation to complete, but assertion failure makes it to wait
infinitely.
After fixing map range the assertion failure is gone but I keep
getting some failures with 32 bit allocator "on".
Bug869: Continued to look at ABS_EXPR cases (2/10).
* Emails, meetings. (2/10)
* Linaro 1-1 with christophe, Ryan, status meet
* AMD meetings/event, 1-1 with AMD manager, status meeting.
* GCC mailing list.
== Plan ==
*Continue to fix TSAN/ASAN 32bit allocator failures on amd-01 .
* Bug869
== Progress ==
* Type promotion pass (zero/sign extension elimination) - TCWG-547 (2/10)
- Ran more benchmarks and gathered more data (will post the results)
- Need to run perf to analyse regressions
* Bug 1373 (1/10)
- Set-up back-porting infrastructure
- Ran into some issues
* TCWG-486 (6/10)
- Discussed with Jim and identified the issues and possible fixes
- Getting closer to an acceptable fix
- Need to run benchmarking
* Misc (1/10)
- gcc-patchs and gcc-bugs list
== Plan ==
* TCWG-620 and TCWG-547
== Progress ==
LLDB development
-- Patch submission and build testing LLDB Arm SysV ABI classes
[1/10] [TCWG-643]
-- Patch submission and build testing LLDB AArch64 SysV ABI classes
[1/10] [TCWG-715]
-- Implemented native Linux register context for Arm [3/10] [TCWG-650]
-- Implemented POSIX register context for Arm [3/10] [TCWG-755]
-- Migrated LLDB wiki to collaborate.linaro.org and updated howtos
[1/10] [TCWG-640] [TCWG-641] [TCWG-583]
-- Another try on doing a native LLDB build on arm [1/10] [TCWG-647]
Miscellaneous [1/10]
-- Meetings, emails, discussions etc.
== Plan ==
LLDB development
-- Complete implementation and submit native Linux register context
for Arm upstream
-- Complete implementation and submit POSIX register context for Arm upstream
-- Patch reviews and upstream commits.
-- Start work on LLDB arm integration, testing and bug fixing.
Miscellaneous
-- Try LLDB armhf builds and figure out a way to do gcc 4.8 softfloat build.
== This Week ==
* TCWG-619:
- LTO and non-LTO builds of v8 and chromium on x86, arm, and aarch64 native and
x86->arm, x86->aarch64 cross.
- LTO build for v8 on arm native and with x86->arm cross works with linaro-4.8,
but not with linaro-4.9. Also appears to fail for trunk.
- Issues in building chromium cross x86->arm - undefined reference to
clock_gettime.
* PR 49551
- Patch approved by Charles.
== Next Week ==
- v8 LTO build with different lto options.
- Investigate LTO build failure for v8 on arm.
- LTO and non-LTO builds for chromium on x86, arm and aarch64.
- Submit patch to PR49551 for upstream review after testing on x86, arm.
== Progress ==
* Validation
- worked on stabilization of abe and jenkins jobs
* Backports
- a few reviews
* Misc
- meetings, conf-calls, emails, ...
== Next ==
* Validation: hopefully make the staging, then stable branches
== Progress ==
* Automation Framework (CARD-1378 5/10)
- Moving LLVM lab into llvm.tcwglab subnet
- Passing down my knowledge to the lab team
- Helping them set up the new builders
* Background (5/10)
- Code review, meetings, discussions, etc.
- Upgrading APM's compiler/binutils
- Writing LLVM Getting started wiki page
- Helping Adhemerval setup
== Plan ==
* Go back working on LLVM
== Progress ==
qemu-system experiment [4/10]
Tried to set up qemu-system for reliable simulated validation of tests
which don't work under qemu-user. Mostly works, but there is arcane
interaction between DejaGNU, gcc testsuite and board files which make
it a bit flakey. Interesting experiment, but I've dropped it for now
as there still niggles to iron out.
Misc [4/10]
Patch review for Prathamesh
Backporting stuff
ABE bugzilla stuff
Benchmarking results
Emails/doc review about Lab infrastructure
Holiday Friday [2/10]
== Plans ==
Holiday Monday
Investigate autovectorization
Next backport
== Progress ==
LLDB development
-- Implemented LLDB Arm SysV ABI classes [3/10] [TCWG-643]
-- Implemented LLDB AArch64 SysV ABI classes [3/10] [TCWG-715]
-- Started implementation of Arm native register context [1/10] [TCWG-650]
-- Figure out steps to run lldb-remote testsuite on Arm and AArch64
[1/10] [TCWG-640] [TCWG-641]
-- Try to build lldb-server natively on chromebook [1/10] [TCWG-647]
Miscellaneous [1/10]
-- Meetings, emails discussions.
-- Updates to wiki pages for LLDB howtos
== Plan ==
LLDB development
-- Complete implementation and submit LLDB Arm SysV ABI classes upstream
-- Complete implementation and submit LLDB AArch64 SysV ABI classes upstream
-- Further progress on implementation of native register context
-- Begin implementation of POSIX monitor register context for arm.
Miscellaneous
-- Migrate LLDB pages to collaborate.linaro
ASAN/TSAN run on 42 bit VA Aarch64 with 64 bit allocators (TCWG-634) (6/10)
* Juno does not have space for kernel allocator map demanded by
ASAN, So we need to remain on 32 bit allocators only.
* amd-01 went offline. So moved to internal machine in AMD.
Debugging LLVM test failures in GDB showed that ASLR should be
turned off and also the shadow offset is set at 1<<36 and is not
changing when I fix it in asan_mappings.h file .
Manually changing shadow offset to 1<<39 fixes some segfaults.
Bug869: Continued to look at ABS_EXPR cases (2/10).
* Emails, meetings. (2/10)
* Linaro 1-1 with christophe, Ryan
* AMD meetings/event, 1-1 with AMD manager, status meeting.
* GCC mailing list.
== Plan ==
*Continue to fix TSAN/ASAN 64 bit allocator failures on amd-01 .
* Bug869
== Issue ==
* none
== Progress ==
* Infrastructure and Validation (1/10)
- Validate staging builders, still some issues with guality tests
* GCC Upstream (5/10)
- PR64208 submitted a patch that fixes the LRA ICE for iwmmxt target.
- PR63587 and PR64871 submitted patches that backport the fixes into
FSF 4.9 branch. Patches approved, to be committed.
* Release and Backports (3/10)
- Finished Backflip improvements, dev branch merged into master.
- Presented this new features, stacked backports process and conflict
handling during our GCC team weekly meeting.
* Linaro Bugzilla (-/-)
- #1322 - Identified it as already resolved on our 4.8 branch.
* Misc (110)
- Various meetings
== Plan ==
- Continue on upstream bugzillas, backports and validation.
catomics - TCWG-436 [6/10]
* Started a series of runs on a local board I'd borrowed
** Then had to give it back before they'd really got anywhere
* Got some, possibly dubious, results back from A15 from previous week
** If the results are worth anything, they suggest that catomics don't
achieve anything
* Started again with a subset of SPEC on juno-01, as it was on my desk
for the weekend anyway
** Results again underwhelming
** Maybe I picked the wrong subset, maybe A57 is too smart
Misc [4/10]
* Including a little 'juno cache effects' followup, a little juno-01
work, and a lot of mail catchup
=Plan=
* Get back to benchmark automation
** Apply a bunch of small improvements I've got on a branch
** Get a working Jenkins backport benchmarking prototype
** Sort out sources/results storage
* Think about why catomics may not be showing any effect
** Starting to believe that this is a red herring
** But might be interesting to try 'little' class cores
** But that does involve finding a reliable target I can hold for a long time
Juno cache effects - LDTS-1238 [6/10]
* Seems to be mainly due to (expected) instruction scheduling
limitations, and prefetcher effects
* Reported back, hopefully this will wrap up now
catomics - TCWG-436 [1/10]
* Shepherding benchmark runs in LAVA, usual problems with ssh-agent,
juno contention and random target failure
* Almost no actual data produced
benchmark automation - TCWG-360 [1/10]
* User support, some discussion about extent of our juno usage
* Something weird happened in Jenkins, _might_ have been a one-off due
to slaves moving around
Misc - [2/10]
* Featuring juno-01 fixing
TCWG-619:
- Cross compiled v8 on ARM using linaro toolchain (binary release).
- Built chromium LTO native
- Building v8 on ARM with LTO results in ICE at lto_tag_to_tree_code.
- Buiilding v8 (without LTO) with linaro-4.9-branch results in ar error.
- Cross compiling chromium on ARM with LTO using linaro toolchain
segfaults ld
- Using gcc-nm, gcc-ar works as a work-around for "plugin needed to
handle lto object" error
TCWG-621:
- Finished refactoring sel-sched-ir.h
* Bugs
- PR49951: Modified patch to fix few test-cases.
* Misc:
- Internal college event on Saturday.
== Next Week ==
- TCWG-619
- Test patch for PR49951 and submit upstream.
- Refactor lra-int.h
== Progress ==
* type promotion pass (zero/sign extension elimination) - TCWG-547 (6/10)
- Fixed LTO testcase failure
- Native testing on arm chromebook found three more failures
- Fixed all of them
- Setup spec2006 on chromebook
- spec2006 with -O3 -mfpu=neon -march=armv7-a -fno-common shows some
(12 of them) regressions even though there are some gains (17 of them).
- GEOMEAN is the same.
- 437.leslie3d regresses 18% for -O3 but improves 16% if I use -O2 in
both the original and with the patch
- some optimizations like vectorization could be impacted (?)
- restarted the full benchmarking at -O2
* TCWG-620 (1/10)
- read more documents and looked at code samples
* TCWG-486 (2/10)
- Latest trunk didn’t work with the patch I had
- Original patch Zhenqiang also behaves similar. Looking into it.
* Misc (1/10)
- gcc-patchs and gcc-bugs list
== Plan ==
* TCWG-620 and TCWG-547
== Progress ==
* Thursday off (2/10)
* Buildbots (CARD-1823 1/10)
- Fixing llvm-apm-01 (disk problem)
- Fixing llvm-d01-04 (my bad)
* Releases (CARD-1431 1/10)
- Spinning release 3.5.2 RC1, all green
* Automation Framework (CARD-1378 3/10)
- A lot of time wasted in infra shenanigans
* Background (3/10)
- Code review, meetings, discussions, etc.
- Reviewing, testing and committing ARM11 patch by Tinti
- Getting ircproxy to work
- Broken bots a-plenty
== Plan ==
* Fork LLVM lab out of TCWG
* Zillions of patches to review
* Continue target description changes
* Welcome Adhemerval, setup LLD track
* Catch up with Omair on LLDB
# Progress #
* aarch64 gdb , TCWG-652, [7/10]
** TCWG-663, TCWG-680: closed, as patches are committed
** TCWG-681, TCWG-664: in progress, patches are posted upstream for
review.
The current FSF mainline GDB on aarch64-linux only has 46 FAILs
in the remote testing!
* arm gdb remote testing on pandaboard, [1/10]
There are 3584 FAILs! Have no chance to triage them yet.
* fsf gdb, [2/10]
** Clean up gdbarch method cannot_step_breakpoint.
** Take a look at the state of C++ move in GDB. Offer some help on this
project.
* misc [1/10]
** Meeting and internal trainings.
# Plan #
* Other cards under TCWG-652.
* TCWG-682, Investigate on GDB/LLDB performance.
* Write up some slides to help people understand what GDB can
do for the incoming meeting.
--
Yao
Hi all
I am trying to compile poky-dizzy-12.0.1(MACHINE ?= "beaglebone") using
meta-toolchain.
so i downloaded dizzy from
http://downloads.yoctoproject.org/releases/yocto/yocto-1.7.
1/poky-dizzy-12.0.1.tar.bz2
meta-linaro from
https://git.linaro.org/openembedded/meta-linaro.git
I have changed bblayers.conf as below
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "6"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
/home/praveenk/work/poky-dizzy-12.0.1/meta \
/home/praveenk/work/poky-dizzy-12.0.1/meta-yocto \
/home/praveenk/work/poky-dizzy-12.0.1/meta-yocto-bsp \
/home/praveenk/work/poky-dizzy-12.0.1/meta-linaro/meta-linaro-toolchain \
"
BBLAYERS_NON_REMOVABLE ?= " \
/home/praveenk/work/poky-dizzy-12.0.1/meta \
/home/praveenk/work/poky-dizzy-12.0.1/meta-yocto \
I added required changes in local.conf
MACHINE ?= "beaglebone"
DEFAULTTUNE = "cortexa8hf-neon"
PREFERRED_PROVIDER_glibc ?= "glibc"
PREFERRED_VERSION_gcc ?= "linaro-4.9%"
PREFERRED_VERSION_gcc-cross ?= "linaro-4.9%"
PREFERRED_VERSION_gcc-cross-initial ?= "linaro-4.9%"
PREFERRED_VERSION_gcc-cross-intermediate ?= "linaro-4.9%"
PREFERRED_VERSION_gcc-cross-canadian ?= "linaro-4.9%"
PREFERRED_VERSION_gcc-crosssdk ?= "linaro-4.9%"
PREFERRED_VERSION_gcc-crosssdk-initial ?= "linaro-4.9%"
PREFERRED_VERSION_gcc-crosssdk-intermediate ?= "linaro-4.9%"
PREFERRED_VERSION_gcc-runtime ?= "linaro-4.9%"
PREFERRED_VERSION_nativesdk-gcc-runtime ?= "linaro-4.9%"
PREFERRED_VERSION_libgcc ?= "linaro-4.9%"
PREFERRED_VERSION_nativesdk-libgcc ?= "linaro-4.9%"
PREFERRED_VERSION_gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} ?=
"linaro-4.9%"
but still it is building gcc-4.9 instead of gcc-linaro-4.9
below is the log
WARNING: Could not copy license file COPYING: [Errno 2] No such file or
directory:
'/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work-shared/gcc-linaro-4.9-r2014.11/gcc-linaro-4.9-2014.11/COPYING'
WARNING: Could not copy license file COPYING: [Errno 2] No such file or
directory:
'/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work-shared/gcc-linaro-4.9-r2014.11/gcc-linaro-4.9-2014.11/COPYING'
WARNING: Could not copy license file COPYING3: [Errno 2] No such file or
directory:
'/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work-shared/gcc-linaro-4.9-r2014.11/gcc-linaro-4.9-2014.11/COPYING3'
WARNING: Could not copy license file COPYING3: [Errno 2] No such file or
directory:
'/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work-shared/gcc-linaro-4.9-r2014.11/gcc-linaro-4.9-2014.11/COPYING3'
WARNING: Could not copy license file COPYING3.LIB: [Errno 2] No such file
or directory:
'/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work-shared/gcc-linaro-4.9-r2014.11/gcc-linaro-4.9-2014.11/COPYING3.LIB'
WARNING: Could not copy license file COPYING3.LIB: [Errno 2] No such file
or directory:
'/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work-shared/gcc-linaro-4.9-r2014.11/gcc-linaro-4.9-2014.11/COPYING3.LIB'
WARNING: Could not copy license file COPYING.LIB: [Errno 2] No such file or
directory:
'/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work-shared/gcc-linaro-4.9-r2014.11/gcc-linaro-4.9-2014.11/COPYING.LIB'
WARNING: Could not copy license file COPYING.LIB: [Errno 2] No such file or
directory:
'/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work-shared/gcc-linaro-4.9-r2014.11/gcc-linaro-4.9-2014.11/COPYING.LIB'
WARNING: Could not copy license file COPYING.RUNTIME: [Errno 2] No such
file or directory:
'/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work-shared/gcc-linaro-4.9-r2014.11/gcc-linaro-4.9-2014.11/COPYING.RUNTIME'
WARNING: Could not copy license file COPYING.RUNTIME: [Errno 2] No such
file or directory:
'/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work-shared/gcc-linaro-4.9-r2014.11/gcc-linaro-4.9-2014.11/COPYING.RUNTIME'
ERROR: Function failed: do_configure (log file is located at
/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libgcc/linaro-4.9-r2014.11/temp/log.do_configure.26074)
ERROR: Logfile of failure stored in:
/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libgcc/linaro-4.9-r2014.11/temp/log.do_configure.26074
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common',
'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi', 'common']
| DEBUG: Executing shell function autotools_preconfigure
| DEBUG: Shell function autotools_preconfigure finished
| DEBUG: Executing python function autotools_copy_aclocals
| DEBUG: Python function autotools_copy_aclocals finished
| DEBUG: Executing shell function do_configure
| 0 blocks
| chmod: cannot access
'/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work-shared/gcc-linaro-4.9-r2014.11/gcc-linaro-4.9-2014.11/libgcc/configure':
No such file or directory
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at
/home/praveenk/work/poky-dizzy-12.0.1/build/tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/libgcc/linaro-4.9-r2014.11/temp/log.do_configure.26074)
ERROR: Task 692
(/home/praveenk/work/poky-dizzy-12.0.1/meta-linaro/meta-linaro-toolchain/recipes-devtools/gcc/
libgcc_linaro-4.9.bb, do_configure) failed with exit code '1'
== Progress ==
LLDB development
-- Got lldb-server executable running on aarch64 target but debug
connection not working [1/10] [TCWG-640]
-- Got lldb-server executable running on arm target [1/10] [TCWG-641]
-- Started collecting missing pieces for arm lldb linux run control
support [2/10]
-- Written wiki pages for LLDB developer process [1/10]
GDB Development
-- Started writing tests for arm-gdb instruction recording [0.5/10] [TCWG-677]
-- Started writing tests for aarch64-gdb instruction recording
[0.5/10] [TCWG-517]
Miscellaneous [3/10]
-- Trying out 96board network setup with powered usb ethernet dongle
-- Emails/Meetings etc
-- Sick Day on Friday 13th March
== Plan ==
More work for ARM and AArch64 support in LLDB
Do some more work on arm/aarch64 gdb instruction recording tests
== Progress ==
LLDB Development
-- Tried lldb-server cross build for AArch64 target on x86 host
[1/10] [TCWG-640]
-- Tried lldb-server cross build for ARM target on x86 host [4/10] [TCWG-641]
GDB Development
-- Started writing tests for arm-gdb instruction recording [3/10] [TCWG-677]
-- Started writing tests for aarch64-gdb instruction recording
[1/10] [TCWG-517]
Miscellaneous [1/10]
-- Some work on setting up 96board for testing lldb-server
-- Emails/Meetings etc
== Plan ==
More work for ARM and AArch64 support in LLDB
Do some more work on arm/aarch64 gdb instruction recording tests
* ASAN/TSAN run on 42 bit VA Aarch64 with 64 bit allocators (TCWG-634) (3/10)
Tried various allocator sizes in juno, still fails.
On amd-01, Debugging LLVM test failures in gdb.
* Emails, meetings. (2/10)
* Linaro 1-1 with christophe. status call.
* AMD meetings/event, 1-1 with AMD manager, status meeting.
* GCC mailing list.
* AMD internal meeting (4/10)
* Half day off on 12/3/2015(1/10)
== Plan ==
*Continue TSAN/ASAN support look why 64 allocator on juno is failing .
* Bug869
== Progress ==
Off sick [4/10]
Backporting [2/10]
. unexpected conflicts and test failures meant that previous attempts
were abandoned
. will try again for 2015.04
Benchmarking [1/10]
. one config failed, restarted in Jenkins
. accessing Jenkins benchmarks still requires help from Bernie due to
permissions
Misc [3/10]
. emails about bugs
. meetings
. verification of lab fixes
== Progress ==
* Linaro bugs (2/10)
#1325
* type promotion pass (zero/sign extension elimination) - TCWG-547 (5/10)
- tried to improve some of the aspects and made it more aggressive
- improved handling of CASE_CONVERT
- tried it on CoreMark and it reduces the number of instructions
in per object file basis.
- bootstrapped the latest improvement on x86-64 and regression tested
on x86-64, ARM and AARCH64. noticed few LTO failures on ARM and AARCH64.
Looking into it.
- Plan to run spec2k again
- Current version at linaro-dev/type-promotion-pass
(https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=refs/heads/linaro-dev/typ…)
* Misc (1/10)
- gcc-patchs and gcc-bugs list
* Public Holiday (2/10)
== Plan ==
* TCWG-620 and TCWG-547
== This week ==
* TCWG-619:
- Cross compiled chromium for ARM without LTO
- Ran into issues with native and ARM lto build of chromium
* GCC Modularization Project:
* TCWG-621:
- Begun refactoring sel-sched-ir.h
* TCWG-639:
- Fixed issue with header flattening script.
* Bugs:
- 1178: Another triage, got reviewed from Charles.
* Backports:
- r218232, r218525.
== Next week ==
* Continue investigating LTO build issues on ARM and x86.
* submit patch to 1178 upstream.
* Target hook conversion
== Progress ==
* Automation Framework (CARD-1378 4/10)
- Restarting more dead machines
- Discussing more infrastructure
- Investigating PDU deamon
* Maintenance (CARD-1833 4/10)
- Making the case for all table-gen files to be built
- This would allow us to create TargetDescription
- Which would ease target-specific knowledge on all tools
- And common up the parser for fpu/cpu/arch features
- Adding commit message guidelines to developer policy
* Background (4/10)
- Code review, meetings, discussions, etc.
- Discussions about CMake, options, etc
- Cleaning up gateway, moving LLVM services to llvm server
- Making serial connections work for LLVM machines
- Fiddling with HiKey board
== Plan ==
* Continue TargetDescription changes
* Continue PDU investigations
* Move serial to abe, so we can work around auth issues
# Progress #
* aarch64 gdb , TCWG-652, [6/10]
** TCWG-663: Patches are posted upstream for review. Bernie gives me a
pandaboard and set it up. I can do HW breakpoint testing for both
aarch64 and arm.
** TCWG-670: Patch is posted upstream for review. Takes some time
to understand aarch64 syscall name and number.
** Write some bash scripts to test my gdb patches.
* fsf gdb patch review [2/10]
** Review and approve catch syscall code refactor.
* misc [2/10]
** two meetings.
# Plan #
* Other cards under TCWG-652.
* Investigate on GDB/LLDB performance.
* TCWG-660: Teach ABE to import systemtap and build glibc with
--enable-systemtap.
--
Yao
The Linaro Toolchain Working Group (TCWG) is pleased to announce the 2015.03
engineering release of the Linaro GCC 4.9 source package.
Linaro GCC 4.9 2015.03 is the twelfth Linaro GCC source package
release in the 4.9 series. It is based on FSF GCC 4.9.3-pre+svn221341
and includes performance improvements and bug fixes.
With the imminent release of ARMv8 hardware and the recent release of the
GCC 4.9 compiler the Linaro TCWG will be focusing on stabilization and
performance of the compiler as the FSF GCC compiler. The Linaro TCWG provides
stable[1] quarterly releases and monthly engineering[2] releases.
Interesting changes in this GCC source package release include
* Linaro bugzilla PR fixed : #1149, #1291, #1314
* Updates to GCC 4.9.3-pre+svn221341
* Backport of PR tree-optimization/61607
* Backport of PR tree-optimization/64878
* Backport of PR bootstrap/63204
* Backport of PR ipa/63196
* Backport of PR tree-optimization/64083
* Backport of PR tree-optimization/64284
* Backport of PR middle-end/64246
* Backport of Abstract away marking loops for removal
* Backport of Sanity check removed loops
* Backport of [AArch64] Tighten predicates on SIMD shift intrinsics
* Backport of [AArch64] Wire up vqdmullh_laneq_s16 and vqdmullh_laneq_s32
* Backport of [AArch32/AArch64] Improve modeled latency between FP operations
and FP->GP register moves
* Backport of [AArch64] Adjust generic move costs
* Backport of [AArch64] Add range-check for Symbol + offset addressing
* Backport of [AArch64] Add vector pattern for __builtin_ctz
* Backport of [AArch64] Bics instruction generation for aarch64
* Backport of [AArch64] additional bics patterns
* Backport of [AArch64] Fix wrong-code bug in right-shift SISD patterns
* Backport of [Haifa Scheduler] Fix latent bug in macro-fusion/instruction
grouping
* Backport of [testsuite] Fix vaddl and vaddw tests
* Backport of [testsuite] revert changes on check_effective_target_arm_*_ok
* Backport of [testsuite] new set of Neon intrinsics tests
* Backport of [testsuite] fix vbic/vorn Neon tests
* Backport of [testsuite] Add explicit dependency on Neon Cumulative Saturation
flag
* Backport of [testsuite] Be more verbose, and actually confirm that a test was
checked.
* Backport of [testsuite] Add vld1_lane tests
* Backport of [testsuite] Add vldX_dup test.
* Backport of [testsuite] Add vmla and vmls tests.
* Backport of [testsuite] Add vmla_lane and vmls_lane tests.
* Backport of [testsuite] Add vtrn tests. Refactor vzup and vzip tests.
* Backport of [testsuite] Add vmlal and vmlsl tests.
* Backport of [testsuite] Add vmlal_lane and vmlsl_lane tests.
* Backport of [testsuite] Add vmlal_n and vmlsl_n tests.
* Backport of [testsuite] Add vqdmlal and vqdmlsl tests.
* Backport of [testsuite] Add vqdmlal_lane and vqdmlsl_lane tests
* Backport of [testsuite] Add vqdmlal_n and vqdmlsl_n tests.
* Backport of [testsuite] Add vsli_n and vsri_n tests.
* Backport of [testsuite] Add vsubl tests, put most of the code in common with
vaddl in vXXXl.inc.
* Backport of [testsuite] Add vsubw tests, putting most of the code in common
with vaddw
* Backport of [testsuite] Add vmovn tests.
* Backport of [testsuite] Add vmul_lane tests.
* Backport of [testsuite] Add vmul_n tests.
* Backport of [testsuite] Add vmull tests.
* Backport of [testsuite] Add vmull_lane tests.
* Backport of [testsuite] Add vmull_n tests.
* Backport of [testsuite] Add vqdmulh tests.
* Backport of [testsuite] Add vqdmulh_lane tests.
* Backport of [testsuite] Add vqdmulh_n tests.
* Backport of [testsuite] Add vqdmull tests.
* Backport of [testsuite] Add vqdmull_lane tests.
* Backport of [testsuite] Add vqdmull_n tests.
* Backport of [testsuite] Add vsubhn, vraddhn and vrsubhn tests.
* Backport of [testsuite] Add vmla_n and vmls_n tests.
* Backport of [testsuite] Add vpadd, vpmax and vpmin tests.
* Backport of [testsuite] Add vmovl tests.
* Backport of [testsuite] Add vmnv tests.
* Backport of [testsuite] Add vpadal tests.
* Backport of [testsuite] Add vpaddl tests.
* Backport of [testsuite] Add vmax, vmin, vhadd, vhsub and vrhadd tests.
The release tarball will be available on: http://releases.linaro.org/
Feedback and Support
Subscribe to the important Linaro mailing lists and join our IRC channels to
stay on top of Linaro development.
** Linaro Toolchain Development "mailing list":
http://lists.linaro.org/mailman/listinfo/linaro-toolchain
** Linaro Toolchain IRC channel on irc.freenode.net at @#linaro-tcwg@
* Bug reports should be filed in bugzilla against GCC product:
http://bugs.linaro.org/enter_bug.cgi?product=GCC
* Interested in commercial support? inquire at "Linaro support":mailto:
support(a)linaro.org
[1] Stable source package releases are defined as releases where the full Linaro
Toolchain validation plan is executed.
[2] Engineering source package releases are defined as releases where the
compiler is only put through unit-testing and full validation is not
performed.
Hi,
Linaro GCC 4.9 2015.01 source package has been respun and deployed on:
http://releases.linaro.org/15.01/components/toolchain/gcc-linaro/4.9
This package release contains two fixes for Linaro bugzilla's PR:
* #1291 - ICE (segmentation fault) on arm-linux-gnueabihf
* #1314 - ICE (in in expand_expr_addr_expr_1, at expr.c:7634) on
arm-linux-gnueabihf
You can find the original 2015.01 announcement below
Regards,
Yvan
---------------------------------------------------------------------------------------------------------------------
The Linaro Toolchain Working Group (TCWG) is pleased to announce the 2015.01
engineering release of the Linaro GCC 4.9 source package.
Linaro GCC 4.9 2015.01 is the tenth Linaro GCC source package release in the
4.9 series. It is based on FSF GCC 4.9.3-pre+svn219502 and includes performance
improvements and bug fixes.
With the imminent release of ARMv8 hardware and the recent release of the
GCC 4.9 compiler the Linaro TCWG will be focusing on stabilization and
performance of the compiler as the FSF GCC compiler. The Linaro TCWG provides
stable[1] quarterly releases and monthly engineering[2] releases.
Interesting changes in this GCC source package release include
* Linaro bugzilla PR fixed : #902
* Updates to GCC 4.9.3-pre+svn219502
* Backport of [AArch64] Support SISD variants of SCVTF,UCVTF
* Backport of [AArch64] Fix ICE in aarch64_float_const_representable_p
* Backport of [AArch64] Switch to sched-pressure by default.
* Backport of [AArch64] Add scheduler for ThunderX
* Backport of [AArch64] Remove crypto extension from default for cortex-a53,
cortex-a57
* Backport of [AArch64] doloop pattern for -fmodulo-sched
* Backport of [AArch32] Add execution tests of ARM REV intrinsics.
* Backport of [AArch32] Post-indexed addressing for NEON memory access
* Backport of [AArch32] Improve 64 bit division performance (serie)
* Backport of [AArch32] Revert 215321 backport.
* Backport of [AArch32/AArch64] Add ACLE 2.0 predefined macros
* Backport of PR tree-optimization/54742 - extend jump thread for finite state
automata
* Backport of PR target/61997 - cc1plus ICE with aarch64 target using PCH and
builtin functions
* Backport of PR target/63724 - Fix up BSL expander for floating point types
* Backport of [LRA] Relax one gcc_assert in lra-eliminate for fixed register
* Backport of Add clobber_reg function
Feedback and Support
Subscribe to the important Linaro mailing lists and join our IRC channels to
stay on top of Linaro development.
** Linaro Toolchain Development "mailing list":
http://lists.linaro.org/mailman/listinfo/linaro-toolchain
** Linaro Toolchain IRC channel on irc.freenode.net at @#linaro-tcwg@
* Bug reports should be filed in bugzilla against GCC product:
http://bugs.linaro.org/enter_bug.cgi?product=GCC
* Interested in commercial support? inquire at "Linaro support":mailto:
support(a)linaro.org
[1] Stable source package releases are defined as releases where the
full Linaro
Toolchain validation plan is executed.
[2] Engineering source package releases are defined as releases where the
compiler is only put through unit-testing and full validation is not
performed.
== Progress ==
* Linaro bugs (6/10)
#1291 #1293, #1314
* Home PC crashed and required hardware upgrade and software
re-installation (2/10)
* Improve register allocation for AArch64 (TCWG-620) - (1/10)
- preparations for benchmarking of proposed changes
* Misc (1/10)
- gcc-patchs and gcc-bugs list
== Plan ==
* TCWG-620 and TCWG-547
* ASAN/TSAN run on 42 bit VA Aarch64 with 64 bit allocator (TCWG-634) (5/10)
* Bug 869 (2/10)
* Bug 1266(1/10)
* Emails, meetings. (2/10)
* Linaro 1-1 with christophe. status call.
* AMD meetings/event, 1-1 with AMD manager, status meeting.
* GCC mailing list.
== Plan ==
* TSAN/ASAN support look why 64 allocator on juno is failing .
* Look at ASAN failures if 64 allocator is enabled on amd-01.
* AMD internal meeting on Tuesday and Wednesday
== Progress ==
* Automation Framework (CARD-1378 5/10)
- Setting up new servers
* Background (5/10)
- Code review, meetings, discussions, etc.
- Updating some LLVM dev scripts
- Adding tools checks to LNT
- EuroLLVM Paper selection
- LLDB/ARM meetings
- Bisecting lots of failures in all bots
== Plan ==
Go back developing LLVM for a change...
Juno cache effects - LDTS-1238 [6/10]
* Ran more experiments
* Cobbled together some gdb/python script to run perf stat within an
address range
* Becoming more confident in my hypotheses
catomics - TCWG-436 [1/10]
* Found and fixed some more sysroot benchmark bugs
* Kicked off a bunch of spec runs, waiting for the results to come back
Benchmark automation - TCWG-360 [1/10]
* A couple of post-lab-maintenance fixups
* Took a first look at result consistency with a broken run intended
for catomics
Misc - [2/10]
* Featuring the start of fixing juno-01
=Plan=
Finish fixing juno-01
Carry on looking at LDTS-1238, hopeful of confirming hypotheses
Analyse catomics results (assuming that they land)
Carry on with Jenkins, if time
== Issue ==
* none
== Progress ==
* Linaro Bugzilla: (5/10)
- #1149: 4.9-2015.01 miscompiles GCC trunk on aarch64-linux-gnu
* Backported upstream bug fix in 2015.01 re-spin branch and our 4.9 one.
- #1291: [4.9 Regression] ICE (segmentation fault) on arm-linux-gnueabihf
* Identified a set of upstream revision that fixe the issue
* Backported them in 2015.01 re-spin branch and our 4.9 one.
- #1314: [4.9 Regression] ICE (in in expand_expr_addr_expr_1, at expr.c:7634)
on arm-linux-gnueabihf
* Identified that it's a duplicate of an upstream bug on 4.9
branch (PR 61207)
which is itself a duplicate of an already fixed bug on trunk (PR 64896)
* Tested backport of the fix on on 4.9 branch.
* Release and Backports (4/10)
- Re-spin 2015.01 source release with fixes for Linaro bugs: #1149 and #1291
- Various supports of backporting activity
- Reviewed some backports
- Discussed our new release/maintenance policy
- Worked on Backflip improvements
* Misc (1/10)
- Various meetings
== Plan ==
* Backport PR 64896 fix into FSF 4.9 branch
* Backport/FSF Merge/Release duty
== Progress ==
Benchmarking 2015.02 [2/10]
. it turns out to be difficult to build previous releases with abe.sh
(bz#776, bz#1307)
. submitted patch to gerrit to improve abe.sh error handling
. benchmarks started on Jenkins
Backports [4/10]
. investigating incorrect merge discovered in review
. resolved... then found more conflicts with other backports
. need to redo backports
bug #1254 [1/10]
. reduced
. started investigating
misc [1/10]
. mailing lists
. meetings
== Plan ==
redo backports of 217440, 217885
start backports of 218021, 218534
bug#1254
vectorization investigation
look at benchmarking results from Jenkins