# Progress #
* TCWG-1159, New design of GDB/GDBserver target description. [1/10]
Finish writing the commit log and changelog. Patches are posted.
* TCWG-1167, Test AArch32 GDB on AArch64 Linux kernel. [3/10]
Such configuration shows one regression. It is whether condition
checked failed UDF triggers Undefined Instruction Exception or not.
GDB's assumption is NO, but Peter M. told me that it is implementation
defined, so GDB has to handle both.
* gdb/objdump disassembler unification. Done. [1/10]
Commit the the left over patch.
* Pick up Alan H.'s C++ template patch, and post it again. Learned a
lot on C++ 11 default template parameter and SFINAE. Patch is
committed.
* Upstreams review. [3/10]
** Encourage people to build GDB with CLANG. Resist the objections
from other people, and write the "policy" about using other compilers
to build GDB.
** Review IBM's kernel-awareness v4 patches.
* Misc, [2/10].
# Plan #
Get chance to back to my interrupted works:
* TCWG-333, Fix gdb.base/func-ptrs.exp fails in thumb mode.
* TCWG-561, Handle unavailable memory during frame unwinding.
--
Yao Qi
== Progress ==
* Infrastructure/validation:
- still some random results, and still ssh connexion problems with
several machines
- improving abe-bisect script
* Benchmarking:
* GCC:
- 'deprecated IT-blocks' patch: looking at the generated code to
understand the regressions
* GCC upstream validation:
- reported a couple of regressions on trunk, a few bisects, helped
validating some ARM patches
- working on further reducing noise ("random" pass/failures)
- include qemu traces in the logs when a testcase aborts, to help debug
* misc (conf-calls, meetings, emails, ....)
The Linaro Toolchain Working Group (TCWG) is pleased to announce the 2017.06
snapshot of Linaro GCC 6 and 7 source packages.
o The GCC 7 series introduced an ABI change for ARM targets by fixing a bug
(present since GCC 5, see link below) that affects conformance to the procedure
call standard (AAPCS). The bug affects some C++ code where class objects are
passed by value to functions and could result in incorrect or inconsistent code
being generated. If the option -Wpsabi is enabled (on by default) the compiler
will emit a diagnostic note for code that might be affected by this ABI change.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77728
For an explanation of the changes please see the following website:
https://gcc.gnu.org/gcc-7/changes.html
o Linaro GCC 7 monthly snapshot[1] is based on FSF GCC 7.1+svn249190 and
includes performance improvements and bug fixes backported from mainline GCC.
The contents of this snapshot will be part of the 2017.08 stable[2] quarterly
release.
This snapshot tarball is available on:
http://snapshots.linaro.org/components/toolchain/gcc-linaro/7.1-2017.06/
Interesting changes in this GCC source package snapshot include:
* Updates to GCC 7.1+svn249190
* Backport of [Bugfix] [AArch32] PR target/71607 Fix ICE when loading constant
* Backport of [Bugfix] [AArch64] PR target/80671
config/aarch64/cortex-a57-fma-steering.c:416: bad statement order
* Backport of [Bugfix] PR tree-optimization/79697 unused realloc(0, n)
not eliminated
* Backport of [Bugfix] PR tree-optimization/80613 ICE in
is_gimple_reg_type with -O2
* Backport of [AArch32] Add a new target hook to compute the frame layout
* Backport of [AArch32] Add fuchsia support to libgcc
* Backport of [AArch32] FreeBSD arm libgcc config.host
* Backport of [AArch32] Model Cortex-A53 load forwarding
* Backport of [AArch64] Accept more addressing modes for PRFM
* Backport of [AArch64] Add aes and sha reservations for Thunderx2t99
* Backport of [AArch64] Add crc reservations for Thunderx2t99
* Backport of [AArch64] Improve float to int moves
* Backport of [AArch64] Set jump alignment to 4 for Cortex cores
* Backport of [AArch64] Tighten move constraints for symbolic operands
* Backport of [Misc] Check the alternate cost model just as costs_lt_p
* Backport of [Misc] Record equivalences for spill registers
* Backport of [Testsuite] [AArch32] Only test
tls-disable-literal-pool.c if target supports native TLS
* Backport of [Testsuite] [AArch32] Replace absolute line numbers in
gcc.target/arm
* Backport of [Testsuite] [AArch64] Replace absolute line numbers in
gcc.target/aarch64
o Linaro GCC 6 monthly snapshot[1] is based on FSF GCC 6.3+svn249140 and
includes performance improvements and bug fixes backported from mainline GCC.
This snapshot contents will be part of the 2017.08 stable[2] quarterly release.
This snapshot tarball is available on:
http://snapshots.linaro.org/components/toolchain/gcc-linaro/6.3-2017.06/
Interesting changes in this GCC source package snapshot include:
* Updates to GCC 6.3+svn249140
o 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]. Source package snapshots are defined when the compiler is only
put through unit-testing and full validation is not performed.
[2]. Stable source package releases are defined as releases where the
full Linaro Toolchain validation plan is executed.
== Progress ==
LLD
- Committed refactoring patches to enable long range thunks. This
should unblock progress towards upstreaming patches.
- Rebased and sent out for review first patches in series. Expecting
slow but steady progress as I hope to not need much more large scale
refactoring.
== Plans ==
Compiler-rt
- Investigated cross-compilation and testing via qemu user mode
emulation. It seems to be possible to do so, although fiddly to set up
Plans for this week:
- LLD long range thunks
- Build up a task list for compiler-rt
- Likely take Friday on holiday
== Progress ==
o Linaro GCC/Validation (7/10)
* Completed and released 7.1-2017.05 release
* Preparing backports for 2017.06 source snapshot
* Checked upstream status w/r to merge regression observed: issue fixed
* Investigating mingw32 libgomp build issue
* Switched abe/stable to abe/tested branch
o Misc (3/10)
* Various meetings and discussions.
== Plan ==
o 2017.06 snapshot
o Fix libgomp problem and continue on re-association
== Progress ==
* [ARM GlobalISel] Support AND, OR, XOR [TCWG-1157] [2/10]
- Committed upstream
* [ARM GlobalISel] Fix arm-irtranslator test [TCWG-1146] [1/10]
- Committed upstream
* [GlobalISel] Remove the G_SEQUENCE node [TCWG-1138] [1/10]
- Removed the G_SEQUENCE node from the ARM backend
* [ARM GlobalISel] Support mod [TCWG-1105] [2/10]
- Have some patches downstream for handling this
- Not sure it's the best way to go, so I've been asking for some
guidance before moving forward with it
* [Helpers] Add "push" capability [TCWG-1141] [2/10]
- Almost ready, will send a pull request next week
* Misc [2/10]
- Mailing lists, meetings, buildbot monitoring
- Opened a backport request for Ubuntu Xenial binutils for an lld
bug that is affecting our buildbots
== Plan ==
* More GlobalISel
* Check if our internal buildmaster works now, try to setup some buildbots
* One day off on Monday [2/10]
# Progress #
* GDB 8.0 is released! TCWG-1050. Done.
* GDB target description changes. [5/10]
It is needed for adding SVE in GDB. Change GDB target
description, and start from x86-linux. The more I write
the code, the more right I believe the change is. Patches
are done, but still need to complete commit log, changelog,
and polish the code.
Write an abstract about it for GNU Cauldron. Spend some time
thinking about a good title.
* Upstreams review. [1/10]
** Review some Alan H.'s patches.
** Review the OpenRISC patches.
* Misc, [2/10]
** Follow up the OpenOCD work. Create two epics for the following
work.
** Meetings.
# Plan #
* Post my target descriptions changes upstreams.
* Post some leftover patches about GDB and OBJDUMP disassembler
unification.
--
Yao Qi
Short week (Monday off)
== Progress ==
* Infrastructure/validation:
- reviews
- noticed ~random results in one binutils test on apm/tk1, didn't
understand the problem yet. Manual runs all succeeded :(
* Benchmarking:
- comparison script/job
- reviews
* GCC:
- benchmarking old 'deprecated IT-blocks' patch. Seems to confirm
large regressions on some benchmarks, and non-functional on at least
one bench.
- sent updated testsuite patch to support -march=armv5t runtestflags
after dejagnu update
- testing: checked a config --with-cpu=arm10tdmi instead of forcing
-march-armv5t via runtestflags, to see how the validation results
differ: not much, so if my previous patch is not accepted, I might
change the configurations I use for non-regression testing
- reported a couple of regressions on trunk
* misc (conf-calls, meetings, emails, ....)
Progress
- Long range thunks
Committed a couple of refactorings on .ARM.exidf and SHF_LINK_ORDER
support. With luck final patch for SHF_LINK_ORDER will be approved
next week
Submitted patches to convert existing Thunk Implementation to use
InputSectionDescriptions. Hopefully these ones are broken down into
small enough parts for upstream to look at.
- Tracked down https://bugs.llvm.org/show_bug.cgi?id=33136 libc++
failing ~100 tests with std::bad_cast exception when built in release
mode. Was down to global-merge incorrectly merging globals that were
not DSO local. Looks to have been fixed quickly
- llvm-mc
Helped out with D33436 review on how to do interworking branches in assembler
D33492 accepted, will commit next week.
Plans:
- Long range thunks
Continue with slow progress towards upstreaming
- Investigate compiler-rt