Hi All,
I am new to linaro. so would like to know more about linaro.
Is linero alternative to yocto project.
does the tool chain support armv5te based SOC.
Ratheendran
Hi Folks,
I'm running two buildbots here at home and am getting consistent failures
from the Pandas because of overheating. I've set up a monitor that will
tell me the current CPU temperature and the allowed maximum, and when the
bot passes 90%, it shuts itself off.
The problem is that I'm running with heat-sinks and the boards are on top
of three fans, so there really isn't much more I can do to solve this
problem.
I personally think this is a hardware problem, since everything is in the
same die, CPU, GPU and RAM, and the physical dimensions of the chip are
quite small. I remember when Intel started overheating (around 486DX66) and
the die was huge (more head dissipation), plus RAM and GPU were separate,
and it still needed a hefty heat-sink.
It's true that gates are far smaller today, but it's not true that a dual
core 1.3GHz + GPU + RAM will produce less heat on a small die than a 66KHz
CPU on a huge die, so why anyone think it's a good idea to release a 1+GHz
chip without *any* form of heat dissipation is beyond my comprehension.
Manufacturers only got away with it, so far, because people rarely use 100%
of the CPU power for extended periods of time, because ARM devices end up
as set-top boxes, mobile phones and tablets. However, even those devices
will heat up when playing 2 h films or games, and they do have some form of
heat sink.
We, at the toolchain group, make things worse by using 100% CPU, 24 / 7,
something that Panda boards, or Arndales were not designed to do. However,
with ARM moving into the server space, their designs will have to be
re-thought, and what a better place than Linaro for making sure we get it
right?
For the time being, I believe we *must* have air conditioning in the Lab
all the time, and we *must* have heat-sinks on every board, and we *must*
monitor the CPU temperature of the boards, at least until we're comfortable
that they're not failing all the time.
Can we make a temperature monitor (like the one attached) a default feature
on Linaro Ubuntu distributions? We could dump that info to the syslog/dmesg
whenever it crosses the (say) 75% threshold, and report more often when it
crosses the 95%, possibly dumping the processe(s) that are consuming more
CPU at the time, to enable post-mortem debugging.
cheers,
--renato
As a side note, the quad-A9 ODroid does ship with a massive heat-sink,
which also serves as a fancy case. Quite clever, really.
Hello,
I use gcc-linaro-aarch64-linux-gnu-4.8 to compile my C code with
thread-local variables.
Here is an example of my C code:
__thread u32 threadedVar;
void test(void)
{
threadedVar = 0xDEAD;
}
gcc produces the following assembly to access my threaded variable:
threadedVar = 0xDEAD;
72b0: d00000c0 adrp x0, 21000
72b4: f945ac00 ldr x0, [x0,#2904]
72b8: d503201f nop
72bc: d503201f nop
72c0: d53bd041 mrs x1, tpidr_el0
72c4: 529bd5a2 movz w2, #0xdead
72c8: b8206822 str w2, [x1,x0]
This assembly fits dynamically linked code, but in my case I have
statically linked application that does not load any additional modules.
Since I have exactly one TLS block containing all thread-local variable gcc
should be able to calculate the offset at link time.
Can I make gcc to produce the following assembly ?
threadedVar = 0xDEAD;
72c0: d53bd041 mrs x1, tpidr_el0
72c4: 529bd5a2 movz w2, #0xdead
72c8: b8206822 str w2, [x1,#offset_to_threadedVar]
Thank you,
Vitali
Hello,
I use gcc-linaro-aarch64-linux-gnu-4.8 to compile my C code with
thread-local variables.
Here is an example of my C code:
__thread u32 threadedVar;
void test(void)
{
threadedVar = 0xDEAD;
}
gcc produces the following assembly to access my threaded variable:
threadedVar = 0xDEAD;
72b0: d00000c0 adrp x0, 21000
72b4: f945ac00 ldr x0, [x0,#2904]
72b8: d503201f nop
72bc: d503201f nop
72c0: d53bd041 mrs x1, tpidr_el0
72c4: 529bd5a2 movz w2, #0xdead
72c8: b8206822 str w2, [x1,x0]
This assembly fits dynamically linked code, but in my case I have
statically linked application that does not load any additional modules.
Since I have exactly one TLS block containing all thread-local variable gcc
should be able to calculate the offset at link time.
Can I make gcc to produce the following assembly ?
threadedVar = 0xDEAD;
72c0: d53bd041 mrs x1, tpidr_el0
72c4: 529bd5a2 movz w2, #0xdead
72c8: b8206822 str w2, [x1,#offset_to_threadedVar]
Thank you,
Vitali
The Linaro Toolchain Working Group is pleased to announce the release
of both Linaro GCC 4.8 and Linaro GCC 4.7.
Linaro GCC 4.8 2013.07 is the fourth release in the 4.8 series. Based
off the latest GCC 4.8.0+svn200355 release, it includes performance
improvements and bug fixes.
Interesting changes include:
* Updates to GCC 4.8.0+svn200355
* Address Sanitizer support for ARM.
* New -mrestrict-it option support.
* Backport of support for further AArch64 instructions.
* Backport of support for further ARMv8 AArch32 instructions.
* Reverted recent changes to shrink-wrapping and tail-calls.
Linaro GCC 4.7-2013.07 is the sixteenth release in the 4.7
series. Based off the latest GCC 4.7.3+svn200408 release, this is the
third release after entering maintenance.
Interesting changes include:
* Updates to GCC 4.7.3+svn200408
The source tarballs are available from:
https://launchpad.net/gcc-linaro/+milestone/4.7-2013.07https://launchpad.net/gcc-linaro/+milestone/4.8-2013.07
Downloads are available from the Linaro GCC page on Launchpad:
https://launchpad.net/gcc-linaro
Mailing list: http://lists.linaro.org/mailman/listinfo/linaro-toolchain
Bugs: https://bugs.launchpad.net/gcc-linaro/
Questions? http://ask.linaro.org/
Interested in commercial support? inquire at support(a)linaro.org
Hi Linaro toolchain team,
I compiled linaro-toolchain 2013.06 by myself on fedora 18 x86_64,
everything works fine except GDB.
The error message is "Im sorry, Dave, I can't do that. Symbol format
`elf32-littlearm' unknown'."
I searched on google, and leads me to the page
https://bugs.launchpad.net/linaro-toolchain-binaries/+bug/918937
I configured linaro-toolchain to build a native gdb for arm platform, both
native gdb and cross-gdb can't work, they report the same error message.
Is there any way I can get the patch?
Please help me on this!
Thank you very much!
Yupeng Chang
July 05, 2013
Hi Michael,
I have fixed this issue.
I think there is a bug in crosstool-ng-1.13.1-2013.06.
In
crosstool-ng-1.13.1-2013.06/contrib/linaro/patches/gdb/linaro-7.6-2013.05,
there is a patch libintl-as-lib.patch, which adds -lintl to LDFLAGS of gdb,
however, in the 300-gdb.sh,
--without-included-gettext is used, this option makes libintl inside gdb
quit building, in this case, when checking ELF support in BFD, -lintl
cannot be found, this leads to fail.
In eglibc-2.17, intl lib is included in libc, --without-included-gettext is
reasonable to apply to gdb, which means libintl-as-lib.patch is no longer
needed, because this patch adds an option which will be no longer needed
for building gdb with eglibc-2.17
After I removed the patch, every thing works fine now, in gdb/config.log,
checking ELF support in BFD reports OK now.
Yupeng Chang
July 06 2013
On 6 July 2013 03:21, Michael Hope <michaelh(a)juju.net.nz> wrote:
> Hi there. I'm afraid I'm not working on gdb these days but it sounds like
> a configuration error. I suggest asking on
> linaro-toolchain(a)lists.linaro.org as they should be able to help.
>
> -- Michael
> On Jul 5, 2013 8:03 PM, "常桓" <changyp6(a)gmail.com> wrote:
>
>> Hi Michael,
>> Sorry for bothering you about a GDB issue.
>> I compiled linaro-toolchain 2013.06 by myself on fedora 18 x86_64,
>> everything works fine except GDB.
>> The error message is "Im sorry, Dave, I can't do that. Symbol format
>> `elf32-littlearm' unknown'."
>> I searched on google, and leads me to the page
>> https://bugs.launchpad.net/linaro-toolchain-binaries/+bug/918937
>>
>> On that page, you posted this is fixed, could you show me the fix?
>>
>> I configured linaro-toolchain to build a native gdb for arm platform,
>> both native gdb and cross-gdb can't work, they report the same error
>> message.
>>
>> Please help me on this!
>>
>> Thank you very much!
>>
>> Yupeng Chang
>> July 05, 2013
>>
>>
>>
>>
== Progress ==
* 2013.07 release preparation:
* remaining backports
* reverted 2 sets of patches from 2013.06
* started release process
* Worked on setting up an internal build + validation to monitor FSF
trunk on ARM
* Internal support
== Next ==
* All week at Connect
== Progress ==
* 4 day week (leave on Thursday)
* Pushed memcpy improvement to newlib.
* Found and fixed ARM IFUNC issue in glibc.
* memcpy merged into bionic but not yet used (see gerrit review).
* Pinged and applied gdb testsuite patch, only one left to apply.
* More work on malloc benchmarking.
* Preparation for Connect.
== Issues ==
* None.
== Plan ==
* Connect all week
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* Buildbots
- Prepared buildbot images, tested, setup is very quick and efficient
- Set up local buildmaster, two buildslaves doing self-hosting tests
- Each slave took 20 minutes setup time, including flashing SDCard
- Failures after a few hours running at 100% @ 1.2GHz @ < 26C
- Reducing to 920MHz does fix the problem, but this is not a solution
- Leaving the two pandas alive during Connect in hope they won't fail
* LNT Lencod
- Following up on Lencod stack corruption, we're closer to a solution
* Dibmod
- Didn't have much time to look at it properly, but my solution was over
simplified
- Will probably only look at it better after Connect
* Chromebook
- Had to re-install Ubuntu on it, using Raring (Saucy didn't work)
- Glad all my data is in the external hard-drive
* Others
- Added a doc about platform-specific tests that usually break the bots
http://llvm.org/docs/TestingGuide.html#platform-specific-tests
- LLVMLinux meeting, cross-compilation with Clang is almost impossible
- Haven't been able to review many patches, thanks to Tim, they kept going!
== Plan ==
* Connect whole next week
== After Connect ==
* Finish implementation AEABI divmod/udivmod calls
* Check why Phoronix result pages are not working
* Put self-hosting bots back on 920MHz mode in the Lab
Progress:
* misc:
** went through "aarch64 preparation" patchset (originally Alex's,
then modified by John), fixed a lot of issues/nits, and sent out
an updated version; this is now I think upstreamable-quality
except that it doesn't provide anything useful on its own.
** looked at the VirtualOpenSystems patchset for v8 KVM support in
QEMU; needs to be reconciled with John's work in the same area.
** Mans' LDA/STL patches now queued in target-arm.next to go upstream
** preparation for Connect
Plans:
* mach-virt
-- PMM
== Issues ==
* None
== Progress ==
* Investigate library dir issue in aarch64-linux-gnu release.
- Crosstool-ng should not link lib64 to lib.
- Eglibc used in Linaro release is too old. No configure to change
lib to lib64.
- Runtime tarball should not assume multiarch (aarch64 gcc does not
support it yet).
- When creating runtime tarball, use lib or lib64 bases on the TARGET.
* Fix misc issues in local conditional compare changes.
* Investigate how to optimize "c == '+' || c == '-'".
== Plan ==
* LCE13: July 8-12.
== Progress ==
* Short week (3 days off sick)
* Aarch64 frame growing downward: sent patch
* A few merges on Rob's behalf after approval by Yvan
* Prepared one more merge request
* Prepared for Connect
* Internal support
== Next ==
* Handle remaining backports for 4.8 release
* Disable peeling: resume work
== Issues ==
* None.
== Progress ==
* OE Launchpad bug #1192953 :
[g++ compilation terminated with error on Linaro-openembedded lamp image]
- Doko submitted a patch for that issue one year ago
- Mailing list pinged
* Launchpad bug #1186218 :
[kernel doesn't boot on Arndale/Nexus with Linaro GCC 4.8]
- Reproduced the build locally
- Need to have access to some hardware for further investigations
* LRA on ARM and AArch64:
- Fixed the issue, compiler now bootstrap
- Testing on-going before submission
* 2013-07 release:
- merge reviews
* LCE13:
- Connect registration done
- flight and hotel booked.
== Plan ==
* Merge review and release preparation
* LRA
== Progress ==
* Re-wrote gdb.dwarf2/dw2-error.exp and gdb.dwarf2/clztest.exp for arm.
* Investigated catch syscall patch in gdb patches to narrow down changes
required for arm.
* Continued with gathering documentation for future visas.
== Plan ==
* Test and fix failures due to optimization code in gdb.dwarf2/clztest.exp
for arm.
* Figure out a way to generate arm assembly for dwarf2/fission* gdb tests
using gcc.
* Further investigation arm requirements by going through catch syscall
patch for gdb on x86.
* Work with James to start UK and US visas for future visits.
Most of Last week spent on internal AMD work.
== Progress ==
* AArch64 LTO and PGO support.
LTO run for coremark and ran coremark on V8 model with and without the patch.
Ran perf on the model against the both the coremark binaries.
For non LTO, retired instructions seems to be less than the LTO one.
And PGO run for coremark did not emit any gcda file. Need to drill down further.
* AAarch64 testing
GCC runs still on going. Experimenting on spawning subtarget tests to
more than one V8 model.
== Plan ==
* Complete gcc testsuite with runs with trunk and trunk+gprof GCC patches.
* Continue LTO and PGO runs for AArch64
==issues==
* libssp support for AArch64
This work is currently in hold. Needed frame layout changes before
restarting.
== Progress ==
* spec2k comparison between ARM and x86
- Specfp on x86 has some failures in trunk
- Trying 4.8 now
- Analysed some of the benchmarks and documenting them
- continuing with the rest.
== Plan ==
* Continue with spec2k comparison between ARM and x86
== Issues ==
* None
== Progress ==
* Investigate big endian toolchain build in Linaro crosstool-ng.
- Fix an aarch64 triple name issue.
- Add Linaro armeb-linux-gnueabihf, aarch64_be-linux-gnu and
aarch64_be-none-elf configs for big endian builds.
- Please find the reference builds at:
http://cbuild.validation.linaro.org/build/crosstool-ng-linaro-1.13.1+bzr258…
* Design a test case for lp1189445 and revise the patch for review.
* Revise the shrink-wrap related fix for pr57637 and send out for review.
* Investigate lp:1194501 and lP:1194123
- lp:1194501 is confirmed a "tail call" issue, and also in trunk pr57731.
- lP:1194123 seams shrink-wrap related, since the case pass with
option -fno-shrink-wrap.
== Plan ==
* Continue on conditional compare.
Best Regards!
-Zhenqiang
== Progress ==
* Divmod patch
- Trying to regain knowledge about the SelectionDAG infrastructure
- Working with Tim and Joey, got a patch working, but seen some failures
in test-suite
- Will investigate and submit when all is clear
* Lencod in LNT
- Bug is a mix of ByVal with wrong spill offset, teams interacting
- Bug fixed by a side effect of another change, can't guarantee future
stability
* CBuild
- Patch merged, fired another LLVM benchmark, which failed the same way
- Not sure how to proceed here...
- Should I dig deep on the old CBuild?
- Or should I wait for CBuild2?
* Release Maintenance
- Talks about maintenance of old/current releases sparking on the list
- Bots, tests, benchmarks, release process will have to be followed for
those releases
- Binary & API compatibility kept, performance doesn't matter much, only
serious bugs fixed
- This will increase the cost of background duty on our team
* Other
- Reviewing some more patches
- Checking impact of a new alias analysis in the loop vectorizer, all good
- EuroLLVM 2014 meeting
- Long discussions about pre-UAL support in LLVM: Short answer: no.
- Someone else will look at PerfDB analysis, one less thing to do
- Got the Buildbot Pandas home, will look at them next week
== Issues ==
* After using all my RAM all the time, for a week, I found a fault on it
which prompted kernel panic and stopped my laptop from booting. Luckily, it
was just one of the two chips, and even better, it has a lifetime
guarantee! But I'll only get a new one after Connect... :(
== Plan ==
* Finish implementation AEABI divmod/udivmod calls
* Carefully analyse what's the best configuration for the pandas and
produce a pre-packed image
* NOT put them back before they're stable, snapshot a known good
configuration
* But put TWO pandas as self-hosting (and leave Galina's alone)
Time allowing...
* Check why Phoronix result pages are not working
* Write about target-specific tests on TestingGuide.rst
* Write a thing or two about the optimization levels in LLVM for the
official docs
== Progress ==
* Some further work on AArch64 ifunc failure, no progress.
* Add some extra features to cortex-strings plotting capability.
* More memcpy gerrit review.
* Basic framework for testing and benchmarking malloc.
* Extracted glibc malloc from glibc.
* Pushed memcpy performance tweak to cortex-strings and newlib for review.
== Issues ==
* None.
== Plan ==
* Prepare for Connect.
* Resubmit memcpy to gerrit as requested.
* Respin AArch64 ifunc patches against latest head.
--
Will Newton
Toolchain Working Group, Linaro
Progress:
* VIRT-49 closed out (cp15 migration patches committed upstream)
* virtio:
** virtio-mmio patchset v1 now sent out to qemu-devel
* misc:
** fixed some instances of undefined behaviour (mostly shift related)
diagnosed by clang -fsanitize=undefined
** worked through upstream review backlog, sent target-arm and arm-devs
pullreqs
Plans:
* VirtualOpenSystems (sponsored by Huawei) have sent a patchset for
KVM support in QEMU for ARMv8; need to review this and reconcile it
with the Linaro work in progress in this area
* mach-virt
* preparation for Connect
-- PMM
== Issues ==
* None
== Progress ==
* Investigate conditional compare RTL representation.
- Fix new fails when expanding conditional compare to cmp_and/cmp_ior.
* Identify the root cause for pr57637.
== Plan ==
* Continue on conditional compare.
== Issues ==
* None.
== Progress ==
* OE Launchpad bug #1192953
- 4.8 g++ failed to find c++ included headers because of the
combined usage of --with-sysroot and --with-g++-include-dir
- Investigated the issue with Andrew McDermott
- found an existing OE workaround
* LRA on ARM and AArch64:
- Fixed AArch64 failure
- Moved to the new one
* Cbuild Babysitting
== Plan ==
* Merge review
* LRA
== Progress ==
* Started re-writing x86 assembly language gdb test cases for arm.
* Debugging watchpoints code to investigate issues on arm.
* Upgraded chromebook Ubuntu installation to a faster SD card.
* Tried to resolve various travel hurdles. Gathering different kind of
documents for future travel, submitted passport for extension etc.
== Plan ==
* Submit more gdb patches to mailing list.
* Wind up work on translation of gdb test cases in arm assembly.
* Further investigation about watchpoint issues on arm.
* Work on filing US and UK visit visas.