Hi Guys,
I have two questions:
(1) I have download gcc-4.9 tool chain from
http://releases.linaro.org/14.08/components/toolchain/binaries.
The kernel for the release
(http://releases.linaro.org/14.08/components/kernel/linux-linaro) is
3.16. So can we assume the kernel headers found in the tool chain
installation from the link above belongs to linux version 3.16?
(2) Also, I ubuntu wiki indicates that starting with Ubuntu 12.04 they
are using linaro gcc packages for arm64
(https://wiki.ubuntu.com/ToolChain). Is there an easy way to find what
linaro-release (for tool chain) will be compatible with Ubuntu 14.10
aarch64 image?
Thanks,
Aravind
--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
Short week (off Thu/Fri - 4/10)
== Progress ==
* GCC trunk (1/10)
- investigated bare-metal broken builds for aarch64 and arm
(--with-mode=thumb)
Setting LDFLAGS_FOR_TARGETS=-specs=rdimon.specs fixes the
libstdc++ build problem for aarch64. Not sure if that's expected.
* Neon intrinsics tests (2/10)
- submitted a new set of tests for review
* 4.8-2015.04
- branch merge committed after validation
* Validation (1/10)
- looking at tests instabilities
* Misc (2/10)
- meetings, conf-calls, emails, ....
== Next ==
* Neon intrinsics tests
* GCC trunk/bare metal
* Validation
== Progress ==
LLDB development
-- Finished most of work for ARM watchpoints and hardware breakpoints
[3/10] [TCWG-770]
-- Added hardware breakpoint handlers for AArch64 [1/10] [TCWG-771]
-- Debugging for ARM watchpoints not hitting the hardware watchpoint
Set/Clear handlers. [3/10] [TCWG-770]
-- Setting up development environment on Google Nexus 7 Android device. [1/10]
Miscellaneous [2/10]
-- Meetings, emails, discussions etc.
-- Submission of French visa application
== Plan ==
LLDB development
-- Submit ARM and AArch64 hardware breakpoint and watchpoints code for review
-- Fix issues with hardware watchpoints and try to run tests on Nexus 7
-- Figure out debugging using gdb on Nexus 7
Miscellaneous
-- Travel to Islamabad for visa interview, out of office on
wednesday 13th May 2015.
-- Half day out of office on Monday 11th and Tuesday 12th May due to
power outage in the area.
Short week: Friday off
== Progres ==
* Linaro-GCC 4.8-2015.04
- have to redo the fsf-4.8 branch merge
- results stability issue, probably caused by a race condition in
the testsuite similar to one already fixed by Maxim
* Validation
- a few updates to our jobs on ci.linaro.org
* Neon intrinsics tests
- resumed port of existing testsuite to GCC
* Misc
- meetings, conf-calls, emails, ....
== Next ==
Short week (Thu/Fri off)
* Linaro-GCC-4.8-2015.04
* Neon intrinsics tests
Friday off (WWII Memorial Day)
== Issue ==
* none
== Progress ==
o Upstream GCC (4/8)
* [TCWG-762] - GCC Maintenance
- PR64208 (iWMMXT LRA bug):
Committed in trunk.
- PR65924 (ICE on arm-none-eabi):
Fixed and committed at rev. 22572
* Flags for Cortex-a53 erratum #84341 workaround:
- Committed in trunk
- To be backported into FSF 5.1 and 4.9 branches
o 2015.04 re-spin (2/8)
* Snapshot tarball deployed
o Misc (2/8)
* Various meetings
* Reviewed and validated a libunwind ARM patch
* Played a bit with docker AArch64 image (based on UMEQ)
https://registry.hub.docker.com/u/mickaelguene/arm64-debian/
== Plan ==
- Short week (off Thu, and Fri)
- Continue upstream pending work
(Public) Holiday [2/10]
Benchmark automation - TCWG-360 [6/10]
* More unit tests
* Refactoring - test writing is an effective spotlight
* Experimented with LAVA log streaming as a 'listener' replacement
** Reduces complexity, for (possibly insignificant) costs in
generality and scalability
* Gave some thought to results storage, benchmarking of restricted targets
Misc [2/10]
=Plan=
Pick a direction on streaming vs listeners, write down the reasoning
Follow up (close out?) results storages and restricted targets
Write more tests, refactoring where appropriate
Holiday [2/10]
Benchmark automation - TCWG-360 [5/10]
* Finished rolling backbench patches into review
* Submitted some test suite patches to reduce the number of untested cases
* Began writing tests for benchmarking in general
Misc [3/10]
== 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