Progress:
* rebased qemu-linaro and sorted out with Serge what he requires
in the way of patches for Ubuntu's upcoming code freeze. I plan
to set up and test the 2013.03 release a week or two early both
so that there is a patchset ready for the Ubuntu freeze and also
to avoid clashing with Connect week.
* some patches to clean up QEMU's logging functions so they can
be used more widely in place of ad-hoc printf
* cleanup patchset to get rid of sysbus_add_memory() function
* LP:1079080 -- fixed serious bug in QEMU's Thumb-mode srs insn
* upstream discussion about what to do about QEMU's disassembler
license-clash issues:
http://lists.gnu.org/archive/html/qemu-devel/2013-02/msg02122.html
* NB: I now work a 4 day week, excluding Wednesdays
-- PMM
I downloaded the aarch64 binaries to a ubuntu machine:
wink@ssi-primary:~$ uname -a
Linux ssi-primary 3.5.0-21-generic #32-Ubuntu SMP Tue Dec 11 18:51:59 UTC
2012 x86_64 x86_64 x86_64 GNU/Linux
And when I try to run gcc-4.7.3:
wink@ssi-primary:~$ ls -al
~/aarch64-toolchain/gcc-linaro-aarch64-linux-gnu-4.7+bzr115029-20121015+bzr2506_linux/bin/aarch64-linux-gnu-gcc-4.7.3
-rwxr-xr-x 1 wink wink 553068 Oct 18 14:21
/home/wink/aarch64-toolchain/gcc-linaro-aarch64-linux-gnu-4.7+bzr115029-20121015+bzr2506_linux/bin/aarch64-linux-gnu-gcc-4.7.3
I get a file not found:
wink@ssi-primary:~$ strace
/home/wink/aarch64-toolchain/gcc-linaro-aarch64-linux-gnu-4.7+bzr115029-20121015+bzr2506_linux/bin/aarch64-linux-gnu-gcc-4.7.3
-v
execve("/home/wink/aarch64-toolchain/gcc-linaro-aarch64-linux-gnu-4.7+bzr115029-20121015+bzr2506_linux/bin/aarch64-linux-gnu-gcc-4.7.3",
["/home/wink/aarch64-toolchain/gcc"..., "-v"], [/* 19 vars */]) = -1
ENOENT (No such file or directory)
dup(2) = 3
fcntl(3, F_GETFL) = 0x8002 (flags
O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
= 0x7fa688be5000
lseek(3, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: No such file or di"..., 40strace: exec: No such
file or directory
) = 40
close(3) = 0
munmap(0x7fa688be5000, 4096) = 0
exit_group(1) = ?
I must have done something real stupid, any help appreciated.
-- Wink
== Progress ==
* Very short working week.
* Discussions about next steps in Lava integration.
* Followed up on Arndale/GCC build issues.
== Next week ==
* Review pending Backports
* Investigate bootstrap ICE PR56184 further
== Future ==
* Run HOT/COLD partitioning benchmarks
* Analyse ARM results
* On x86_64 to see what the actual benefit we could get
* fix-gcc-multiarch-testing
* Come up with strawman proposal for updating testsuite to handle
testing with varying command-line options.
--
Matthew Gretton-Dann
Linaro Toolchain Working Group
matthew.gretton-dann(a)linaro.org
== Progress ==
* 64-bits ops in Neon: upstream accepted the patch for gcc-4.9-stage1
* smin-umin: several benchmarks runs necessary to confirm that the
generic patch I suspected actually caused the regression. However, it
also brings improvements in other benches (office-type).
* looked at libasan: very little configuration seems necessary, but
running a sample program under qemu leads to asan runtime complains.
* internal tasks
== Next ==
* smin-umin: run benchmarks on trunk to confirm the regression is also present.
* vectorizer cost model: handle Richard's feedback.
* get more codecs sample codes.
* libasan: understand error messages
Christophe.
== Progress ==
* February merge 4.6 and 4.7
- backport a patch from upstream to resolve conflicts
- this backport introduced some merge issues
- fix pushed and merge request ongoing
* Boehm GC AArch64 support:
- libatomic_ops maintainer rework the patch to make the usage of
gcc atomic builtins available on the other targets
- test exhibit some failures
* libunwind aarch64 support
- bug status moved to critical
- configuration and machine description done
- implementation ongoing
* Aarch64 porting meeting:
- Cancelled this week
== Next ==
* February merge 4.6 and 4.7
- log new testsuite failures in launchpad
* Boehm GC AArch64 support:
- fix libatomic_ops
- validate GCC's Boehm gc integration
* libunwind aarch64 support
- conitnue.
== Progress ==
* Implementing GC sections support in bintuils
Looking at aarch64 relocations to consider while sweeping.
* Cbuild experiments to test gcc svn aarch64 4.7 branch.
Connection problems to the cbuild machines are solved now.
Thanks to Matt. Spawned the build.
Misc
------
* Attend tool chain weekly meet, and stand up call
* Had a look at one x86_64 related patch that gone into GCC trunk.
== Next week ==
* Continue Implementing GC sections support in binutils.
* Start analysis on jump threading in GCC.
== Progress ==
-Attended 1:1 and other team meetings
-Read linaro wiki and on boarding instructions
-Backported Cortex A7 pipeline description to Linaro 4.7 gcc from fsf
trunk and got it reviewed
== Plan for next week ==
- Look into CoreMark regresses in Thumb-2 mode when using the LR regnum.
- Start with research for Removing unnecessary zero/sign extends
Progress:
* Linaro's KVM/QEMU mini-summit, aimed at summarising current status,
identifying what needs to be done and what Linaro should be doing:
https://wiki.linaro.org/LEG/Engineering/Virtualization/201302MiniSummit
* implemented support for variable-length qdev array properties in QEMU
and sent out patch for this plus vexpress fixes which use it
* investigated how to run the Linux Test Project syscall tests under
QEMU to improve the quality of our linux-user mode testing
(wrote up a howto for the QEMU wiki: http://wiki.qemu.org/Testing/LTP
many thanks to fabo for whipping up a Jenkins job to run these nightly)
* couple of trivial linux-user patches as example low-hanging fruit
revealed by the LTP test results
-- PMM
== Progress ==
* Buildbots
- Setting up Chromebook with a buildbot
- http://llvm.org/viewvc/llvm-project?view=revision&revision=174421
- http://lab.llvm.org:8011/builders/clang-native-arm-cortex-a15
- 1h25min builds (3x faster than Pandas)
* LAVA
- Trying LLVM builds on Arndale
- GCC segfaults:
- "The bug is not reproducible, so it is likely a hardware or OS problem."
* Distributed Panda
- Setting up the boards, getting distcc on them
- Speedup is squat (1.9%) because of too many parallel linking
- Need to add LD to a group with less resources on Ninja
* Vectorization
- Reviewing some patches, discussing implementation details
- Vectorization vs. O3 speedup: 2.5x ~ 3.0x (on both ARM and x86_64)
- Working on global structure alias analysis
* LLVM
- Campaigning for integrates-as to be turned on by defaultfor ARM
- ARM seems interested in fixing the eventual bugs
- Adding 'armv7l' triple to default to 'cortex-a8'
- http://llvm.org/viewvc/llvm-project?view=revision&revision=174466
- Campaining for buildbots to use CMAke/Ninja
* EuroLLVM
- Followup meeting, securing funding
== Plan ==
* Change buildbots to not "make clean", try cmake
* Try to reduce parallel linking flood, try one more panda
* Continue with global structure alias analysis
* Try to setup a test-suite buildbot
== Progress ==
* Welcomed Kugan to the team working on GCC
* Welcomed James Elliott to the team as project manager
* Found Cortex-A9 bootstrapping issue raised as PR56184
* Fixed build issues in GCC and GDB.
* Patch reviews.
== Next week ==
* Investigate PR56184 further.
== Future ==
* Run HOT/COLD partitioning benchmarks
* Analyse ARM results
* On x86_64 to see what the actual benefit we could get
* fix-gcc-multiarch-testing
* Come up with strawman proposal for updating testsuite to handle
testing with varying command-line options.
--
Matthew Gretton-Dann
Toolchain Working Group, Linaro
hi,
i am using linaro toolcahin binaries to execute simple .c file , so that it creates ARM executable output file i can run on Linaro installed on Hackberry board.
this are the all steps i follwed from beginnng..
please let me know if i am missing something here..
1. i have downloaded gcc for ubuntu from this link https://launchpad.net/linaro-toolchain-binaries/+milestone/2012.04
2. on ubuntu, i did tar xjf gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux.tar.bz2 export ARM_CROSS_TOOLS=pwd/gcc-linaro-arm-linux-gnueabi-2012.04-20120426_linux/bin/arm-linux-gnueabi- export ARMCC=${ARMEL_CROSS_TOOLS}gcc
& then
$ARMCC hello.c
it created a.out (which is simple executable file and not ARM executable)
What i am doing wrong here? i am not getting how do i need to configure gcc .
please revert back ASAP!
Thanks & regards,
Swati
The contents of this e-mail and any attachment(s) may contain confidential or privileged information for the intended recipient(s). Unintended recipients are prohibited from taking action on the basis of information in this e-mail and using or disseminating the information, and must notify the sender and delete it from their system. L&T Infotech will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in this e-mail"
Hi,
It seems to me that your current toolchain releases [1] don't default to a
multiarch layout. Am I looking in the right place? Do you anticipate enabling
multiarch in the future? Is doing this currently blocked by limitations in
tools such as crosstool-ng?
1. http://releases.linaro.org/13.01/components/toolchain/binaries
Thanks,
Christopher
--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by
the Linux Foundation
As of revision 174322, AArch64 back-end is compiled by default on all
architectures.
This means it'll be built and tested on all platforms and it'll get heavy
bombardment of the changes in the front- and middle-end without breaking
for too long.
Thanks Tim for the hard work!
cheers,
--renato
== Progress ==
* Boehm GC AArch64 support:
- Added information to the libatomic_ops patch, stiil under review
- backported AArch64 support to the GCC boehm-gc, test on-going
* Libunwind AArch64 support:
- started.
* Aarch64 porting meeting:
- request to move to eglibc 2.17 (done by Zhenqiang)
* LCA13:
- hotel and plane booked
== Next ==
* Validate boehm-gc GCC integration
* Libunwind AArch64 support
== This Week ===
* Joined Linaro, had welcome meeting with Matt
* Set up my office at home
* Laptop purchased and had it ready for development
* Exchanged emails with various people for getting started and read a lot
of administrative material on the wiki pages.
* Registered for the connect, figured out visa process and sent request to
Arwen for required documents.
* Attended Weekly toolchain call, stand-up call and 1:1 with Matt.
* Started work on GDB Testing in various configurations for analysis of
current GDB status on ARM.
* Build GDB on x86_64 machine and had test suite run in local and remote
configuration.
* Suffered from a bad run of cough n fever.
== Next week ==
* Continue with Analysis of GDB status on ARM, hopefully get to access a
pandaboard remotely and setup QEMU as well.
* Apply for Hong Kong Visa for the connect.
* Visit local market to resolve pending office setup and hardware
requirements.
* More Wiki reading and getting to know different processes at Linaro.
* 5th February public holiday in Pakistan.
Summary:
* Linaro toolchain binary 2013.01 release
* Move to using EGLIBC 2.17 in aarch64 build
Details:
1. Linaro toolchain binary.
* Document on how to do release test.
* Help Bero on 2013.01 release.
* Investigate lp:1107659. Crosstool-ng upstream has a workaround fix.
2. Move to using EGLIBC 2.17 in aarch64 build.
* Update Linux version to 3.7.0 since eglibc 2.17 configure
"checking for kernel header at least 3.7.0".
* Migrate local patches for eglibc 2.16 to 2.17 and update the config to 2.17
* Package build is OK. Test on simulation is ongoing.
3. Collect SPEC performance for different branch costs.
* The total results wave less than 0.5%.
* Three cases have 1-2% regression for smaller branch cost. Will
analyze the detail impact for the three cases.
Plan:
* Investigate coremark performance impact for different branch costs.
* Commit EGLIBC 2.17 changes
Planed leaves:
* Feb. 9 - 15: Chinese Spring Festival.
Best Regards!
-Zhenqiang
== Progress ==
* Backport
Tested and backported patch written to CSE optmize compares.
http://gcc.gnu.org/ml/gcc-patches/2013-02/msg00015.html
Ran GCC regression suite with ARMV8 foundation model for aarch64-none-elf
* Implementing GC sections support in bintuils
Had a quick look at changes need to be added.
Reading about relocations that needed to considered for
elf_backend_gc_sweep_hook
* Tried using Cbuild for buildign and testing gcc4.7 aarch64 branch.
ssh keys are not in sync. I am getting permission denied.
Cheking with David and Andy in valdation team.
Misc
* Attend tool chain weekly meet, and stand up call
* Attend usual AMD meetings
* Performed one x86_64 AMD task
* Booked tickets, hotel and got invite letter for Linaro connect.
== Next week ==
* Complete Cbuild experiments to test gcc svn aarch64 4.7 branch.
* Continue gc section support. Implement elf_backend_gc_sweep_hook
== Progress ==
* 64-bits ops in Neon: No news from upstream.
* vectorizer cost model: added possibility to tune the problem by
processor type.
* smin-umin: regression actually caused by a previous patch brought
when merging bswap16 support. Investigation on-going.
* managed to run spec2k on local board. Need to upload tools compiled
for hf platform.
* tcpanda heat problems: GCC testsuite passed.
* hot-cold partitioning: posted a follow-up to google patches on gcc-patches.
* looked at some codecs needing improvements (Neon intrinsics usage)
* feedback on lava/cbuild integration
* hotel/plane booked for Connect.
== Next ==
* handle 64-bits bitops in Neon feedback from upstream if any
* smin-umin: check bench results with probable culprit patch reverted.
Will need investigation on trunk too.
* vectorizer cost model: check bench results
* get more codecs sample codes.
Activity:
* calls and meetings
* last bits and pieces of ARM QEMU patches sent prior to upstream
1.4 hardfreeze
* continuing fixes for running a 3.8-rc4 vexpress kernel on QEMU:
* refactored the way we handle SYS_CFG vexpress registers so it's
possible to reasonably add support for more of them
* put together a basic implementation of the various regs
we're missing (oscillator, voltage, and some misc)
* ideally this would be done via variable-length qdev array
properties; started looking at how hard those would be to implement
* investigated linux-user bug where an edge case in use of
get_user_u32() had accidentally been broken; sent patch
* all travel/hotels now booked for Connect
-- PMM
== Progress ==
* Welcomed Omair to the team working on GDB
* Starting investigating cortex-a9 bootstrap failure
* Blueprints updating
* Preparing for two new starters next week
== Next week ==
* Welcome two new members to the team.
* Finish cortex-a9 bootstrapping investigations
== Future ==
* Run HOT/COLD partitioning benchmarks
* Analyse ARM results
* On x86_64 to see what the actual benefit we could get
* fix-gcc-multiarch-testing
* Come up with strawman proposal for updating testsuite to handle
testing with varying command-line options.
--
Matthew Gretton-Dann
Toolchain Working Group, Linaro
== Progress ==
* Maintenance
- Fixing ARM buildbots, poking people to fix bugs, keeping them green
- http://llvm.org/viewvc/llvm-project?view=rev&revision=173510
* Cost Model
- Fixing some bugs on the generic code
- http://llvm.org/viewvc/llvm-project?view=rev&revision=173691
- Adding some simple free cast (plus some infrastructure)
- http://llvm.org/viewvc/llvm-project?view=rev&revision=173849
* LLVM
- Investigating APFloat issue on Chromebook (bad libraries?)
- Clang miscompiles and show same synthoms, will play with options next
week
- AArch64 back-end in, to be built by default
* LAVA
- Got three last errors due to include path ('bits/predefs.h' file not
found)
- libc6-dev + libstdc++-dev have no effect, problem doesn't show on
buildbots
- Testing heating problem with multiple images (only 12.02 is good)
- Testing other boards, other images (with Dave)
* Friday Holiday
== Plan ==
* Try a bit more on the APFloat issue in Chromebook, but I think that's
just bad distro (ChrUbuntu), since no one else has this problem. Has anyone
put any Linaro image on a Chromebook?
* Continue working on getting faster builds on LAVA (quad-core origen,
Arndale, etc) with Dave Pigot.
* Continue micro-benchmarking the vectorization and updating the
cost-model. Start discussing the side-effects that are not modelled at all.
The Linaro Toolchain Working Group and Platform Team are pleased to
announce the 2013.01
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.7 2013.01
* Linaro GDB 7.5 2012.12
* 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.
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://launchpad.net/linaro-toolchain-binaries/trunk/2013.01
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.
Hi,
I have a few armv7 assembly tests. I'm trying to compile these using the linaro aarch64 toolchain and I'm getting errors.
Is there any specific flag that I have to pass to enable backward compatibility to allow v7 assembly to be compiled for a v8 model?
reset.s: Assembler messages:
reset.s:32: Error: operand 1 should be an integer register -- `mov r0,#0'
reset.s:33: Error: unknown mnemonic `mcr' -- `mcr p15,0,R0,C13,c0,1'
reset.s:36: Error: unknown mnemonic `mrc' -- `mrc p15,0,r0,c1,c0,0'
reset.s:40: Error: operand 1 should be a SIMD vector register -- `orr r0,r0,#0x00001000'
....
Relevant assembly code:
....
_reset:
// init Context ID Register
MOV r0, #0
MCR p15, 0, R0, C13, c0, 1
// Enable Instruction cache
mrc p15, 0, r0, c1, c0, 0
/* set bits:
12 = I i-cache
*/
orr r0, r0, #0x00001000
mcr p15, 0, r0, c1, c0, 0
.....
This is my assembler command: aarch64-linux-gnu-as -march=armv8-a+fp --keep-locals -o "reset.o" "reset.s"
Thanks,
Kalai