== Progress ==
* compiler-pass to widen computation (TCWG-547) - (7/10)
- ran into -std=gnu90 issue in compiling spec2k/2006 with the trunk
using the new infrastructure
- ran benchmarking but the results are not much different
- tried with -save-temps but the intermediates are gone. Not sure if
infrastructure cleans it
- setting up spec2k in nx aarch64 chroot for easy comparison of
intermediate values (asm and tree dumps)
- also plan to try benchmarking with widening pass enabled only for
unsigned type where BIT_AND_EXPR (zero_extend) is optimized well as
compared to new middle-end ZEXT_EXPR (which is not handled well yet) to
see if the difference is there.
* Improve register allocation for AArch64 (TCWG-620) - (1/10)
- Looked at the relevant patches and code
* https://bugs.linaro.org/show_bug.cgi?id=1291 (1/10)
* Misc (1/10)
== Plan ==
* TCWG-620 and TCWG-547
* https://bugs.linaro.org/show_bug.cgi?id=1291
* TSAN support for Aarch64 (5/10)
TCWG-642
Discussed on making -pie for -fsanitize=thread as default in GCC.
Learnt that LLVM sanitizers now support both -pie and non -pie mode.
Discussed the same issue with sanitizer's group. They asked me to
do -pie for aarch64 as first version. Pushed GCC changes to
linaro git.
TCWG-654
Discussed with Renato, moved to LLVM tree and woking on that.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64946.
TCWG-634
Ran ASAN tests which 32 bit allocator code now as default on amd-01.
/home/venkataramanan.kumar/LLVM/TSAN_port/Source/projects/compiler-
rt/lib/sanitizer_common/sanitizer_allocator.h:841
((res)) < ((kNumPossibleRegions)) (4193146, 524288)
I got similar error in TSAN and it went off when I switched to 64
bit allocator.
* Bug 869 - Wrote a pattern in match.pd to remove type promotion in
ABS_EXPR . Richard Beiner suggested to add ABSU_EXPR to take care of
signed overflows (3/10)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64946
* Emails, meetings. (2/10)
* Linaro 1-1 with christophe, maxim and Ryan.
* AMD meetings/event, 1-1 with AMD manager, status meeting.
* GCC mailing list.
== Plan ==
* TSAN/ASAN support look if 64 allocator is needed or not .
* LLVM build with local patches.
* Bug869.
* Misc and Meetings (AMD, LInaro)
== Progress ==
* Releases (CARD-1431 2/10)
- Spinning RC4, final, all green
* Buildbots (CARD-1823 1/10)
- Adding new quick Thumb2 non-NEON bot
- Adding new full self-hosting Thumb2 bot
* Libraries (CARD-1831 1/10)
- Trying to build a soft-float compiler-rt test-suite
* Sanitizers for AArch32/64 (CARD-1753 4/10)
- Investigating/fixing broken sanitizer bots (4 failures)
- Investigating other sanitizer failures on Junos
- More planning on TSAN, ASAN
* Background (2/10)
- Code review, meetings, discussions, etc.
- Reviewing the remaining EuroLLVM papers
- More LLDB planning
== Plan ==
* LLDB meeting with Google
* EuroLLVM final paper review meeting
* Continue building test-suite with Compiler-RT, libc++
* Continue help on ASAN/TSAN
* Try our first sprint planning...
# Progress #
* aarch64 gdb, TCWG-652, [5/10]
** TCWG-653: triage fails in aarch64-linux gdb testing, both native and
remote. Nearly done.
** TCWG-670: Clean up GDB testsuite for syscall catchpoint first.
Ongoing.
** TCWG-672: GDB can't unwind from glibc with the expected function name
if glibc is stripped. Nearly done.
** Committed two patches upstream fixing two fails on aarch64-linux
target.
** Clean up arm and aarch64 bug reports on sourceware.org bugzilla.
* fsf gdb patch review [4/10]
** Reviewed Omair's two process record GDB patches.
** Reviewed one patch may cause fails on remote testing.
* misc [1/10]
** 1x1 with Ryan.
** With Bernard's help, set up ssh access to linaro servers.
# Plan #
* All cards under TCWG-652.
* Move out of temporary apartment to a rented one on Friday.
--
Yao
Go away where ? ABE just uses whatever triplet you give it. I commonly use just arm-linux-gnueabi for example. If you don't specify 'none', it shouldn't appear anywhere. If it does, let me know and I'll fix it.
- rob -
-------- Original message --------
From: Christopher Covington <cov(a)codeaurora.org>
Date: 02/26/2015 2:52 AM (GMT+07:00)
To: linaro-toolchain(a)lists.linaro.org
Subject: Debian Multiarch Tuple Style Naming With ABE
Hi,
I recently built with ABE for the first time. It's pretty slick.
Is there a way to make the vendor string (the "none" in
"arm-none-linux-gnueabihf-*") go away? It breaks my scripts without appearing
to add value.
Thanks,
Chris
--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
_______________________________________________
linaro-toolchain mailing list
linaro-toolchain(a)lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Holiday Friday [2/10]
catomics - TCWG-436 [2/10]
* Fixed broken benchmark-against-sysroot code in scripts
* Built a lot of sysroots
Juno cache effects - LDTS-1238 [4/10]
* Quite a bit of reading and learning some more perf and other tools
* Formed a few hypothesis, started testing
* Looking promising, but I find these things often go wrong, so we'll see
Misc [2/10]
* Featuring first successful Jenkins run of all of SPEC2006
=Plan=
Make sure I've really fixed the last sysroot bug, actually run
benchmarks on catomics
Attempt to close out the cache effects issue
Carry on with Jenkins
Hi,
I recently built with ABE for the first time. It's pretty slick.
Is there a way to make the vendor string (the "none" in
"arm-none-linux-gnueabihf-*") go away? It breaks my scripts without appearing
to add value.
Thanks,
Chris
--
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
Hi,
I am trying to port the Boost.Context library (from www.boost.org) to aarch64 gcc and have come across a gnarly problem.
Boost.Context essentially does co-routine style context switching. It has a structure f_context which it uses to save and restore contexts. The structure f_context contains both integer (x0..xN) and floating point VFP (d8..d15) context.
The function jump_context switches contexts
typedef struct f_context *f_context_t
extern void jump_context(fcontext_t *old, f_context_t new, bool save_fp);
So this jumps to a new context returning the old context in *old. If save_fp is set the floating point context must be saved because the application uses floating point. Otherwise the save and restore of the floating point context may be ignored.
So, essentially, to save the old context it does
jump_fcontext:
# prepare stack for GP + FPU
sub sp, sp, #0xb0
# test if fpu env should be preserved
cmp w3, #0
b.eq 1f
# save d8 - d15
stp d8, d9, [sp, #0x00]
stp d10, d11, [sp, #0x10]
stp d12, d13, [sp, #0x20]
stp d14, d15, [sp, #0x30]
1:
# save x19-x30
stp x19, x20, [sp, #0x40]
stp x21, x22, [sp, #0x50]
stp x23, x24, [sp, #0x60]
stp x25, x26, [sp, #0x70]
stp x27, x28, [sp, #0x80]
stp x29, x30, [sp, #0x90]
However, there is a problem with this because gcc may store integer value in floating point registers around a function call.
So, I have no way of knowing whether it is actually necessary to save/restore floating point context.
Even worse applications using Boost.Context may be completely borken if they assume it is safe to call jump_context with save_fp == 0.
Any suggestions?
Ed.
== This week ==
* Released Linaro 4.8 and 4.9 February 2015 release (2/10)
* Vector Extensions Project (7/10)
- Design work on C++ classes
- Reviewed Boost.simd as alternative implementation
- Review of libvpx benchmark
* Misc. (1/10)
- Conference calls
- ARM required online training
== Next week ==
- ARM CodeGen conference in Cambridge
--
Michael Collison
Linaro Toolchain Working Group
michael.collison(a)linaro.org