== Progress ==
* Fixed remote testing via Cbuildv2 (TCWG 324 - 3/10). Currently it
supports multiple build farms, it uses my local hardware and the
TCWG build farm, and when run via Jenkins it uses the TCWG build
farm.
* Got qemu-aarch64 built and working, added to the DejaGnu site.exp
file used by Cbuildv2, so now aarch64 execution tests actually
work. Then cloned qemu-aarch to the x86_64 tcwg build farm
machines so Jenkins can use it. (TCWG 393 - 3/10)
* Meetings and misc. (4/10)
- Worked on LCA14 presentation.
- Write documentation on how to tweak the config file for DejaGnu
used by Cbuildv2 for remote test execution.
- Got Gerritt and Jenkins integrated (thanks Paul!) so merge
requests fire up Jenkins to do builds on everything in the TCWG
build farm.
- Had ITS create a new list 'tcwg-test-results', which soon will
get buid failure notifications from Jenkins and any test
regressions.
- Added support for emailing test results to Cbuildv2.
== Plan ==
* Test the Gerrit/Jenkins integration.
* Improve new test analysis script to compare builds from more than
the same day, since now some test runs take 32hours with all the
execution tests running on a chromebook an Beagle Board.
* Travel to Connect!
== Issues ==
* Somebody needs to upgrade the crouton install on all our
chromebooks, as the current version won't build GCC native.
== Progress ==
* IAS (TCWG-377)
- Abandoning softvfp implementation, we should not use it
- Both softvfp and dwarf flags went back to kernel/android
- Macro issue has been solved, IAS is now Gold!
- Still doesn't compile the kernel, though... ;)
- Discussions about inline assembly bailing on asm garbage
* AArch64 (TCWG-387)
- Trying to get the build working and passing tests
- Some worries about config.guess updates (license)
- Commented out some old JIT tests, they will never work
- Memory allocation failures look real bugs, though
- At least Five real bugs in test-suite
* Background
- Patch reviews
- Further discussions about Dwarf vs. EH unwind tables
- Discussing vectorizer pragmas with GCC list
- Reviewing EuroLLVM14 papers
- Helping Rob upgrade TCWG Chromebooks
* Time
- CARD-862 8/10
- Others 2/10
== Plan ==
* Take a look at Compiler-RT
* Check some of the AArch64 errors
* Maybe EH/unwind issues
* Connect
Hi,
I finally got around to checking the attached patch for the
https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1270789
I noticed attached patch causes regression for pr38151.c in gcc test-suite.
A reduced test-case that triggers this is:
static unsigned long global_max_fast;
int __libc_mallopt (int param_number, int value)
{
__asm__ __volatile__ ("# %[_SDT_A2]" :: [_SDT_A2] "nor"
((global_max_fast)));
global_max_fast = 1;
}
In this regard I have couple of questions:
1. Is the in-line asm valid? Look ok to me.
2. For the pr38151.c regression, asm diff is as shown below.
< add x0, x0, :lo12:.LANCHOR0
< ldr x0, [x0]
---
> ldr x0, [x0,#:lo12:.LANCHOR0]
This causes:
pr38151.c:(.text+0x10c): relocation truncated to fit:
R_AARCH64_LDST64_ABS_LO12_NC against `.rodata'
collect2: error: ld returned 1 exit status.
If I however increase the alignment of .rodata where .LANCHOR0 is
defined, this passes. Is alignment of BITS_PER_UNIT valid for
SYMBOL_REF? If I change it as I am doing this attached patch, is there
anything else I need to do.
Thanks,
Kugan
Hi Linaro'ites
We have upgraded eglibc to 2.19 in OpenEmbedded and I started to notice
WARNING: No recipes available for:
/home/kraj/angstrom/sources/meta-linaro/meta-linaro-toolchain/recipes-core/eglibc/eglibc_2.18.bbappend
NOTE: Resolving any missing task queue dependencies
And it seems in this bbappend the SRC_URIs are overridden to point to a Linaro
release of eglibc
I wanted to know if there is a 2.19 head for linaro eglibc being created ?
in that case that bbappend needs fixing too.
Thanks
-Khem
Ganesh,
Thank you for your email - please note this question is best directed
at linaro-toolchain(a)lists.linaro.org where it is more likely to get
picked up quickly.
Our general rules for benchmarking are to use -mcpu=cortex-a## -O3 as
the compiler flags (where ## is the particular CPU you are interested
in).
Linaro's philosophy is to try and get the best results possible that
normal users will see, we don't go looking for 'magic' options that
may give better performance on one benchmark, but not in general.
Thanks,
Matt
On 20 February 2014 09:22, Gopalasubramanian, Ganesh
<Ganesh.Gopalasubramanian(a)amd.com> wrote:
> Hi,
>
> We would like to run some benchmarks in the foundation model.
> I like to know which is the best option-set (GCC compiler options) that the linaro community recommends for aarch64.
>
> Regards
> Ganesh
>
--
Matthew Gretton-Dann
Linaro Toolchain Working Group
matthew.gretton-dann(a)linaro.org
== Progress ==
- vectorizer (7/10)
- Looked into vectorizer target-hooks
- enablement of half-float for vectorising; dropped the patch after
discussing
- Started analysing code generated with unlimited model
- gcc 4.8 regression (1/10)
- Built Novemnebr and December release (native with system libc)
- Ran spec2k fp. Can see regression for ammp with -O3 (with
-march=armv7-a and -mthumb)
-Started bisecting
- Chromebook reset-up (2/10)
- SD card died and setup again
- Using hdd for gcc testing
== Plan ==
- Check ARMv5 regression for unaligned access
- Look into vectorizer cost model/benchmarking
Richard,
I found some emails about you implementing softvfp back in 2003, and
I'd like to know what is the expected behaviour when it conflicts with
the target triple, for example:
-triple arm-linux-gnueabihf + -mfpu=sofvfp+vfp
In this case, in LLVM, the triple sets "-float-abi=hard" but the fpu
would set "+soft-float-abi", which are contradictory flags.
Is that case even possible? If so, what's the expected behaviour? Soft
or hard float?
Do the extra flags always override the triple behaviour? Is it
expected that *every* compiler flag will work on a
last-seen-sets-behaviour manner?
cheers,
--renato
== Week of February 10th ==
- Reproduced STREAM performance regression. Started investigation. (3/10)
- Setup development environment on HP Chromebook 11. (3/10)
-- Chrome OS + crouton + ubuntu 12.04 + ppa/chromebook-arm -- produced a nice dev board environment.
- Continued account setup and preparations for Connect. (2/10)
- Misc. (2/10)
-- Various meetings.
-- Volunteered as admin for GCC's GSoC 2014. Filled in the application, started to stir up buzz in the GCC community.
== Week of February 17th ==
- Continue investigation of STREAM performance regression.
- Prepare FSF GCC 4.10 presentation for Connect.
- Look more into how LAVA does things and how to customize rootfs'es for boards.
-- In particular I'm interested in how to boot rootfs with matching kernel and linux-tools (perf is what I need) with ssh server on keystone board.
--
Maxim Kuvyrkov
www.linaro.org
== Progress ==
* Updated, tested and re-submitted patch for arm native
watchpoint/hwbreak rework. [2/10]
* Updated, split-up and tested patches for process record ASIMD, VFP
etc support. [TCWG-251] [TCWG-252] [3/10]
* Tried setting up gdb for aarch64, no luck yet. [TCWG-389] [1/10]
* Investigation of work required for catchpoints support for remote
gdb and gdbserver. [TCWG-263] [2/10]
* Study armv8 instruction set for record replay support. [TCWG-389] [2/10]
== Plan ==
* Follow up on upstream patches.
* Study aarch64 code and create task breakdown for record/replay
support. [TCWG-389]
* Setup gdb for aarch64 and try to run a demo application. [TCWG-389]
* Write how-to for using scripts to compare two gdb testsuite runs. [TCWG-96]
* Out of office on Tuesday and Wednesday for follow up on Macau visa
application.
== Issues ==
* none
== Progress ==
* 4.8 2014.02 Engineering release. (3/10)
* TCWG-58 : AArch64: Enable libsanitizer (2/10)
o re-based christophe's patch on fresh LLVM sources.
o committed in LLVM (Thanks Renato for your help)
o Progress stopped on this card until 4.10 GCC is opened
* LRA on AArch32:
o TCWG-343 : Make LRA the default for the ARM backend (0/10)
- No progress this week on my side.
- Vladimir upstreamed a fix for Thumb code size regression
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59535
o TCWG-345 : Analyse performance of LRA for ARM. (1/10)
- re-run Spec2K on Cortex-a15.
* Misc:
o LCA'14 : AArch64 toolchain status session. (1/10)
o Support Christian Bruel in his Linaro ramp up. (1/10)
o Various meetings. (2/10)
== Next ==
* Continue the on-going tasks
* backports review
== Issues ==
* None
== Progress ==
* Take care lp: 1270040, lp:1278337 and Beagleboard "Abort" issue.
* Respawn 2014.01 release to use newlib-linaro-2.1.0-2014.02 for
baremetal toolchains
(http://cbuild.validation.linaro.org/binaries/2014.01-01/)
* Test codes to duplicate shared compares to get more conditional
compares. Fix the bootstrap issue. But the latest test does not show
performance improvement in Spec2K.
* Rebase and test the CCMP patch.
* Read document about aarch64 CCMP/CCMN instructions and write
codes/patterns to generate the instructions. Test is ongoing.
== Plans ==
* Ccmp for AARCH64.
== Progress ==
* Figure how to have tcwgweb and cbuild-tools process the test
results from Jenkins and produce the diffs for comparison.
(TCWG-391 6/10)
* Wrote script to convert Jenkins produced data files to tcwgweb format.
(TCWG-391 1/10)
* Meetings and misc. (3/10)
- Worked on LCA14 presentation.
== Plan ==
* Continue fighting with tcwgweb to run test comparisons for Jenkins
builds. TCWG-391)
* Now that SSH is setup correctly in the TCWG build farm, GCC
testing tries to execute the remote tests, but hit's an error in
DejaGnu, which needs to be debugged and fixed. (TCWG-324)
== Leave ==
* Off to Nepal & Mt Everest after Connect.
== This week ==
Monday - Off
Reworked backports off origin instead of crypto-backport branch. Also used read/write git branch to push
- Affected backports 201164-206168, 201170, 201175, 201261, 201263 and 202020
Submitted backports for code review via git review
- Aarch64 ILP backports: 201164-206168, 201170, and 201175
- Aarch64 support for NEG in vectors registers: 201261 and 201263
- Aarch64 support for SISD shifts: 202020
== Next week ==
Submit backport 202256 for code review
Backport 202407 assigned to me
== Future ==
Things you plan to do in the future.
--
Michael Collison
Linaro Toolchain Working Group
michael.collison(a)linaro.org
== Progress ==
* IAS (TCWG-377)
- Stopping progress on .dn/.qn aliases, not suitable for IAS atm.
- Working on softvfp+vfp aliases (PR18689)
* EHABI (TCWG-124)
- Removed -arm-disable-ehabi
- Waiting for Keith's patch to work on EHABI respecting uwtables
* Compiler-RT (TCWG-125)
- Adding sanitizer guidelines for GCC developers
- Implemented --rtlib=compiler-rt for Linux targets
- Test-suite runs fine, only one error (PR18812)
* AArch64 (TCWG-387)
- First native builds, updating config.guess/sub (license issues)
- Found some JIT problems, unittests should be disabled
- Found some memory test failures
- Found 20 failures in test-suite
* Background
- Usual patch reviews & discussions
- Started a fire on GCC list, will monitor interactions closer
- Had a BoF accepted at the GNU Cauldron about GCC+LLVM collaboration
- Discussing possible LTO changes to binutils with GCC devs
- Helping Christophe/Yvan add AArch64 support for asan
* Time
- CARD-862 8/10
- Others 2/10
== Plan ==
* Continue softvfp in Clang's driver
* Work on Dwarf unwind tables
* Investigate RT and AArch64 failures
The Linaro Toolchain Working Group is pleased to announce the 2014.02
engineering release of Linaro GCC 4.8.
As announced at Linaro Connect USA 2013 Linaro GCC is moving to a
pattern of quarterly stable releases, with engineering releases in the
intervening months. This is the first engineering release. The next stable
release will be the 2014.04 release.
Linaro GCC 4.8 2014.02 is the eleventh release in the 4.8 series. Based
off the latest GCC 4.8.3+svn207411 release, it includes performance
improvements and bug fixes.
Interesting changes include:
* Updates to GCC 4.8.3+svn207411
* ARM-v8 crypto intrinsics support
* New vectorizer cost model
The source tarball is available from:
http://releases.linaro.org/14.02/components/toolchain/gcc-linaro/4.8
Downloads are available from the Linaro Releases website:
http://www.linaro.org/downloads/
More information on the features and issues are available from the
release page:
https://launchpad.net/gcc-linaro/4.8/4.8-2014.02
Mailing list: http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Bugs: https://bugs.launchpad.net/gcc-linaro/
Questions? https://ask.linaro.org/
Interested in commercial support? Inquire at support(a)linaro.org
This should match what we have in meta-linaro/dora, which is the linaro
2013.12 toolchain release.
---------- Forwarded message ----------
From: Koen Kooi <koen(a)dominion.thruhere.net>
Date: 17 January 2014 19:35
Subject: Fwd: seemingly bug in Linaro gcc 4.8
To: Koen Kooi <koen.kooi(a)linaro.org>
Begin doorgestuurd bericht:
> Van: Khem Raj <raj.khem(a)gmail.com>
> Onderwerp: seemingly bug in Linaro gcc 4.8
> Datum: 17 januari 2014 17:56:23 CET
> Aan: Koen Kooi <koen(a)dominion.thruhere.net>
>
> Hey Koen
>
> I am seeing a problem with linaro gcc-48 basically angstrom/2013.12
release
> The issue is attached sample C file. When compiled and run on my ArchLinux
> box which is running upstream gcc 4.8.2 it works ok
>
> but on beagleboard it fails.
>
>
> to compile
>
> $CXX -pthread -std=gnu++11 a.cpp
>
> on ARCH
>
> kraj@leo ~ > g++ b.cpp -std=gnu++11 -pthread
> kraj@leo ~ > ./a.out
> 140309495478016 i: 1
> 140309503870720 i: 2
>
> on Beagleboard
>
> root@beagleboard:~# ./std-thread
> pure virtual method called
> terminate called without an active exception
> Aborted
>
> Can you pass this to right folks in Linaro and get some help in resolving
it
>
> I havent yet trried it with OE-Core gcc which is also gcc 4.8
>
> The issue is most probably ARM related as it seems to me.
>
> Thanks for help
>
> -Khem
>
Hello,
I'm maintaining an older release we have which uses the older toolchian
binaries in gcc-linaro-arm-linux-gnueabi-2012.03-20120326_linux. I've
identified a bug in glibc we appear to be encountering and would like to
port the fix back.
I initially went the route of compiling the above toolchain binaries from
source as described in the readme.txt but then found that the cross
compiler binary build does not include the e/glibc build and these appear
to be sucked in in binary form (oneiric-sysroot-r1).
Are there any documents how these prebuilt libc binaries were created?
Please note that I'm not asking in general how to build glibc. I've built a
version with and without this bug patched to verify that it is indeed what
we are hitting. I'm more hoping to get an idea of how the specific binaries
mentioned above were built.
Thanks in advance for any help!
Evan Carson
== This week ==
- Backported 206261 and 201263 - AArch64 support NEG in vector registers
- Backported 202020 - Support SISD shifts
- Backported 202259 - AARCH64, fix return types for vaddvq_s64, vaaddvq_u64
- Travel back to US on Friday, February 7th
== Next week ==
- Submit backport for review once crypto instruction review is complete
and approved
- Continue backports from trunk
- New backports
== Future ==
--
Michael Collison
Linaro Toolchain Working Group
michael.collison(a)linaro.org
Hello,
The binutils 2.24-2013.12 release page says that the release was built
from the linaro_binutils-2_24-2013_12_release tag, but that tag
doesn't seem to actually be present in the git repo at
http://git.linaro.org/toolchain/binutils.git . Could that tag please
be pushed?
Thanks and regards,
Gregory
== Progress ==
* Cbuildv2 now builds a static gdbserver for cross linux targets. (1/10)
* Fixed Cbuildv2 bugs and added feature requests from Venkat, who
is bravely being our beta site. (1/10)
* Got .sum files produced from Jenkins builds copied to
tcwgweb. Much of this was getting everything setup to allow files
to be copied securely. (TCWG-386 - 3/10)
* QEMU image prep for softfp and Rasberry PI testing. (TCWG-380 - 2/10)
* Meetings and misc. (3/10)
- Tweaks to Jenkins support so build names the remote directory
in a way tcwgweb expects.
- Added more info to TCWG Build Farm wiki page.
(https://wiki.linaro.org/TCWG%20build%20farm)
== Plan ==
* Figure out how to make tcwgweb run test comparisons.
* Now that SSH is setup correctly in the TCWG build farm, GCC
testing tries to execute the remote tests, but hits an error in
DejaGnu, which needs to be debugged and fixed. (TCWG 324)
* Add Win32 installer for Canadian cross built binary
releases to Cbuildv2. (TCWG-381)
== Issues ==
* none
== Progress ==
* LRA on AArch32:
o TCWG-343 : Make LRA the default for the ARM backend (0/10)
- No progress this week.
o TCWG-345 : Analyse performance of LRA for ARM. (3/10)
- Continue analysis on Cortex-a15.
* LRA on AArch64: (2/10)
o Start to look at PR 59222 (ICE with ILP32).
* Branch merge and backports reviews. (2/10)
* Continued Linaro 4.8 release performance on Cortex-a15. (2/10)
* Various meetings. (1/10)
* Misc:
o start to prepare AArch64 toolchain status for Connect session.
== Next ==
* Continue the on-going tasks
* 4.8 2014.02 Engineering release
== Progress ==
* Libsanitzer for AArch64: (3/10)
- QEMU patch to handle missing mmap flag accepted.
- Charles was able to build GCC + run the sanitizer tests on board
- cleanup patch, ready to be sent to the LLVM list for approval
* Cross-validation: (1/10)
- extending timeout to 5h for aarch64-linux seems to be sufficient
when using qemu-aarch64
* 2014.02 release preparation: (4/10)
- branch merge
- backported new vectorizer cost model (cheap, dynamic, unlimited),
and ran some benchmarks.
- asked Kugan to check the few improvements observed when using
-fvect-cost-model=unlimited
- reviewed Crypto intrinsics backport from Michael Collison.
Discussed the use of gerrit+jenkins with him and Rob.
- Charles ran the validation of the Crypto intrinsics backport on
AArch64 hardware
- I cross-validated it using binutils-linaro-2.24-2013.12, to make
sure we release components capable enough to interoperate.
- upgrading binutils in cbuildv1/tcwg-web would help, until we can
switch to jenkins+cbuildv2+gerrit
* Misc (2/10): conf-calls, meetings
== Next ==
* libsanitizer on AArch64: post patch to LLVM list
* crypto intrinsics: commit patch for 2014.02 release
== Progress ==
* Short week: Public holiday on Wednesday 5th Feburary 2014. [2/10]
* Ran gdb testsuites for arm and x86 (native + remote) with all in
progress patches applied. [1/10]
* Investigated and triaged arm only failures. [2/10]
* Investigated gdb.dwarf2/implptr-64bit.exp failure and submitted
patch to disable it for 32-bit targets.[2/10]
* Installation and configuration of new desktop machine. [1/10]
* Investigation of stack unwinding failures on arm. [1/10]
* Investigation of work required to implement record and replay on
aarch64. [1/10]
== Plan ==
* Setup gdb for aarch64 and try to run a demo application.
* Investigate remaining arm only failures in gdb for arm and work
towards closeout of CARD-321.
* Travel to Islamabad to receive passport back from Chinese embassy
for Macau visa.