Hi Term,
I have try to us "crosstool-ng-linaro-1.13.1-4.8 "to build myself cross tool chain,
but some problem happened,just before I have used crosstool-ng offcial version,
every thing is fine,I have got my toolchain, my operation system is Ubuntu 12.10,
when I change to crosstool-ng-linaro,
I am follow these steps.
ct-ng list-samples,
ct-ng linaro-arm-linux-gnueabihf
ct-ng menuconfig
I just change Local tarballs directory ,Prefix directory ,and change target os from
prebuilt to linux,
then,I build it,first time error happened at step "cc_core_pass_1 ",I google it
and found out it is about multilib,I need to install gcc-multilib and g++-multilib,
then,I continue,this time,error happened at step"cc_core_pass_2 ".
related messages in build.log:
[ALL ] Supported emulations: armelf_linux armelf armelfb armelfb_linux
[ERROR] collect2: error: ld returned 1 exit status
[ERROR] make[4]: *** [libgcc_s.so] Error 1
[ALL ] make[4]: Leaving directory `/work/software/cortexa9-linaro-build/.build/arm-linux-gnueabihf/build/build-cc-core-shared/arm-linux-gnueabihf/arm-linux-gnueabi/libgcc'
[ERROR] make[3]: *** [multi-do] Error 1
[ALL ] make[3]: Leaving directory `/work/software/cortexa9-linaro-build/.build/arm-linux-gnueabihf/build/build-cc-core-shared/arm-linux-gnueabihf/libgcc'
[ERROR] make[2]: *** [all-multi] Error 2
[ALL ] make[2]: Leaving directory `/work/software/cortexa9-linaro-build/.build/arm-linux-gnueabihf/build/build-cc-core-shared/arm-linux-gnueabihf/libgcc'
[ERROR] make[1]: *** [all-target-libgcc] Error 2
[ALL ] make[1]: Leaving directory `/work/software/cortexa9-linaro-build/.build/arm-linux-gnueabihf/build/build-cc-core-shared'
[ERROR]
[ERROR] >>
[ERROR] >> Error happened in: main[scripts/crosstool-NG.sh]
so,I really don't know how to do now,any help is welcome.Thank you
Cheers,Rick
Hi team,
In the GCC.pdf of gcc-linaro-aarch64-none-elf-4.8-2013.08, it says that -mcpu supports cortex-a53, but when I tried to build a simple hello bare metal application with -mcpu=cortex-a53 option, gcc reports,
Error: unknown cpu `cortex-a53'
Error: unrecognized option -mcpu=cortex-a53
Could you please confirm whether Cortex-A53/A57 performance tunning is supported?
Thanks.
Best Regards.
------------------------------------------------------------------
Zenon Xiu
-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No: 2548782
We have spotted a problem with the GOT layout in binaries generated by the
2013.09 Aarch64 toolchain, causing them to crash on startup.
New builds fixing this issue are now available at
http://releases.linaro.org/13.09/components/toolchain/binaries
The arm-linux-gnueabihf and arm-none-eabi toolchains are not affected by
this problem - there is no respin version for those builds.
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:
http://releases.linaro.org/13.09/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.
== Progress ==
* AArch64 frame grows downward: no feedback yet.
* Disable-peeling: Vectorizer cost model has been changed upstream,
the current default now includes the effect of disabling peeling. I
have submitted benchmark jobs to check the exact effet; expecting some
regressions since the reduced test case I was working on now generates
the same code as with my patch.
* AArch64 bootstrap failure: build it still on-going, so still hoping
to reproduce it.
* GCC trunk validation:
- good progress on reporting
- cross-validating several configurations (currently 18) for each
upstream commit is too much for our compute farm to handle.
Reduced to patches related to ARM/AArch64, but then we can miss
regressions caused by other generic patches.
* Backports:
- committed a few simple ones.
== Next ==
* AArch64 frame grows downward: continue
* Disable-peeling/new vectorizer cost model: analyze bench results
* Backports : check which ones can be reasonably done
== Issues ==
* None.
== Progress ==
* 2013-10 release.
- Reviewed some backports.
* LRA on AArch32:
- Testsuite analysis showed one remaining issue in ARM mode
(with the movmisalignv8hi_neon_store insn handling).
- Ran Benchmarks on Calxedas, some failures due to the same bug.
- Benchmarks on tcpandas ongoing.
- Benchmarks results analysis ongoing.
== Next ==
* Continue on LRA.
== Progress ==
* libssp
Updated review comments given by glibc maintainer and rerun tests.
There are some test failures, suspecting issue in using
ALIGN_UP/DOWN macro. Debugging them.
* gprof support for aarch64
Upstreamed patches to GCC and backported to Linaro 4.8 branch.
Closed the cards for gprof work.
* 1-1 Meet with Christophe.
== Plan ==
* Continue libssp support.
* Restart Aarch64 boot strap in a server machine.
* Book hotel ticket for connect.
* PGO for aarch64
== Progress ==
* Fixed my laptop's desktop by upgrading to saucy & Gnome 3.10.
* Continuing with Jenkins/Cbuildv2/Git integration. Since this is
an ongoing task, I think I'm going to stop listing it every
week. :-)
* Fixed more bugs in Cbuildv2 when handling branches and revisions.
* Compared source tarballs for binutils and gcc, Linaro releases
against Cbuildv2 produced ones.
* Added support to Cbuildv2 for building binutils source releases
in the same style as src-release.
* Worked on aarch64 builds on real hardware to test adding
libatomic and go to builds.
* Added support to build all documentation, which is used when
building tarballs.
* Reviewed and applied Cbuildv2 patches from Ryan.
== Plan ==
* Try to work around problem with importing test results.
* Continued work on release building via Cbuildv2.
* Get Odroid boards working reliably, ordered AC powered USB hubs
to work around problem with exterrnal USB drives.
== Progress ==
* Traveled to Islamabad for US Visa Interview, got verbal confirmation
of visa. Passport will be back this week.
(TCWG-250)
* GDB ARM Process Record Thumb32 Support: Submitted a new patch
upstream which fixed bugs.
(TCWG-270)
* Tested arm process record bug fixes in various configurations to get
pass rate statistics for the new patch.
(TCWG-280)
* Reviewing changes required for syscall support for gdb arm process record.
== Plan ==
(TCWG-267), (TCWG-268) and (TCWG-269)
* Ping or Send response to comments.
(TCWG-280)
* Start implementation and complete most part of coding next week.
* If Passport comes back with visa stamped: plan/book travel to US,
gather connect related information and notify all concerned.
== Progress ==
* Lnaro 4.8 Bugfix
- Fixed Bugs LP1232017 and LP1234060
- gmp and mpfr make check now clean
* spec2k comparison between ARM and x86
- Looked at register allocation issues
- Started working on slides for connect
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Start again with 64bit division
== Misc ==
* October 7th Public Holiday.
== Progress ==
* Finished most new employee onboarding
* Setup Chromebook with Linux Ubuntu (crouton) development environment.
* glibc
[PATCH] Update generic swapon definition to match prototype.
* CBuildV2
[PATCH] Fix stamp-configure* name for git repos with specific named branches
[PATCH] Only return early on error following configure
[PATCH] Remove dryrun wrapper from git-new-workdir invocation.
[PATCH] Fix stamp name for git repos with specific named branches.
[PATCH] Remove lynx check from configure[.ac]. It's no longer used.
Started working on a patch to fix git working directory branch
name for named branches.
== Plan ==
* Install Fedora 19 on work laptop that just (Oct 4) arrived and
setup working environment.
* Finish first-pass fixes on cbuildv2.
* Complete patch to fix git working directory branch name.
* Start working on a glibc.git conf file to potentially move away
from eglibc.git.
* Fix cbuildv2 fetch time stamps. They seem to always be downloading
tar balls.
* Fix stamp output so that it doesn't imply that stamps or older
than a file when stamps do not yet exist.
== Issue ==
* Temporary desktop corruption and couldn't Linux 'rescue' from an
encrypted drive. Spent part of Tuesday rescuing my work environment
off the drive and reinstalling system.
== Progress ==
* EEMBC
- Ran on multiple boards, collected statistical data, wrote some scripts
to do it again
- Found a few regressions on GCC 4.9, reported internally
- Found 4 benchmarks in which LLVM is a lot worse
- Looking at RGBCMY which GCC is able to vectorise
- LLVM transforms the pointer access into a PHI cycle, which is wrongly
interpreted as a reduction variable by the loop vectorizer.
* Background
- Patch reviews and discussions as usual
- TCWG rack has arrived!
- Got another Chromebook and an ODroid XU to play with next week
== Plan ==
* Update script to rank the compilers according to EEMBC results on the
same machine
* Try to teach the loop vectorizer to not treat load/store PHIs as a
reduction variable
* Set up some temporary buildbots with new hardware
Hi,
With the patch I just sent to this list in place, gccgo builds for
aarch64. I don't know how well it _works_ -- "hello world" builds and
runs -- but I would like to ask what the process would be to get gccgo
included in the binary distributions of GCC that Linaro makes.
Cheers,
mwh
== Progress ==
* Got Odroid U2 board up and doing builds. Stock hardkernel kernel
images are unstable, keeps remounting USB drive read-only under
a load.
* Got the new support for branches and revisions for any toolchain
component working in Cbuildv2.
* Attended the 30th anniversary of the GNU project in Boston over the
weekend.
== Plan ==
* Continuing with Jenkins/Cbuildv2/Git integration.
* Try to work around problem with importing test results.
* Compare automated tarballs with the current release tarballs.
* Get Odroid U2 working reliably.
* Get Odroid X2 working.
== Issues ==
* Upgrading Gnome on my laptop destroyed my desktop to where
nothing worked, limiting productivity for a few days.
Hi,
With respect to the MPFR build error,
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58578), is movs appropraite
as shown below? When _err1 is negative the condition is evaluating it to
be true.
/* C Codeoes */
if (_err1 > 0)
{
/* working code */
.loc 1 67 0
cmp r3, #0
ble .L6
/* not working code*/
.loc 1 67 0
movs r3, r3, asl #1
ble .L6
When I looked at the ARM documents, I found the following
Condition flags
-------------------
If S is specified, for MOV instructions:
1. update the N and Z flags according to the result
2. can update the C flag during the calculation of Operand2 (see
Flexible second operand)
3. do not affect the V flag.
And also
le Signed less than or equal. (Z==1) || (N!=V)
Does this means we cant movs at comparision.
http://gcc.gnu.org/ml/gcc-patches/2013-02/msg00861.html added this and I
guess it is intentional.
Am I missing anything here?
Thanks,
Kugan
== Progress ==
* AArch64 frame grows downward: no feedback yet.
* Disable-peeling: trying to tune the vectorizer cost model so that it
is less aggressive.
* AArch64 bootstrap failure: build it still on-going, so still hoping
to reproduce it.
* GCC trunk cross-validation:
- aarch64 added
- looking at how to handle compute farm jobs timeouts nicely
* Backports:
- launched several merge requests for a few individual patches.
== Next ==
* AArch64 frame grows downward: continue
* Disable-peeling: continue
* Backports : spend little time on checking the results
Progress
. worked on cleaning up arm config in gcc (TCWG-201)
. not really convinced I have a way to properly test the result
. a bit of bug triage
. a bit more on the 4.7 segfault bug (lp1215925)
Plans
. ping the arm*gnueabihf testsuite patch
. finish the config clean up
. revisit 4.7 segfault, now I have more suggestions from Matt
== Issues ==
* None.
== Progress ==
* Misc:
- Installed Saucy on Chromebook.
* LRA on AArch64:
- Committed RTL analyser patch.
- Committed patch which switch on LRA on AArch64.
* LRA on AArch32:
- Committed patch which fix failing assembly scan test with LRA.
- Committed LRA register notes DEAD and UNSUSED handling in LRA.
- Bootstrapped GCC with LRA on Chromebook.
- Analysis of testsuite results ongoing.
== Next ==
* Continue on LRA.
Short week (Tuesday and Wednesday went to US consulate Chennai for
VISA interview and document processing).
== Progress ==
* gprof support for aarch64
Re-based and tested. Asked permission for upstreaming in trunk.
Gibc patches are upstreamed. Thanks to Marcus.
* Aarch64 Boot strap failure.
Tried to reproduce it in V8 model. Build failing in stage 1 for me.
* 1-1 Meet with Christophe.
== Plan ==
* Back to libssp support.
* Aarch64 boot strap issue.
== Issues ==
* LTO/PGO work stopped now since libssp support priority is more.
Misc
------
October 2 India Holiday.
== Progress ==
* MPFR and GMP Build error with Latest 4.8 Release
- Reproduced MPFR error with a simplified testcase
- Found the buggy codesequence and the patch that introduced it.
- Looking at solution for this
- Reprdouced GMP error with -march=armv7-a and -mthumb
- continuing with the invetigation
* 64bit division
- Looked at current libgcc implementaion and studied the alorithm.
* Addressing patch review
- Posted second patch for zero/sign extension
* spec2k comparison between ARM and x86
- Ran spec2k with various options to validate code analysis
== Plan ==
* Continue with spec2k comparison between ARM and x86
* Continue 64bit division
* Fix GMP and MPFR build error
== Progress ==
(TCWG-270)
* Tested GDB Process Record/Replay and reverse debug feature for arm.
* Thumb32 support patch along with a couple of bug fixes made huge
improvement in testsuite results.
(TCWG-267) and (TCWG-269)
* Reviewed all previous submitted patches and wrote response patch updates.
* Implemented gdb/testsuite/gdb.dwaf2/dw2-error.exp using dwarf assembler.
(TCWG-268)
* Submitted patch for failing gdb/testsuite/gdb.dwaf2/dw2-case-insensitive.exp
(TCWG-272)
* Re-viewed and verified gdb bugs reported on launchpad and created
JIRA cards where required.
(TCWG-265)
* Generated Test data to test instruction decoding in arm specific
code of gdb process record/replay.
(TCWG-280)
* Reviewed previously submitted patches related to gdb process record
syscall support for arm targets.
* Submitted US Visa application for processing and got appointment for
Visa Interview.
* Reviewed all open JIRA cards and created new ones for future progress on GDB
== Plan ==
(TCWG-270)
* Submitt patch for bug fixes and show testsuite improvement with bug
fixes and thumb32 patch.
* Do more testing and analyse failures and try to fix them if possible.
* Verify issues reported by maintainers in old arm instruction decoding code.
(TCWG-267), (TCWG-268) and (TCWG-269)
* Update gdb/testsuite/gdb.dwaf2/dw2-error.exp as asked by gdb maintainers.
* Ping or Send response to comments.
(TCWG-280)
* Test syscall support with old patch and make changes if required.
* Travel to Islamabad on Tuesday to attend US visa interview early
morning Wednesday.
== Issues ==
* None
== Progress ==
* Update Conditional compare (CCMP) patch according to community comments.
* Investigate how to generate CCMP to support more than two compares.
- Investigate ifcombine to create more CCMP opportunities.
- Enhancing phiopt to handle CCMP case like:
if (a == 0 && b > c)
return 0
return a;
== Plan ==
* Continue on CCMP to support more than two compares.
== Panned leaves ==
* Oct. 1-7: National Day of China holiday
== Progress ==
* Profiling ImageMagick
- Clang 3.4-svn is around 10% less performing than GCC 4.7.3
- Mainly due to recursive octree-style map/reduce of most functions,
spending a lot of time
before/after branches
- Any optimization on that front won't fit the "Incubation" tag
* Profiling EEMBC
- Found 2 cases where Clang is *a lot* better than GCC 4.7.3 (pruning
bmark.c, producing much
smaller objects, and vectorizing telecom/autcor, which GCC can't)
- Most of the time, GCC is slightly better (~5% faster, ~10% smaller,
geomean)
- Wrote some scripts to run any two compilers against each other, compare
the results and
dump the ratios in a TSV file.
== Plans ==
* Update EEMBC Linaro image with Clang toolchain changes
* Look for low-hanging fruits in EEMBC
* Try comparison with GCC 4.8 and 4.9, too
* Find a way to extract Phoronix results in TSV format
== Progress ==
* Checked testsuite for glibc and gcc bootstrap on aarch64 native
* Released Linaro gdb 7.6.1 2013.09-1
* Submitted glibc pointer guard patch using TLS
* Submitted respin of pointer guard patch using a global variable
* Submitted binutils aarch64 ifunc patches for a second time
* A little bit of time on malloc
* Built office furniture!
== Issues ==
* None
== Plan ==
* Finish off pointer guard
* Hopefully back to malloc
--
Will Newton
Toolchain Working Group, Linaro
The Linaro Toolchain and Platform Working Groups are pleased to announce
the 2013.09 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.
This release introduces a set of experimental (pre-alpha) crosscompilers to
big-endian ARM architectures.
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.09
* Linaro Newlib 2.0 2013.06
* Linaro Binutils 2.23 2013.06
* Linaro Eglibc 2.17-2013.07-2
* Linaro GDB 7.6 2013.05
* 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:
* gcc updated to 4.8-2013.09
* Initial big-endian pre-alpha versions added
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:
http://releases.linaro.org/13.09/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.