== Progress ==
* LLVM Dev. Meeting 2013
* Meetings with Google, Qualcomm and ARM about Android and LLVM
* We're creating a task force to move Android to be compiled with Clang by
default, kernel, libraries, userland, native apps, Renderscript.
* Agreed on some actions for public benchmarking
- Hal will move tests to benchmarks by hand
- Linaro will create bots on that sub-set
== Plan ==
* Recuperate
* Work on the stride vectorizer
* Create benchmark bots
* Start a TableGen doc seed, so experts can chime in
* Prepare something for the CUCL LLVM Day on the 18th
== Progress ==
* Monday recovering from Connect travel
* Release Linaro newlib 2.0.0 2013.11
* Committed a number of gdb patches to fix bugzilla issues
* Submitted patches for glibc memory manual improvements
* Read a couple more papers on malloc
== Issues ==
* None
== Plan ==
* Finish off glibc memory manual and aligned_alloc patches
* malloc
--
Will Newton
Toolchain Working Group, Linaro
### About Linaro newlib
Linaro newlib is a release of the newlib C library with bug fixes and
enhancements for ARM platforms. newlib is a small footprint C library
designed for embedded systems.
### Linaro newlib 2.0.0 2013.11
The Linaro Toolchain Working Group is pleased to announce the 2013.11
release of Linaro newlib 2.0.0, the second release in the 2.0.0 series.
This release is based on the latest upstream newlib trunk, but with
additional features and bug fixes.
#### Additional Features
* Resync with upstream newlib trunk
* Improved support for Cortex-A and AArch64 baremetal systems
#### Bug Fixes
* None
### Source
#### Release Tarball
* https://releases.linaro.org/13.11/components/toolchain/newlib-linaro
#### Development Tree
* git://git.linaro.org/toolchain/newlib.git
This release was built from the `linaro_newlib-2_0_0-2013_11_release` tag.
### 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`
* Questions? [ask Linaro](http://ask.linaro.org/).
* Interested in commercial support? inquire at [Linaro
support](mailto:support@linaro.org)
--
Will Newton
Toolchain Working Group, Linaro
The Linaro Toolchain and Builds and Baselines Working Groups are pleased to
announce the 2013.10 release of the Linaro Toolchain Binaries, a pre-built
version of Linaro GCC and Linaro GDB that runs on generic Linux or Windows
and targets the glibc Linaro Evaluation Build.
Uses include:
* Cross compiling ARM applications from your laptop
* Remote debugging
* Build the Linux kernel for your board
What's included:
* Linaro GCC 4.8 2013.10
* Linaro GDB 7.6.1 2013.10
* A statically linked gdbserver
* A system root
* Manuals under share/doc/
The system root contains the basic header files and libraries to link your
programs against.
Interesting changes include:
* The sample configurations no longer require the LSB tools
* The build now works behind a HTTP proxy
The Linux version is supported on Ubuntu 10.04.3 and 12.04, Debian 6.0.2,
Fedora 16, openSUSE 12.1, Red Hat Enterprise Linux Workstation 5.7 and
later, and should run on any Linux Standard Base 3.0 compatible
distribution. Please see the README about running on x86_64 hosts.
The Windows version is supported on Windows XP Pro SP3, Windows Vista
Business SP2, and Windows 7 Pro SP1.
The binaries and build scripts are available from:
https://releases.linaro.org/13.10/components/toolchain/binaries/
Need help? Ask a question on https://ask.linaro.org/
Already on Launchpad? Submit a bug at
https://bugs.launchpad.net/linaro-toolchain-binaries
On IRC? See us on #linaro on Freenode.
Other ways that you can contact us or get involved are listed at
https://wiki.linaro.org/GettingInvolved.
== Issues ==
* None
== Progress ==
* Commit the fix for lp:1243022 on trunk.
* Backporting r203603, r204247 and r203267 to Linaro gcc 4.8.
* Updating CCMP patch according to comments.
* Collect spec2K result for CCMP.
- Overall there is no regression and no improvement.
- 175.vpr is sensitive to branch cost. Smaller branch cost will lead
to regression for it even with CCMP.
* Investigate bare metal arm-none-eabi A profile multilib build.
- Need fix the conflict with current multilib support for arm-linux-gnueabihf
- Need scripts and config update to meet the check of
--with-multilib-list=aprofile
- A reference build is shared at
http://cbuild.validation.linaro.org/snapshots/aprofile-baremetal.tar.bz2
== Plan ==
* Continue on CCMP.
* Update Linaro crosstool-ng for bare metal A profile multilib build.
== Progress ==
(TCWG-266), (TCWG-270), (TCWG-250), (TCWG-280) and (TCWG-288)
* Arm process record:
- Created Patches for all fixes and features.
- Performed testing in arm native and remote configuration.
- Performed regression testing on arm and x86.
- Submitted all fixes in three patch series.
* Performed GDB testsuite run on arm and x86 to get current status with new
patches.
There seems to be more test passing on arm than x86 with recent patches.
* Prepare for connect and travel to Santa Clara.
== Plan ==
* Linaro Connect US 2013
== Progress ==
* Got Odroid XU board stable by using Arch Linux. None of the
Ubuntu derived images worked more than barely. Tried a suggested
hack to use cpufreq-set -g performance, which allowed a fresh
install of saucy to work. Did new builds and test run.
* Got remote toolchain testing working on the newly functioning
Odroid board(s) and chromebook. Currently baseboard support is in
a DejaGnu branch,
http://git.savannah.gnu.org/cgit/dejagnu.git/?h=linaro. I'm
adding the global site.exp file to Cbuildv2, so 'make check'
executes tests via ssh on remote targets.
* Uploaded test results of ARM native builds to
cbuild.validation.linaro.org for tcwg-web. (look for version
gcc-linaro-4.8-2013.10.24)
* Added support to DejaGnu to use a custom port for ssh and scp.
* Survived learning to use Concur for expense reports.
== Plan ==
* Attend Connect, do presentation, go to others.
* Try to work around problem with importing test results. (need to
work with LAVA team for this one, will do at Connect)
* Copy tarballs to snapshots.linaro.org. (need to work with LAVA
team for this one, will do at Connect)
== Issues ==
* I see to be having random stability issues with the two Odroid
boards, although did manage to complete a test run of a the
execute tests.
== Progress ==
* Ongoing refactoring of malloc to improve performance
* Preparation for Connect
== Issues ==
* None
== Plan ==
* Linaro Connect US
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* Getting ready for Connect & LLVM US
* Stride Vectorization
- Added some logic to detect read/write reduction, possibly not the best
solution
- Consolidating all discussion into a single document for easy referral
- Creating several bugs (PR17673,PR17677,PR17678,PR17679,PR17680,PR17681)
* Re-Vectorizing
- A bug was passing the vectorizer again on an already vectorized loop
(PR17662)
- http://llvm-reviews.chandlerc.com/D2011, commit r193349
* Odroid XU
- Running more stable now, self-hosting doing well (more than a week on
24/7)
* Background
- Lots of patch reviews
- Lots of discussions about stride vectorization and others
== Plan ==
* Connect US next week
* US LLVM Dev Meeting the following
* Will be back in 2 weeks
== Issue ==
* Can not attend LCU'13 due to slow US Visa process.
== Progress ==
* Investigate lp:1243022:
- Root cause: REG_INC note is lost in subreg2 pass, so ira gets
wrong result in function validate_equiv_mem.
- Work out a patch for community review.
* Send conditional compare (CCMP) patch for community review.
- Benchmark testing is ongoing.
* Investigate heuristics to control ifcombine. Basically it will take
branch taken probability, frequency, branch-cost and basic block
reorder into account.
== Plan ==
* Performance tuning for CCMP.
== Issues ==
* None.
== Progress ==
* 2013-10 release.
- Backports and branch merges reviews.
* LRA on AArch32:
- Committed patch to enable LRA with the -mlra flag (disabled by default).
- Created 2 bugzilla entries for Thumb and address issues.
- Thumb issue work still ongoing.
* Launchpad bugs:
- Cleaned up a couple of them.
* Misc:
- Internal meetings.
== Next ==
* Short week (2 days off and 1 travelling)
* LRA
Hi,
may you think I'm on the wrong list, no not :-)
I currently build my u-boot loader using the linaro tool chain 2013.09
and run into a problem with the support for JFFS2 where the linker report
VFP usage where u-boot using softfp for build.
compiler options: -ffixed-r9 -msoft-float
arm-linux-gnueabihf-ld.bfd: error:
/opt/armhf/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(bpabi.o)
uses VFP register arguments, u-boot does not
when I use
make USE_PRIVATE_LIBGCC=yes
the problem shows up at an undefined reference
fs/jffs2/libjffs2.o: In function `jffs2_1pass_build_lists':
/opt/cross_build/uboot.d/u-boot-git/fs/jffs2/jffs2_1pass.c:1441: undefined
reference to `__aeabi_uldivmod'
arm-linux-gnueabihf-ld.bfd: BFD (crosstool-NG linaro-1.13.1-4.8-2013.09 - Linaro
GCC 2013.09) 2.23.2.20130610 Linaro 2013.06 assertion fail
/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/binutils-linaro-2.23.2-2013.06/bfd/elf32-arm.c:7687
may someone have a closer look into it?
thanks
Chris
Hi,
On 4 October 2013 19:01, Maxim Uvarov <maxim.uvarov(a)linaro.org> wrote:
> On 10/04/2013 07:40 PM, Victor Kamensky wrote:
>>
>> Hi Maxim,
>>
>> readl and writel are stronger version of readl_realxed and
>> writel_relaxed:
>>
>> #define readl(c) ({ u32 __v = readl_relaxed(c); __iormb(); __v; })
>> #define writel(v,c) ({ __iowmb(); writel_relaxed(v,c); })
>>
>> They just add __iormb and __iowmb, I think it is very
>> dangerous thing to drop those memory barriers. I don't
>> think your change is correct and/or it requires way
>> better explanation.
>>
>> I've run into the same crash while working on 3.12-rc3 BE
>> issues. In fact I saw this failure on both BE and LE and on
>> old versions of BE kernels when I tried to use 4.8 gcc version
>> from 13.09 release. When I fall back to 4.7 (i.e 13.04) it
>> works fine
>>
>> I would think it is compiler issue or preexisting issue
>> in the code uncovered by compiler change. Personally
>> I think it is the first. Since I am chasing another problem
>> I did not have time to look more deeply into the issue.
>> IMHO it definitely require more digging. In mean time you
>> can quickly check your current version and try another one
>> if your looks as one described in this email.
>>
>> Thanks,
>> Victor
>
> Ah, yes, it __raw_write has direct access and writel swaps bits.
>
> If it's compiler issue then it has to be simple to compare objdump disasm
> output for that function.
I think I've hit this issue. We use latest Linaro GCC 4.8 in the CI
loop to build Arndale BE kernel.
Is there a bug reported to TCWG? If not, please create one:
https://bugs.launchpad.net/gcc-linaro/+filebug
FYI, I'm using Linaro GCC 4.8-2013.09 (pre-built) and latest
linaro-linaro (based on 3.12-rc5 with Victor's topic branch). Boot log
attached.
Cheers,
Fathi
---
Hi,
Can you review this patch for me and help me get it upstream?
This is an official request for help from LEG to the TCWG, if that
matters :-)
Cheers,
mwh
libatomic/configure.tgt | 5 -----
1 file changed, 5 deletions(-)
diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
index b9e5d6c..7eaab38 100644
--- a/libatomic/configure.tgt
+++ b/libatomic/configure.tgt
@@ -95,11 +95,6 @@ fi
# Other system configury
case "${target}" in
- aarch64*)
- # This is currently not supported in AArch64.
- UNSUPPORTED=1
- ;;
-
arm*-*-linux*)
# OS support for atomic primitives.
config_path="${config_path} linux/arm posix"
--
1.8.1.2
== Progress ==
* Releases 4.7 and 4.8 2013.10
* Tried cbuildv2: difficult because of our company proxy, making some
changes necessary to cbuildv2. Tutorial sessions in Connect will be
welcome.
* Started chasing a regression in armv5 targets, handed over to Kugan.
* Noticed regressions in some cases with Charles' testsuite patch.
== Next ==
Short week: Monday/Tuesday off; Friday: travelling to Connect
* Look at trunks' new vectorizer cost model.
* Prepare Connect
== Progress ==
* Short week Hujj and Eid-Al-Adha Public Holidays in Pakistan 15-17
October 2013.
(TCWG-280)
ARM GDB Process Record Syscall support:
* Performed testing with all fixes incorporated and debugged failures
in remote configuration.
== Plan ==
(TCWG-266), (TCWG-270), (TCWG-250), (TCWG-280) and (TCWG-288)
* Arm process record: Submit all fixes and updates in three patches.
* Prepare for connect and travel to Santa Clara.
Very short week was on leave 14th and 16th October (India Holidays).
== Progress ==
* libssp glibc
Glibc tests are Segmenting at dl_close_worker, when I set pointer
guard. Debuging shows segfaults while expanding THREAD_GSCOPE_WAIT.
My assumption is thread pointer points to TCB and after allocating 16
Bytes before that, we can set pointer gaurd at tp -16. But not sure,
why it affects the pthread structure header which holds gscope_flag.
Also looked at TLS_MULTIPLE_THREADS_IN_TCB, enabling it lead to
__libc_multiple_threads undefined errors.
== Plan ==
* Continue libssp support.
* PGO for aarch64
== Progress ==
* 64bit division for targets without 32bit div instructions
- Finished the implementation
- Benchmarked it
- Getting ready to post RFC patch
* Connect Slides
- Worked on slides for connect
* Vector regression in 4.8-2013.09
- Started bisecting to find the issue
== Plan ==
* post RFC patch for 64bit division
* Vector regression in 4.8-2013.09
* Connect preparation
== Progress ==
* Improved the format of the emails that get sent to the cbuildv2
list from commits.
* Get Odroid U2 running stably, did native build on an external
USB disk. Upgraded to saucy. Did full toolchain build and test
run. 65 minutes per build.
* Got Odroid XU board to boot, then upgraded to saucy, not very
stable yet. Unlike the XU, it has a horrible lag when typing to
it via ssh.
* Updated chromebook to saucy, did native build and test run on
external USB drive. The U2 was faster, even with an older USB 2
only drive. 192 minutes for a build.
* Worked at verifying Cbuildv2 produced tarballs again since there
have been many little tweaks. The few differences between
Cbuildv2 produced tarballs and the official Linaro releases is
documentation related. For example, Cbuildv2 doesn't build the java
docs.
* Did slides for Connect presentation.
* Sat bagged an 900 foot ice route at over 13,000 feet. 8 mile
approach.
== Plan ==
* Try to work around problem with importing test results. (need to
work with LAVA team for this one)
* Copy tarballs to snapshots.linaro.org. (need to work with LAVA
team for this one)
* Get remote toolchain testing working on the newly functioning
Odroid board(s).
* Continued improvements to Cbuildv2.
== Issues ==
* My network and landline was down to upstream repairs for a day
and a half, bad timing during release week... :-(
Hi Bharath. Have a look under contrib/linaro/sysroot - there's a
script in there that you can fiddle with to pick a later distro.
-- Michael
On 16 October 2013 17:52, bhs <bharath.vegito(a)gmail.com> wrote:
> Hi Michael,
>
> I see that linaro's build system is using pre-built sysroot as an input
> to build cross-toolchain for ARM. I have a use case were we want
> eglibc-2.17(sysroot from raring) along with gcc-4.7.3 crosstoolchain. I
> could not any reference to the method in README file.
>
> How is the precise-sysroot used in building linaro toolchain binaries
> created?
> Thanks
> Bharath
> --
> This message was sent from Launchpad by
> bhs (https://launchpad.net/~bharath-vegito)
> using the "Contact this user" link on your profile page
> (https://launchpad.net/~michaelh1).
> For more information see
> https://help.launchpad.net/YourAccount/ContactingPeople
I accidentally sent without completing my 'Progress' section.
== Progress ==
eglibc -> glibc transition:
* Investigated upstream plan to retire eglibc and the implication of
losing options groups.
Cbuildv2 - Random patches
* [PATCH][Cbuildv2/get_source 17/17] lib/common.sh: get_source - Fix
for partial match in snapshots with <package>.conf:latest set.
* [PATCH][Cbuildv2/get_source 16/17] testsuite/test.sh: Add get_URL
test for <repo>.git@revision.
* [PATCH][Cbuildv2/get_source 15/17] lib/common.sh: Fix so that
get_URL works for <repo>.git@revision.
* [PATCH][Cbuildv2/get_source 14/17]
testsuite:test_sources.conf|test.sh: reserve nomatch.git for testing.
* [PATCH][Cbuildv2/get_source 13/17] testsuite/test.sh: Add tests
for user git repos not ending in .git.
* [PATCH][Cbuildv2/get_source 12/17] [test_]sources.conf: Unify
behind <label>.git identifiers for all git repos.
* [PATCH][Cbuildb2/get_source 11/17] New variable ${sources_conf} to
replace hardcoded config/sources.conf.
* [PATCH][Cbuildv2/get_source 10/17] testsuite/test.sh: Add test for
tag matching an svn repo in sources.conf.
* [PATCH][Cbuildv2/get_source 09/17] lib/common.sh: echo ${url} in
leg that processes direct non .git repositories.
* [PATCH][Cbuildv2/get_source 08/17] lib/common.sh: Fix for
unknown/unmatched get_source request.
* [PATCH][Cbuildv2/get_source 07/17] lib/common.sh: echo ${url} in
get_source when finding a successful snapshot match.
* [PATCH][Cbuildv2/get_source 06/17] lib/common.sh: find_snapshot
should return list of found snapshots even on error.
* [PATCH][Cbuildv2/get_source 05/17] lib/common.sh: Invoke
find_snapshot as a subshell in get_source.
* [PATCH][Cbuildv2/get_source 04/17] lib/common.sh: Suppress
extraneous trailing whitespace in get_URL and get_source output.
* [PATCH][Cbuildv2/get_source 03/17] testsuite/test.sh: Suppress
stderr noise and add new failing get_source tests.
* [PATCH][Cbuildv2/get_source 02/17] lib/checkout.sh: checkout
should use get_srcdir to reuse code.
* [PATCH][Cbuilv2/get_source 01/17] lib/make.sh: Don't continue with
build if source isn't found.
* [PATCH][Cbuildv2/get_source 00/17] Patchset to exhaustively test
get_source code legs and fix corner cases.
* [PATCH] cbuild2/lib/common.sh: redirect trace/error/warning, etc. to stderr.
* [PATCH] cbuild/lib/configure.sh: Fix stamp-configure* to prevent
spurious configure running.
* [COMMITTED][PATCH] cbuild/lib/make.sh: Add ${builddir}/install.log
from make install output.
* [COMMITTED][PATCH] lib/common.sh (list_URL): correct bash keyword
"locals" -> "local".
* [COMMITTED][PATCH] config/gcc.conf: Add --disable-shared to stage
1 default_configure_flags.
* [PATCH][test_fetch_md5sums_fix] testsuite/test.sh: Add second
fetch md5sums test and always use wget -q in testsuite.
* [PATCH][test_fetch_md5sums_fix] testsuite/test.sh: Always override
${local_snapshots} for tests.
== Issues ==
* None
== Plan ==
Objective before Linaro Connect:
* Wiki/README on using cbuildv2 sources.conf and <package>.conf:latest=
* git workflow document: collaborative use of git in Linaro
* wiki/README on using cbuildv2 local_snapshots for
specific/non-remote archives or git repositories.
General Cbuildv2:
* Audit usage of "local foo=`bar`; if test $?". Change to: "local
foo; foo=`bar`; if test $?".
- This is a known issue and very nefarious.
* Investigate dryrun to use stderr 2>&1?
* Port get_URL, get_source, and find_snapshot to unique behind
<repo>/<branch>@<revision> return type.
* Test local_snapshot overrides
== Progress ==
eglibc -> glibc transition:
* Investigated upstream plan to retire eglibc and the implication of
losing options groups.
Cbuildv2
*
[PATCH][test_fetch_md5sums_fix] testsuite/test.sh: Always override
${local_snapshots} for tests.
[PATCH][test_fetch_md5sums_fix] testsuite/test.sh: Add second fetch
md5sums test and always use wget -q in testsuite.
== Issues ==
* None
== Plan ==
Objective before Linaro Connect:
* Wiki/README on using cbuildv2 sources.conf and <package>.conf:latest=
* git workflow document: collaborative use of git in Linaro
* wiki/README on using cbuildv2 local_snapshots for
specific/non-remote archives or git repositories.
General Cbuildv2:
* Audit usage of "local foo=`bar`; if test $?". Change to: "local
foo; foo=`bar`; if test $?".
- This is a known issue and very nefarious.
* Investigate dryrun to use stderr 2>&1?
* Port get_URL, get_source, and find_snapshot to unique behind
<repo>/<branch>@<revision> return type.
* Test local_snapshot overrides
Hi,
We are working on userspace aarch64 and aarch32 apps and we are trying
to run 32/64 mode app simultaneously.
Is there any multi-arch support for mixed rootfs (has linkers/libs of
both arm and arm64)?
--
Thanks,
-Zhou