== Progress ==
LLDB Chromebook Test Stability [TCWG-563] [3/10]
-- Failures reduced to 15 fails and 4 errors after fixing stepping bug.
-- Investigated remaining issues some of them are known issues and
others will need further investigation.
LLDB ARM Thread Stepping Problem [TCWG-566] [5/10]
-- Problems caused because incorrect reporting of PLT entry size set by linker.
-- Submitted a fix after analysis that logical size of PLT entry
should be greater than 4bytes.
-- Fix accepted and committed upstream.
LLDB Buildbot Setup [TCWG-241] [1/10]
-- Random change in results finally caught. It was due to inconsistent network.
-- Progress halted to fix arm-linux-gnueabihf bugs.
Miscellaneous [1/10]
-- Meetings, emails, discussions etc.
== Plan ==
LLDB Chromebook Test Stability [TCWG-563]
-- Continue to resolve and investigate chromebook test failures.
LLDB Buildbot Setup [TCWG-241]
-- Start AArch64 tester evaluations.
Progress:
- On holiday all week, at ACCU conference. I've put some highlights at
the end of the message.
- Did some more investigation into TCWG-466 ADRL support in integrated
assembler during breaks.
-- Not looking good, to do this properly bumps up against a lot of
design decisions and restrictions made by the LLVM assembler (designed
as compiler target, not to be user friendly).
-- There are ways it could be implemented with restrictions, but it is
debateable whether it is worth doing at all.
-- On the plus side I've got a much better idea of how the assembler
works and what restrictions exist on each stage of the journey from a
line in the .s file to emission in the object. Will add some comments
to the LDR r0, =expr TCWG as well.
-- On the negative side the :upper16: and :lower16: operators for MOVT
and MOVW don't look to be correct in the presence of addends. Will
need to investigate further to see what the scope of the problem is.
Plan:
- Dump results of TCWG-466 investigation into Jira.
- Take a look at and post a comment on Adhemerval's revised TLS patch,
even if it is just looks fine in the hope of pushing it forward a bit
more.
- Catch up with Renato's scripts and documents for LLVM sub-group.
- Work out what to do with TCWG-466, if the answer is put it down,
find something else to look at.
ACCU Highlights/Report:
Tough stuff in modern C++
A deep dive into some of the newer areas of C++ such as:
- rvalue references and forwarding (universal) references
- How to use SFINAE (mostly std::enable_if) to select algorithms
optimised for particular template instantiations
- Variadic templates. Including all sorts of strange ways to (ab)use
expansion of parameter packs.
C++ WG21 SG14 Gaming and low-latency study group
- A new study group aiming to represent the gaming (primarily), but
also embedded and high frequency trading concerns.
- Motto seemed to be make sure "Don't pay for what you don't use" is enforced.
Most interested in:
-- No exceptions configurations
-- No RTTI
-- More performance out of the STL (see EA STL
https://github.com/electronicarts/EASTL)
-- Add ring buffers and support for unitialised memory, fixed point
numbers, flat-map, standardised simd vector types
Using sentinels
- An example of how using two sentinels in an implementation of
std::partion speeds up the algorithm by saving comparisons. Can speed
up quicksort by a few percent
Constexpr in C++14
- Example showing how you could build a string to enum map, operating
entirely at compile time, and its subsequent negative effects on
compile time!
Concepts Lite
- Concepts missed the C++17 standard, this presentation went into the
current Technical Standard (optional) and how concepts would likely be
implemented in C++(20?)
- Not surprising to see that concepts still missed C++17 as there is
only one implementation and one non-trivial use case (ranges) and
there are still unresolved questions to be answered.
Introduction to Julia
- Really a comparison of Julia to the author's favoured language of common lisp.
- Was impressed at how "lispy" Julia was whilst retaining high performance.
- Liked the mathematical syntax
- Didn't like the python like parts that seemed to be added to try and
get people to migrate from python, but were non "lispy".
# Progress #
* TCWG-545, patches are committed. Done. [3/10]
* TCWG-167, ARM reverse debugging bug fixes. All test fails are
fixed. Done. [2/10].
* PR 19947. The fix is approved, but the patch triggering the bug
needs update. [2/10]
* Help to fix broken ARM GDB after C++ switch. [2/10].
GDB mainline is a C++ program in default. Exception
handling in GDB is broken on non-x86 host (ARM, AArch64, AIX, at
least) because readline (C library) calls C++ GDB code, but exception
unwinding can't cross the C function ("foreign frame"). The problem
is fixed by catching all exceptions before return to readline, and
re-throw them after return from readline back to GDB.
* Misc, [1/10]
** Hack QEMU so that I can run gdb regression testsuite with qemu-arm.
# Plan #
* TCWG-518, rebase patches on mainline, test, and post patches if
nothing wrong.
* PR 19947, TCWG-561,
* TCWG-547
--
Yao
== Progress ==
o Extended validation (5/10)
* Created new extend validation job which handles native/cross
validation and benchmarking.
* Identified and discussed dejagnu Linaro branch issue.
o Upstream GCC (2/10)
* Start to look at libatomic ARMv8.1 support
o Misc (3/10)
* Various meetings
* Support team members on benchmarking and validation.
== Plan ==
o Continue on extended validation and Libatomic
== This Week ==
* LTO (5/10)
a) Section anchors
- another wasted prototype: http://pastebin.com/5MXFqrZY
- will follow Richard's suggestion to put variable in partition that
references it most, we can make this smarter incrementally if required.
b) Retested patch for lto-max-partition
c) Retested increase_alignment pass patch and wrote test cases for it.
* Validation (2/10)
a) Script to build chromium
- works with armhf (with assumptions about my environment)
- issues with gclient sync failure which in turn does not generate
LASTCHANGE file causing
build to fail.
* Public Holiday (2/10)
- Mahavir Jayanti
* Misc (1/10)
- Meetings
== Next Week ==
- LTO: section anchors, post patches upstream for lto-max-partition
and increase_alignment.
- TCWG-319: Look at why armeb is failing to vectorize test-cases.
- Validation: chromium
== This week ==
* Bugzilla 67321 - [ARM] Exploit Wide Add operations when appropriate (1)
- Re-based to GCC 6, re-validated and committed upstream
* Bugzilla 70008 - [ARM] Reverse subtract with carry can be generated in
thumb2 mode (1)
- Re-based and re-validated
- Need to create new bug as problem description does not match issue
* Bugzilla 70089 - ARM/THUMB unnecessarily typecasts some rvalues on
memory store (3/10)
- Developed new patch for arm that detects failures with negative numbers
- Debugging failures where constant is too large
* TCWG-247 - Create Validation Job to run on GCC Trunk Commit (3/10)
- Fleshed out additional portions of script and submitted for code review
- Still issues to be resolved in script as noted in git review
* Misc (2/10)
- Meetings
- Multiple interactions with ARM IT to configure and setup new laptop
== Next week ==
* TCWG-247
- Finish script
* Bugzilla 70089 - ARM/THUMB unnecessarily typecasts some rvalues on
memory store
- Finalize arm patch and validate
* Bugzilla 70008 - create new bug and submit upstream patch
* 3 days off
== Progress ==
* Validation:
- fixed ABE master and stable branches to use 'ssh -t' instead of
'ssh -tt' when cross-testing
- trying to assert master vs stable before the array branch merge,
noticed differences on armv8l
- created linaro-local/stable Dejagnu branch (currently a copy of
master). Prepared ABE config patches to use it.
* GCC
- infrastructure problems (ST compute farm), leading to a lot of
noise in the validations (and wrong regression reports upstream)
- enabled gcc-6-branch monitoring
- added GCC-6 tab to the backports spreadsheet
* Support
- Windows-hosted toolchain crashes: it seems the builders we use to
make the release run Jessie and not Trusty. Tried to rebuild a
toolchain in a Jessie chroot, but the script failed (works under
Trusty)
* Misc (conf-calls, meetings, emails, ...)
== Next ==
* Validation
- check that using linaro-local/stable Dejagnu branch works well
- create validation reference points before array branch merge
- understand/fix armv8l validation differences between master/stable
ABE branches
* GCC
- trunk monitoring, report regressions if needed
- more intrinsics tests
* Support
- Windows-hosted toolchain bug
* Snapshots
- prepare a few backports for our gcc-5 branch
* Cortex-strings update
== Progress ==
* Inline assembly constraints support for ARM [TCWG-560] [1/10]
- Started investigating Bug24071
* Intro to LLVM buildbots [1/10]
- Got accustomed to the buildbot monitoring page
- Learned how to connect to the bots/perform really basic maintenance
* Misc [8/10]
- Onboarding checklists, policies, meetings etc [6/10]
- Laptop setup [2/10]
== Plan ==
* Inline assembly constraints support for ARM [TCWG-560]
- More investigations for Bug24071
* Misc
- Finish reading Octopus policies
- Review scripts for working with LLVM
Hi All,
I don't whether this is the right community mailing list to post
support or not. Please correct me if i am wrong.
I am trying to cross compile gcc to ARM as static binaries and as part
of this, i am facing below issue. My build system is Ubuntu and using
[1] gcc branch. Let me know what i can share more information to you.
arm-linux-gnueabi-g++ -static -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE
-fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
-pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings
-DHAVE_CONFIG_H -static-libstdc++ -static-libgcc -static -pthread -o
xgcc gcc.o ggc-none.o \
c/gccspec.o libcommon-target.a \
libcommon.a ../libcpp/libcpp.a
../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a
../libdecnumber/libdecnumber.a
gcc.o:(.rodata+0x5acc): undefined reference to
`host_detect_local_cpu(int, char const**)'
collect2: error: ld returned 1 exit status
make[2]: *** [xgcc] Error 1
[1] svn://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_8-branch
--
Thanks & Regards,
M.Srikanth Kumar.
== Progress ==
LLDB Buildbot Setup [TCWG-241] [1/10]
-- Created a new factory for LLDB buildbots. Halted plan to migrate
till turning chromebook build green.
LLDB Chromebook Test Stability [TCWG-563] [3/10]
-- Investigated some failures some of them were fixed by a systemZ
support large patch set.
-- Failures reduced to 36 locally with some tweaks. Buildbot still
showing random results.
LLDB ARM Thread Stepping Problem [TCWG-566] [5/10]
-- Only happening on Arm linux targets.
-- Spent good bit of time debugging this issue. There are multiple
problems but root cause is same.
-- Initial investigation reveals frame unwinding issues from .plt section.
Miscellaneous [1/10]
-- Meetings, emails, discussions etc.
== Plan ==
LLDB ARM Thread Stepping Problem [TCWG-566]
-- Further debugging and investigation of this issue.
-- Figure out a fix for stepping problem on arm linux.