== Progress ==
* Off Monday after travelling back from Connect
* Catching up on email and post-Connect admin
* Released Linaro binutils 2.24.0 2014.03
* Submitted aarch64 setcontext patches upstream
* Submitted a patch for ld RELASZ issue
* Looked into eglibc svn mirroring
== Issues ==
* None
== Plan ==
* Resolve eglibc mirror situation
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* Get started with Aarch64 GDB testing and development process using
foundation model. [6/10] [CARD-1115]
-- Figured out steps for running gdb in remote mode using foundation model.
-- Wrote a wiki page with steps on development process, still in progress.
-- Completed a gdb testsuite run and made a comparison with arm gdb.
-- All new testsuite results will be available on gdb wiki page.
-- Setup aarch64 gdb remote debugging.
* Updates to GDB pages on wiki.linaro.org [TCWG-96] [2/10]
-- Added pages containing test scripts and gdb testing tips
-- Added page containing current gdb testsuite results in various
configurations
* Add support for fork/vfork/exec events/catchpoints in remote
gdbserver [TCWG-263] [1/10]
-- GDB code review for task break down, still in progress.
* Fix network and internet problems [1/10]
== Plan ==
* Arm v8 reverse debugging support.[CARD-1115]
-- Provide card update and deliverable list.
-- Implement reverse debugging infrastructure for aarch64 gdb.
* Add support for fork/vfork/exec events/catchpoints in remote
gdbserver [TCWG-263]
-- GDB code review for task break down, still in progress.
* Update and cleanup gdb wiki pages on wiki.linaro.org
* All open gdb card review and update.
== Progress ==
* Went through few Linaro Connect - LCA14 slides and videos .
* Restarted upstream discussions on writing machine descriptions for
stack smashing. Working on submitting patches again as per Marcus
suggestions.
* Installed "CPU2006" in foundation model running open embedded image
and tried running 403.gcc benchmark.
* Tried buiding QEMU for aarch64 on ubuntu 12.04,2. I am getting
segment fault on using -L <library path >. Need to debug further.
* PGO runs: GCC boot strap failed when libjava building at stage3.
Need to have re-look further. Issue may be missing package in
opembedded image on foundation model.
Misc
------
Attended some Internal meetings.
== Plan ==
* Continue machine descriptions for stack smashing work.
* Work on using QEMU for running gcc test suites
* Restart PGO bootstrap failure investigations
== Issues ==
* None
== Progress ==
* Validate R/M toolchain 4.8 q1 update release.
* Try Cross-Native build based on Linaro crosstool-ng.
* Handle conditional compare in ifcvt.c to make ccmp and csel work together.
* Read document about FCMP/FCCMP and investigate on how to generate
FCCMP instructions:
- The tree representation of UNORDERED compare (UNLT, etc) can not
fit into current framework to handle CCMP.
- For LT, LE, GT and GE, the compiler will generate FCMPE
instruction, which can not be the first compare of CCMP.
- For NE, EQ, it is easy to handle them based on previous patches.
== Plan ==
* Continue on ccmp performance tuning.
== This week ==
Completed the following backports related to a53 support:
201375 - Insn classification refactoring 7/n Factor out "type" attribute
201376 - Insn classification refactoring 7/n Factor out common
scheduling dependency routines (done)
201399 - Insn classification unification 1/n Define "type" attrib for
all patterns (done)
201400 - Share the a53 pipeline description between arm and aarch64 backends
201436 - Insn classification unification 4/N load/store types
202272 - [AArch64, AArch32][Insn classification refactoring 6/N] Remove
"neon_type" attribute
202291 - [AARCH64][Insn classification unification 3/N] ALU/shift types
202292 - [AArch64] Fix categorisation of the frecp* insns.
202323 - [Patch ARM] Add "type" attribute to Everything!
202328 - [ARM,AARCH64] Insn type reclassification. Split f_cvt type.
202329 - [Patch ARM AARCH64] Split "type" attributes: fdiv
202330 - [Patch AArch64] Fix types for some multiply instructions.
202331 - [AArch64, ARM] Rename the FCPYS type to FMOV
202332 - [AArch64, ARM] Use "multiple" for type, where more than one
instruction is used for a move
== Next week ==
Complete remaining backports for a53 support and complete builds for arm and aarch64.
== Future ==
--
Michael Collison
Linaro Toolchain Working Group
michael.collison(a)linaro.org
The Linaro Toolchain Working Group is pleased to announce the 2014.03
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 second engineering release. The next stable
release will be the 2014.04 release.
Linaro GCC 4.8 2014.03 is the twelfth release in the 4.8 series. Based
off the latest GCC 4.8.3+svn208264 release, it includes performance
improvements and bug fixes.
Interesting changes include:
* Updates to GCC 4.8.3+svn208264
The source tarball is available from:
http://releases.linaro.org/14.03/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.03
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
~
== Progress ==
* Ill until Thusrday due to Chinese food allergy/intolerance/poisoning
- Seems I'm not the only one...
* EHABI
- Adding a few more EH tests to test-suite
- Integration with ARM compiler better handled by ARM
- Plugging -fno-unwind-tables to disable EH tables in ARM
* Android
- Implementing __builtin___clear_cache in LLVM
- Need to add parsing to Clang later, and docs to LangRef
* AArch64
- Tested a "fix" on sphereflake, didn't work
- Seems the problem is the sin() results on glibc variants
- We might need to round the result a bit shorter to make it work everywhere
* Time
- CARD-862 8/10
- Others 2/10
== Plan ==
* Continue ___builtin__clear_cache implementation
* Continue RT and AArch64 test-suite investigation
Dear Linaro toolchain support team:
I am Justin Guo from S3 graphics Inc. I am studying linaro's big-little
codes and is using TC2 Platform.
I used ./linaro_kernel_build_cmds.sh to build kernel, I got no problem
when I set CONFIG_DEBUG_INFO=y to build for kernel.
However, When I trace kernel, the traced line in source code level is
jumping up/down, so I tried to turn off the optimization.
After modified Makefile as below to turn off optimization:
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,)
else
KBUILD_CFLAGS += -O0
endif
I got errors when build linaro kernel for TC2:
root@ubuntu:/home/justinguo/linaro/1309# ./linaro_kernel_build_cmds.sh
Directory linaro-kernel exists. If the kernel code exists in this
directory you may continue
without cloning the git repository for the kernel. Are you sure you want
to do this? (y/n)
y
M Makefile
HEAD is now at dafe325... Merge branch 'linux-linaro-lsk' into
linux-linaro-lsk-android
% Total % Received % Xferd Average Speed Time Time Time
Current
Dload Upload Total Spent Left
Speed
100 57281 100 57281 0 0 90703 0 --:--:-- --:--:-- --:--:--
188k
Using /home/justinguo/linaro/1309/linaro-kernel as source for kernel
GEN /home/justinguo/linaro/1309/linaro-kernel/out/Makefile
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
UPD include/generated/utsrelease.h
make[2]: `include/generated/mach-types.h' is up to date.
CC kernel/bounds.s
GEN include/generated/bounds.h
CC arch/arm/kernel/asm-offsets.s
GEN include/generated/asm-offsets.h
CALL
/home/justinguo/linaro/1309/linaro-kernel/scripts/checksyscalls.sh
CC scripts/mod/empty.o
MKELF scripts/mod/elfconfig.h
CC scripts/mod/devicetable-offsets.s
GEN scripts/mod/devicetable-offsets.h
HOSTCC scripts/mod/file2alias.o
HOSTCC scripts/mod/modpost.o
HOSTCC scripts/mod/sumversion.o
HOSTLD scripts/mod/modpost
CC init/main.o
CHK include/generated/compile.h
CC init/version.o
CC init/do_mounts.o
CC init/do_mounts_rd.o
CC init/do_mounts_initrd.o
LD init/mounts.o
CC init/initramfs.o
CC init/calibrate.o
CC init/init_task.o
LD init/built-in.o
CC arch/arm/vfp/vfpmodule.o
AS arch/arm/vfp/entry.o
AS arch/arm/vfp/vfphw.o
CC arch/arm/vfp/vfpsingle.o
CC arch/arm/vfp/vfpdouble.o
LD arch/arm/vfp/vfp.o
LD arch/arm/vfp/built-in.o
CC arch/arm/kernel/elf.o
AS arch/arm/kernel/entry-armv.o
AS arch/arm/kernel/entry-common.o
CC arch/arm/kernel/irq.o
CC arch/arm/kernel/opcodes.o
CC arch/arm/kernel/process.o
CC arch/arm/kernel/ptrace.o
CC arch/arm/kernel/return_address.o
/home/justinguo/linaro/1309/linaro-kernel/arch/arm/kernel/return_address
.c:63:2: warning:
#warning "TODO: return_address should use unwind tables" [-Wcpp]
CC arch/arm/kernel/sched_clock.o
CC arch/arm/kernel/setup.o
CC arch/arm/kernel/signal.o
CC arch/arm/kernel/stacktrace.o
CC arch/arm/kernel/sys_arm.o
CC arch/arm/kernel/time.o
CC arch/arm/kernel/traps.o
CC arch/arm/kernel/atags_parse.o
CC arch/arm/kernel/cpuidle.o
CC arch/arm/kernel/armksyms.o
CC arch/arm/kernel/module.o
AS arch/arm/kernel/sleep.o
CC arch/arm/kernel/suspend.o
CC arch/arm/kernel/smp.o
CC arch/arm/kernel/smp_tlb.o
CC arch/arm/kernel/smp_scu.o
CC arch/arm/kernel/smp_twd.o
CC arch/arm/kernel/arch_timer.o
CC arch/arm/kernel/ftrace.o
CC arch/arm/kernel/insn.o
CC arch/arm/kernel/unwind.o
CC arch/arm/kernel/devtree.o
CC arch/arm/kernel/swp_emulate.o
CC arch/arm/kernel/hw_breakpoint.o
CC arch/arm/kernel/perf_event.o
CC arch/arm/kernel/perf_event_cpu.o
CC arch/arm/kernel/topology.o
CC arch/arm/kernel/io.o
CC arch/arm/kernel/psci.o
/tmp/cciaYmCJ.s: Assembler messages:
/tmp/cciaYmCJ.s:147: Error: .err encountered
/tmp/cciaYmCJ.s:148: Error: .err encountered
/tmp/cciaYmCJ.s:149: Error: .err encountered
/tmp/cciaYmCJ.s:150: Error: .err encountered
/tmp/cciaYmCJ.s:191: Error: .err encountered
/tmp/cciaYmCJ.s:192: Error: .err encountered
/tmp/cciaYmCJ.s:193: Error: .err encountered
/tmp/cciaYmCJ.s:194: Error: .err encountered
make[2]: *** [arch/arm/kernel/psci.o] Error 1
make[1]: *** [arch/arm/kernel] Error 2
make: *** [sub-make] Error 2
root@ubuntu:/home/justinguo/linaro/1309#
Could you Please help fix these issues?
Best regards,
Justin Guo
Hi,
After a solid few months of work the QEMU master branch [1] has now reached
instruction feature parity with the suse-1.6 [6] tree that a lot of people
have been using to build various aarch64 binaries. In addition to the
SUSE work we have fixed numerous edge cases and finished off classes of
instructions. All instructions have been verified with Peter's RISU
random instruction testing tool. I have also built and run many
packages as well as built gcc and passed most of the aarch64 specific tests.
I've tested against the following aarch64 rootfs:
* SUSE [2]
* Debian [3]
* Ubuntu Saucy [4]
In my tree the remaining insns that the GCC aarch64 tests need to
implement are:
FRECPE
FRECPX
CLS (2 misc variant)
CLZ (2 misc variant)
FSQRT
FRINTZ
FCVTZS
Which I'm currently working though now. However for most build tasks I
expect the instructions in master [1] will be enough.
If you want the latest instructions working their way to mainline you
are free to use my tree [5] which currently has:
* Additional NEON/SIMD instructions
* sendmsg syscall
* Improved helper scripts for setting up binfmt_misc
* The ability to set QEMU_LOG_FILENAME to /path/to/something-%d.log
- this is useful when tests are failing N-levels deep as %d is
replaced with the pid
Feedback I'm interested in
==========================
* Any instruction failure (please include the log line with the
unsupported message)
* Any aarch64 specific failures (i.e. not generic QEMU threading flakeiness).
If you need to catch me in real time I'm available on #qemu (stsquad)
and #linaro-virtualization (ajb-linaro).
Many thanks to the SUSE guys for getting the aarch64 train rolling. I
hope your happy with the final result ;-)
Cheers,
--
Alex Bennée
QEMU/KVM Hacker for Linaro
[1] git://git.qemu.org/qemu.git master
[2] http://download.opensuse.org/ports/aarch64/distribution/13.1/appliances/ope…
[3] http://people.debian.org/~wookey/bootstrap/rootfs/debian-unstable-arm64.tar…
[4] http://people.debian.org/~wookey/bootstrap/rootfs/saucy-arm64.tar.gz
[5] https://github.com/stsquad/qemu/tree/ajb-a64-working
[6] https://github.com/susematz/qemu/tree/aarch64-1.6