== 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
Hello,
I am building an ELF image using aarch64-linux-gnu-ld from linaro:
GNU ld (crosstool-NG linaro-1.13.1-4.8-2014.02 - Linaro GCC 2014.02)
2.24.0.20131220
I am linking in the libstc++.a, which contains in particular a GOT
entry for __gthread_active_ptr that is of interest to me, pointing to
__pthread_key_create, used for detecting pthread support for
std::thread,
and while I get the relocations for the GOT itself in a .rela.dyn
section, and a nice pointer to it from the dynamic section (RELA), the
dynamic RELASZ entry contains zero:
Here is the comparison of the Dynamic section (note RELASZ) with the
following .rela.dyn relocations:
loader.elf: file format elf64-littleaarch64
loader.elf
architecture: aarch64, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x00000000400b0000
Program Header:
LOAD off 0x0000000000000000 vaddr 0x0000000040090000 paddr
0x0000000040090000 align 2**16
filesz 0x0000000000407084 memsz 0x00000000004aa504 flags rwx
TLS off 0x0000000000407080 vaddr 0x0000000040497080 paddr
0x0000000040497080 align 2**3
filesz 0x0000000000000004 memsz 0x0000000000000580 flags rw-
DYNAMIC off 0x0000000000001000 vaddr 0x0000000040091000 paddr
0x0000000040091000 align 2**3
filesz 0x0000000000000120 memsz 0x0000000000000120 flags rw-
EH_FRAME off 0x00000000003ce5fc vaddr 0x000000004045e5fc paddr
0x000000004045e5fc align 2**2
filesz 0x000000000000bae4 memsz 0x000000000000bae4 flags r--
NOTE off 0x0000000000000000 vaddr 0x0000000000000000 paddr
0x0000000000000000 align 2**3
filesz 0x0000000000000000 memsz 0x0000000000000000 flags ---
Dynamic Section:
NEEDED dummy-shlib.so
INIT_ARRAY 0x00000000404841b8
INIT_ARRAYSZ 0x0000000000000330
HASH 0x000000004044bd58
STRTAB 0x00000000403e3320
SYMTAB 0x00000000403a4110
STRSZ 0x0000000000068a33
SYMENT 0x0000000000000018
DEBUG 0x0000000000000000
RELA 0x00000000404780c0
RELASZ 0x0000000000000000
RELAENT 0x0000000000000018
private flags = 0:
...
10 .rela.dyn 00002058 00000000404780c0 00000000404780c0 003e80c0 2**3
CONTENTS, ALLOC, LOAD, READONLY, DATA
...
and now the .rela.dyn.relocations from aarch64-linux-gnu-readelf -r
loader.elf :
Relocation section '.rela.dyn' at offset 0x3e80c0 contains 345 entries:
Offset Info Type Sym. Value Sym. Name + Addend
0000404832d0 002b00000401 R_AARCH64_GLOB_DA 00000000405339c8
_ZNSt8time_getIwSt19is + 0
0000404832d8 004400000401 R_AARCH64_GLOB_DA 000000004047e450
_ZTISt7codecvtIcc11__m + 0
0000404832e0 004b00000401 R_AARCH64_GLOB_DA 00000000405338c8
_ZGVNSt8numpunctIcE2id + 0
0000404832e8 005800000401 R_AARCH64_GLOB_DA 000000004047c460
_ZTISt8messagesIcE + 0
0000404832f0 006200000401 R_AARCH64_GLOB_DA 000000004047df40
_ZTVSt9strstream + 0
0000404832f8 007200000401 R_AARCH64_GLOB_DA 00000000402870dc
_ZNSt17bad_function_ca + 0
000040483300 008500000401 R_AARCH64_GLOB_DA 0000000040534e58
_ZGVN9__gnu_cxx16bitma + 0
000040483310 00c300000401 R_AARCH64_GLOB_DA 0000000040533a18
_ZNSt6locale2id11_S_re + 0
000040483318 00dd00000401 R_AARCH64_GLOB_DA 000000004047c160
_ZTISt5ctypeIwE + 0
000040483320 00ea00000401 R_AARCH64_GLOB_DA 0000000040534e18
_ZZN9__gnu_cxx9free_li + 0
000040483328 011700000401 R_AARCH64_GLOB_DA 0000000040533968
_ZGVNSt8time_getIwSt19 + 0
000040483330 013500000401 R_AARCH64_GLOB_DA 000000004047cfd8
_ZTISt7num_getIwSt19is + 0
000040483338 017300000401 R_AARCH64_GLOB_DA 000000004021d51c
__pthread_key_create + 0
...
^^...note the __pthread_key_create relocation I am interested in...
I would expect the RELASZ in the dynamic section to be 0x2058 instead of 0.
Any tips to what could be wrong?
Thank you,
Claudio Fontana
Hi,
I'm trying to build the native compiler to a arm a9 using this tutorial,https://wiki.linaro.org/WorkingGroups/ToolChain/Using/GCCNative.Ho…, I need to compile in a x86_64 platform ubuntu, like this --target=arm-unknown-eabi --build=i686-pc-linux-gnu --host=arm-unknown-eabi, but without success.There is any possible solution?
Thank you.Felipe Rocha da Rosa.
Hi all,
We are using Linaro 13.03 toolchain(gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux We are trying to execute a simple test code to check whether ARM assembly code executes on board or not. Execution is on Arndale Board. Every time We include assembly function, We get segmentation fault. Kindly check if I We are missing any arm related flags in makefile.
We have attached the 'helloworld' test code and makefile.
Regards,
Vishwa
===============================================================================
Please refer to http://www.aricent.com/legal/email_disclaimer.html
for important disclosures regarding this electronic communication.
===============================================================================
If your code is sensitive to the size of long long, can you use the predefine:
__SIZEOF_LONG_LONG__
If that doesn't work, then you can use:
gcc -dM -E - < /dev/null
to tell you what predefines a gcc compiler has (I would probably look for predefines more specific to what your code is sensitive to than look for a particular compiler).
I also wonder a little about your original problem statement since "%lld" should be a way to always print "long long" and if you have a matched set of compiler and library, then it should adjust both together. If you are using "%ld" instead, this works in situations where "long" is the same size as "long long" but may not work when these are different sizes.
--mev, Mike Vermeulen
Hi there!
On Linaro gcc 4.6, I am facing an issue due to "long long" integers
not being 64 bit as they are on other platforms I'm targeting,
which causes different issues, most importantly with printf format
strings. I am now circumventing these by using the C/C++ preprocessor
in order to choose the right format strings. In order to minimize the
necessity for users to manually configure things, I'm wondering if
there is a way to detect the Linaro gcc compiler through preprocessor
macros. Is this possible?
Thanks.
Best regards,
Isidor
Hi all,
We are using Linaro 13.03 toolchain(
gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux We are trying to
execute a simple test code to check whether ARM assembly code executes on
board or not. Execution is on Arndale Board. Every time We include assembly
function, We get segmentation fault. Kindly check if I We are missing any
arm related flags in makefile.
We have attached the ‘helloworld’ test code and makefile.
Regards,
Vishwa
Is that supposed to be possible? When I add --disable-multilib to the
configure options, the build fails on the install, because it hasn't built
any of src/gcc-linaro-4.8-2014.02/libgcc:
/bin/sh ../../../../src/gcc-linaro-4.8-2014.02/libgcc/../mkinstalldirs
/home/ubuntu/work483/build/sysroot/home/ubuntu/opt/cross-gcc-linaro/lib/gcc/arm-linux-gnueabi/4.8.3
/usr/bin/install -c -m 644 libgcc_eh.a
/home/ubuntu/work483/build/sysroot/home/ubuntu/opt/cross-gcc-linaro/lib/gcc/arm-linux-gnueabi/4.8.3/
/usr/bin/install: cannot stat `libgcc_eh.a': No such file or directory
make[3]: *** [install-shared] Error 1
make[3]: Leaving directory
`/home/ubuntu/work483/build/gcc/arm-linux-gnueabi/libgcc'
make[2]: *** [install-target-libgcc] Error 2
make[2]: Leaving directory `/home/ubuntu/work483/build/gcc'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/home/ubuntu/work483/build/gcc'
make: *** [stamp/gcc-install] Error 2
I don't want or need multilib, so I'd rather build the toolchain without
it, but before I try to make that happen, I wanted to make sure it's
supposed to be able to get built correctly that way.
Thanks,
Diane
== Progress ==
* IAS (TCWG-377)
- Long discussions about magic in inline asm
- Bottomline is: we're still validating anyway
* AArch64 (TCWG-387)
- Making it build with CMake, discarding some tests
- Similar changes to the test-suite
- All green except sphereflake
* Buildbots
- Investigating one failure on test-suite due
to register allocator changes
- Will continue this during or after Connect
* Background
- Connect preparations
- EuroLLVM 14 sync call, paper discussions
- Researching some kernel C/ASM syntax
- Studying __builtin_constant_p usage
- Patch reviews, etc.
* Time
- CARD-862 8/10
- Others 2/10
== Plan ==
* Connect
(slightly delayed)
== Progress ==
* 3 day week (annual leave Thursday and Friday)
* QEMU ARMv8 CRC instructions (4/10, TCWG-52)
* Slides for Connect (1/10)
* Further work on longjmp/setjmp Systemtap probes on ARM (1/10, TCWG-378)
== Issues ==
* None
== Plan ==
* Complete QEMU CRC instruction work
* Preparation for Connect
--
Will Newton
Toolchain Working Group, Linaro
== This week ==
- US Holiday on Monday, January 17th
- Backported 202407 - Fix parameter to vrsqte_f64
- Backported 202259 (on read/write branch) - AARCH64, fix return types
for vaddvq_s64, vaaddvq_u64
- Backported 202321 - Fix vdup<bhsd>_lane<q>_* instrinsics' lane parameter
- Backported 202322 - Fox register constraints for lane intrinsics
- Installed Qemu64 simulator and attempted to test aarch64 backports.
- Shared library issue is preventing qemu64 from executing; Rob Savoy
is investigating
== Next week ==
- Test pending git review backports with Qemu64 if issues resolved
- Test backports completed this week on Qemu64
- New backports
== Future ==
--
Michael Collison
Linaro Toolchain Working Group
michael.collison(a)linaro.org
== Issues ==
* none
== Progress ==
* LRA on AArch32:
o TCWG-343 : Make LRA the default for the ARM backend (0/10)
- No progress this week on my side.
o TCWG-345 : Analyse performance of LRA for ARM. (4/10)
- Analysed Spec2K figures on Cortex-a15.
* Backports review: (1/10)
o Start to look at the Gerrit review process.
o Lack of testsuite results
* Misc:
o LCA'14 : AArch64 toolchain status session. (3/10)
o Various meetings. (2/10)
== Next ==
* Backports review
* https://bugs.launchpad.net/bugs/1169164
* Connect
== Progress ==
* Completed testing and submitted patches upstream. [TCWG-251] [TCWG-252] [1/10]
* Travel to capital Islamabad for Macau visa follow up. [3/10]
* Shifting to new office space and setting up office [6/10]
== Plan ==
* Study aarch64 code and create task breakdown for record/replay
support. [TCWG-389]
* Setup gdb for aarch64 and try to run a demo application. [TCWG-389]
* Write how-to for using scripts to compare two gdb testsuite runs. [TCWG-96]
* Setup network and internet etc in new office space.
== Issues ==
* None
== Progress ==
* CCMP for AARCH64.
- Design cases to cover most conditional compare combinations.
- Set up qemu environment and run regression tests. And fix all the new FAILs.
* Respawn 2014.01-01 baremental toolchains by setting
CT_TARGET_LDFLAGS=" --specs=rdimon.specs "
* Rebuild arm-linux-gnueabi toolchain and ran spec2k. But can not
reproduce the regression about Linaro 4.8 based on 2014.01 release.
== Plans ==
* Send out the CCMP patches for community review.
== Progress ==
- TCWG-394 (5/10)
- Found one more issue, regression tested and posted the patch
upstream for review
- http://gcc.gnu.org/ml/gcc-patches/2014-02/msg01282.html.
- TCWG-395 (1/10)
- Started with a google doc for wiki update
- Speck regression analysis with 4.7, 4.8 Nov and Dec releases (2/10)
- Native build of these versions and rank spec2k benchmarking for all
of them
- Not able to reproduce it on a15 as reported
== Misc ==
1 Day off sick
== Plan ==
- Get all the information required for wiki - TCWG-395
- Start working on TCWG-396
== Progress ==
* Fixed remote testing via Cbuildv2 (TCWG 324 - 3/10). Currently it
supports multiple build farms, it uses my local hardware and the
TCWG build farm, and when run via Jenkins it uses the TCWG build
farm.
* Got qemu-aarch64 built and working, added to the DejaGnu site.exp
file used by Cbuildv2, so now aarch64 execution tests actually
work. Then cloned qemu-aarch to the x86_64 tcwg build farm
machines so Jenkins can use it. (TCWG 393 - 3/10)
* Meetings and misc. (4/10)
- Worked on LCA14 presentation.
- Write documentation on how to tweak the config file for DejaGnu
used by Cbuildv2 for remote test execution.
- Got Gerritt and Jenkins integrated (thanks Paul!) so merge
requests fire up Jenkins to do builds on everything in the TCWG
build farm.
- Had ITS create a new list 'tcwg-test-results', which soon will
get buid failure notifications from Jenkins and any test
regressions.
- Added support for emailing test results to Cbuildv2.
== Plan ==
* Test the Gerrit/Jenkins integration.
* Improve new test analysis script to compare builds from more than
the same day, since now some test runs take 32hours with all the
execution tests running on a chromebook an Beagle Board.
* Travel to Connect!
== Issues ==
* Somebody needs to upgrade the crouton install on all our
chromebooks, as the current version won't build GCC native.
== Progress ==
* IAS (TCWG-377)
- Abandoning softvfp implementation, we should not use it
- Both softvfp and dwarf flags went back to kernel/android
- Macro issue has been solved, IAS is now Gold!
- Still doesn't compile the kernel, though... ;)
- Discussions about inline assembly bailing on asm garbage
* AArch64 (TCWG-387)
- Trying to get the build working and passing tests
- Some worries about config.guess updates (license)
- Commented out some old JIT tests, they will never work
- Memory allocation failures look real bugs, though
- At least Five real bugs in test-suite
* Background
- Patch reviews
- Further discussions about Dwarf vs. EH unwind tables
- Discussing vectorizer pragmas with GCC list
- Reviewing EuroLLVM14 papers
- Helping Rob upgrade TCWG Chromebooks
* Time
- CARD-862 8/10
- Others 2/10
== Plan ==
* Take a look at Compiler-RT
* Check some of the AArch64 errors
* Maybe EH/unwind issues
* Connect
Hi,
I finally got around to checking the attached patch for the
https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1270789
I noticed attached patch causes regression for pr38151.c in gcc test-suite.
A reduced test-case that triggers this is:
static unsigned long global_max_fast;
int __libc_mallopt (int param_number, int value)
{
__asm__ __volatile__ ("# %[_SDT_A2]" :: [_SDT_A2] "nor"
((global_max_fast)));
global_max_fast = 1;
}
In this regard I have couple of questions:
1. Is the in-line asm valid? Look ok to me.
2. For the pr38151.c regression, asm diff is as shown below.
< add x0, x0, :lo12:.LANCHOR0
< ldr x0, [x0]
---
> ldr x0, [x0,#:lo12:.LANCHOR0]
This causes:
pr38151.c:(.text+0x10c): relocation truncated to fit:
R_AARCH64_LDST64_ABS_LO12_NC against `.rodata'
collect2: error: ld returned 1 exit status.
If I however increase the alignment of .rodata where .LANCHOR0 is
defined, this passes. Is alignment of BITS_PER_UNIT valid for
SYMBOL_REF? If I change it as I am doing this attached patch, is there
anything else I need to do.
Thanks,
Kugan
Hi Linaro'ites
We have upgraded eglibc to 2.19 in OpenEmbedded and I started to notice
WARNING: No recipes available for:
/home/kraj/angstrom/sources/meta-linaro/meta-linaro-toolchain/recipes-core/eglibc/eglibc_2.18.bbappend
NOTE: Resolving any missing task queue dependencies
And it seems in this bbappend the SRC_URIs are overridden to point to a Linaro
release of eglibc
I wanted to know if there is a 2.19 head for linaro eglibc being created ?
in that case that bbappend needs fixing too.
Thanks
-Khem
Ganesh,
Thank you for your email - please note this question is best directed
at linaro-toolchain(a)lists.linaro.org where it is more likely to get
picked up quickly.
Our general rules for benchmarking are to use -mcpu=cortex-a## -O3 as
the compiler flags (where ## is the particular CPU you are interested
in).
Linaro's philosophy is to try and get the best results possible that
normal users will see, we don't go looking for 'magic' options that
may give better performance on one benchmark, but not in general.
Thanks,
Matt
On 20 February 2014 09:22, Gopalasubramanian, Ganesh
<Ganesh.Gopalasubramanian(a)amd.com> wrote:
> Hi,
>
> We would like to run some benchmarks in the foundation model.
> I like to know which is the best option-set (GCC compiler options) that the linaro community recommends for aarch64.
>
> Regards
> Ganesh
>
--
Matthew Gretton-Dann
Linaro Toolchain Working Group
matthew.gretton-dann(a)linaro.org
== Progress ==
- vectorizer (7/10)
- Looked into vectorizer target-hooks
- enablement of half-float for vectorising; dropped the patch after
discussing
- Started analysing code generated with unlimited model
- gcc 4.8 regression (1/10)
- Built Novemnebr and December release (native with system libc)
- Ran spec2k fp. Can see regression for ammp with -O3 (with
-march=armv7-a and -mthumb)
-Started bisecting
- Chromebook reset-up (2/10)
- SD card died and setup again
- Using hdd for gcc testing
== Plan ==
- Check ARMv5 regression for unaligned access
- Look into vectorizer cost model/benchmarking
Richard,
I found some emails about you implementing softvfp back in 2003, and
I'd like to know what is the expected behaviour when it conflicts with
the target triple, for example:
-triple arm-linux-gnueabihf + -mfpu=sofvfp+vfp
In this case, in LLVM, the triple sets "-float-abi=hard" but the fpu
would set "+soft-float-abi", which are contradictory flags.
Is that case even possible? If so, what's the expected behaviour? Soft
or hard float?
Do the extra flags always override the triple behaviour? Is it
expected that *every* compiler flag will work on a
last-seen-sets-behaviour manner?
cheers,
--renato
== Week of February 10th ==
- Reproduced STREAM performance regression. Started investigation. (3/10)
- Setup development environment on HP Chromebook 11. (3/10)
-- Chrome OS + crouton + ubuntu 12.04 + ppa/chromebook-arm -- produced a nice dev board environment.
- Continued account setup and preparations for Connect. (2/10)
- Misc. (2/10)
-- Various meetings.
-- Volunteered as admin for GCC's GSoC 2014. Filled in the application, started to stir up buzz in the GCC community.
== Week of February 17th ==
- Continue investigation of STREAM performance regression.
- Prepare FSF GCC 4.10 presentation for Connect.
- Look more into how LAVA does things and how to customize rootfs'es for boards.
-- In particular I'm interested in how to boot rootfs with matching kernel and linux-tools (perf is what I need) with ssh server on keystone board.
--
Maxim Kuvyrkov
www.linaro.org
== Progress ==
* Updated, tested and re-submitted patch for arm native
watchpoint/hwbreak rework. [2/10]
* Updated, split-up and tested patches for process record ASIMD, VFP
etc support. [TCWG-251] [TCWG-252] [3/10]
* Tried setting up gdb for aarch64, no luck yet. [TCWG-389] [1/10]
* Investigation of work required for catchpoints support for remote
gdb and gdbserver. [TCWG-263] [2/10]
* Study armv8 instruction set for record replay support. [TCWG-389] [2/10]
== Plan ==
* Follow up on upstream patches.
* Study aarch64 code and create task breakdown for record/replay
support. [TCWG-389]
* Setup gdb for aarch64 and try to run a demo application. [TCWG-389]
* Write how-to for using scripts to compare two gdb testsuite runs. [TCWG-96]
* Out of office on Tuesday and Wednesday for follow up on Macau visa
application.
== Issues ==
* none
== Progress ==
* 4.8 2014.02 Engineering release. (3/10)
* TCWG-58 : AArch64: Enable libsanitizer (2/10)
o re-based christophe's patch on fresh LLVM sources.
o committed in LLVM (Thanks Renato for your help)
o Progress stopped on this card until 4.10 GCC is opened
* LRA on AArch32:
o TCWG-343 : Make LRA the default for the ARM backend (0/10)
- No progress this week on my side.
- Vladimir upstreamed a fix for Thumb code size regression
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59535
o TCWG-345 : Analyse performance of LRA for ARM. (1/10)
- re-run Spec2K on Cortex-a15.
* Misc:
o LCA'14 : AArch64 toolchain status session. (1/10)
o Support Christian Bruel in his Linaro ramp up. (1/10)
o Various meetings. (2/10)
== Next ==
* Continue the on-going tasks
* backports review
== Issues ==
* None
== Progress ==
* Take care lp: 1270040, lp:1278337 and Beagleboard "Abort" issue.
* Respawn 2014.01 release to use newlib-linaro-2.1.0-2014.02 for
baremetal toolchains
(http://cbuild.validation.linaro.org/binaries/2014.01-01/)
* Test codes to duplicate shared compares to get more conditional
compares. Fix the bootstrap issue. But the latest test does not show
performance improvement in Spec2K.
* Rebase and test the CCMP patch.
* Read document about aarch64 CCMP/CCMN instructions and write
codes/patterns to generate the instructions. Test is ongoing.
== Plans ==
* Ccmp for AARCH64.
== Progress ==
* Figure how to have tcwgweb and cbuild-tools process the test
results from Jenkins and produce the diffs for comparison.
(TCWG-391 6/10)
* Wrote script to convert Jenkins produced data files to tcwgweb format.
(TCWG-391 1/10)
* Meetings and misc. (3/10)
- Worked on LCA14 presentation.
== Plan ==
* Continue fighting with tcwgweb to run test comparisons for Jenkins
builds. TCWG-391)
* Now that SSH is setup correctly in the TCWG build farm, GCC
testing tries to execute the remote tests, but hit's an error in
DejaGnu, which needs to be debugged and fixed. (TCWG-324)
== Leave ==
* Off to Nepal & Mt Everest after Connect.
== This week ==
Monday - Off
Reworked backports off origin instead of crypto-backport branch. Also used read/write git branch to push
- Affected backports 201164-206168, 201170, 201175, 201261, 201263 and 202020
Submitted backports for code review via git review
- Aarch64 ILP backports: 201164-206168, 201170, and 201175
- Aarch64 support for NEG in vectors registers: 201261 and 201263
- Aarch64 support for SISD shifts: 202020
== Next week ==
Submit backport 202256 for code review
Backport 202407 assigned to me
== Future ==
Things you plan to do in the future.
--
Michael Collison
Linaro Toolchain Working Group
michael.collison(a)linaro.org
== Progress ==
* IAS (TCWG-377)
- Stopping progress on .dn/.qn aliases, not suitable for IAS atm.
- Working on softvfp+vfp aliases (PR18689)
* EHABI (TCWG-124)
- Removed -arm-disable-ehabi
- Waiting for Keith's patch to work on EHABI respecting uwtables
* Compiler-RT (TCWG-125)
- Adding sanitizer guidelines for GCC developers
- Implemented --rtlib=compiler-rt for Linux targets
- Test-suite runs fine, only one error (PR18812)
* AArch64 (TCWG-387)
- First native builds, updating config.guess/sub (license issues)
- Found some JIT problems, unittests should be disabled
- Found some memory test failures
- Found 20 failures in test-suite
* Background
- Usual patch reviews & discussions
- Started a fire on GCC list, will monitor interactions closer
- Had a BoF accepted at the GNU Cauldron about GCC+LLVM collaboration
- Discussing possible LTO changes to binutils with GCC devs
- Helping Christophe/Yvan add AArch64 support for asan
* Time
- CARD-862 8/10
- Others 2/10
== Plan ==
* Continue softvfp in Clang's driver
* Work on Dwarf unwind tables
* Investigate RT and AArch64 failures
The Linaro Toolchain Working Group is pleased to announce the 2014.02
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 first engineering release. The next stable
release will be the 2014.04 release.
Linaro GCC 4.8 2014.02 is the eleventh release in the 4.8 series. Based
off the latest GCC 4.8.3+svn207411 release, it includes performance
improvements and bug fixes.
Interesting changes include:
* Updates to GCC 4.8.3+svn207411
* ARM-v8 crypto intrinsics support
* New vectorizer cost model
The source tarball is available from:
http://releases.linaro.org/14.02/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.02
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
This should match what we have in meta-linaro/dora, which is the linaro
2013.12 toolchain release.
---------- Forwarded message ----------
From: Koen Kooi <koen(a)dominion.thruhere.net>
Date: 17 January 2014 19:35
Subject: Fwd: seemingly bug in Linaro gcc 4.8
To: Koen Kooi <koen.kooi(a)linaro.org>
Begin doorgestuurd bericht:
> Van: Khem Raj <raj.khem(a)gmail.com>
> Onderwerp: seemingly bug in Linaro gcc 4.8
> Datum: 17 januari 2014 17:56:23 CET
> Aan: Koen Kooi <koen(a)dominion.thruhere.net>
>
> Hey Koen
>
> I am seeing a problem with linaro gcc-48 basically angstrom/2013.12
release
> The issue is attached sample C file. When compiled and run on my ArchLinux
> box which is running upstream gcc 4.8.2 it works ok
>
> but on beagleboard it fails.
>
>
> to compile
>
> $CXX -pthread -std=gnu++11 a.cpp
>
> on ARCH
>
> kraj@leo ~ > g++ b.cpp -std=gnu++11 -pthread
> kraj@leo ~ > ./a.out
> 140309495478016 i: 1
> 140309503870720 i: 2
>
> on Beagleboard
>
> root@beagleboard:~# ./std-thread
> pure virtual method called
> terminate called without an active exception
> Aborted
>
> Can you pass this to right folks in Linaro and get some help in resolving
it
>
> I havent yet trried it with OE-Core gcc which is also gcc 4.8
>
> The issue is most probably ARM related as it seems to me.
>
> Thanks for help
>
> -Khem
>
Hello,
I'm maintaining an older release we have which uses the older toolchian
binaries in gcc-linaro-arm-linux-gnueabi-2012.03-20120326_linux. I've
identified a bug in glibc we appear to be encountering and would like to
port the fix back.
I initially went the route of compiling the above toolchain binaries from
source as described in the readme.txt but then found that the cross
compiler binary build does not include the e/glibc build and these appear
to be sucked in in binary form (oneiric-sysroot-r1).
Are there any documents how these prebuilt libc binaries were created?
Please note that I'm not asking in general how to build glibc. I've built a
version with and without this bug patched to verify that it is indeed what
we are hitting. I'm more hoping to get an idea of how the specific binaries
mentioned above were built.
Thanks in advance for any help!
Evan Carson
== This week ==
- Backported 206261 and 201263 - AArch64 support NEG in vector registers
- Backported 202020 - Support SISD shifts
- Backported 202259 - AARCH64, fix return types for vaddvq_s64, vaaddvq_u64
- Travel back to US on Friday, February 7th
== Next week ==
- Submit backport for review once crypto instruction review is complete
and approved
- Continue backports from trunk
- New backports
== Future ==
--
Michael Collison
Linaro Toolchain Working Group
michael.collison(a)linaro.org
Hello,
The binutils 2.24-2013.12 release page says that the release was built
from the linaro_binutils-2_24-2013_12_release tag, but that tag
doesn't seem to actually be present in the git repo at
http://git.linaro.org/toolchain/binutils.git . Could that tag please
be pushed?
Thanks and regards,
Gregory
== Progress ==
* Cbuildv2 now builds a static gdbserver for cross linux targets. (1/10)
* Fixed Cbuildv2 bugs and added feature requests from Venkat, who
is bravely being our beta site. (1/10)
* Got .sum files produced from Jenkins builds copied to
tcwgweb. Much of this was getting everything setup to allow files
to be copied securely. (TCWG-386 - 3/10)
* QEMU image prep for softfp and Rasberry PI testing. (TCWG-380 - 2/10)
* Meetings and misc. (3/10)
- Tweaks to Jenkins support so build names the remote directory
in a way tcwgweb expects.
- Added more info to TCWG Build Farm wiki page.
(https://wiki.linaro.org/TCWG%20build%20farm)
== Plan ==
* Figure out how to make tcwgweb run test comparisons.
* Now that SSH is setup correctly in the TCWG build farm, GCC
testing tries to execute the remote tests, but hits an error in
DejaGnu, which needs to be debugged and fixed. (TCWG 324)
* Add Win32 installer for Canadian cross built binary
releases to Cbuildv2. (TCWG-381)
== Issues ==
* none
== Progress ==
* LRA on AArch32:
o TCWG-343 : Make LRA the default for the ARM backend (0/10)
- No progress this week.
o TCWG-345 : Analyse performance of LRA for ARM. (3/10)
- Continue analysis on Cortex-a15.
* LRA on AArch64: (2/10)
o Start to look at PR 59222 (ICE with ILP32).
* Branch merge and backports reviews. (2/10)
* Continued Linaro 4.8 release performance on Cortex-a15. (2/10)
* Various meetings. (1/10)
* Misc:
o start to prepare AArch64 toolchain status for Connect session.
== Next ==
* Continue the on-going tasks
* 4.8 2014.02 Engineering release
== Progress ==
* Libsanitzer for AArch64: (3/10)
- QEMU patch to handle missing mmap flag accepted.
- Charles was able to build GCC + run the sanitizer tests on board
- cleanup patch, ready to be sent to the LLVM list for approval
* Cross-validation: (1/10)
- extending timeout to 5h for aarch64-linux seems to be sufficient
when using qemu-aarch64
* 2014.02 release preparation: (4/10)
- branch merge
- backported new vectorizer cost model (cheap, dynamic, unlimited),
and ran some benchmarks.
- asked Kugan to check the few improvements observed when using
-fvect-cost-model=unlimited
- reviewed Crypto intrinsics backport from Michael Collison.
Discussed the use of gerrit+jenkins with him and Rob.
- Charles ran the validation of the Crypto intrinsics backport on
AArch64 hardware
- I cross-validated it using binutils-linaro-2.24-2013.12, to make
sure we release components capable enough to interoperate.
- upgrading binutils in cbuildv1/tcwg-web would help, until we can
switch to jenkins+cbuildv2+gerrit
* Misc (2/10): conf-calls, meetings
== Next ==
* libsanitizer on AArch64: post patch to LLVM list
* crypto intrinsics: commit patch for 2014.02 release
== Progress ==
* Short week: Public holiday on Wednesday 5th Feburary 2014. [2/10]
* Ran gdb testsuites for arm and x86 (native + remote) with all in
progress patches applied. [1/10]
* Investigated and triaged arm only failures. [2/10]
* Investigated gdb.dwarf2/implptr-64bit.exp failure and submitted
patch to disable it for 32-bit targets.[2/10]
* Installation and configuration of new desktop machine. [1/10]
* Investigation of stack unwinding failures on arm. [1/10]
* Investigation of work required to implement record and replay on
aarch64. [1/10]
== Plan ==
* Setup gdb for aarch64 and try to run a demo application.
* Investigate remaining arm only failures in gdb for arm and work
towards closeout of CARD-321.
* Travel to Islamabad to receive passport back from Chinese embassy
for Macau visa.
== Week of February 3rd ==
- Various administrative bits and account setup. (6/10)
- Worked my way through to getting access to LAVA board lab. Tried to reproduce performance regression on STREAM benchmark. (2/10)
- Public holiday. (2/10)
== Week of February 10th ==
- Continue account setup. Get work environment up.
- Get to know the team.
- Continue investigation of STREAM benchmark.
--
Maxim Kuvyrkov
www.linaro.org
== Issues ==
* None
== Progress ==
* Jan. 31 - Feb. 6: Chinese Spring Festival holidays .
* Test codes to duplicate shared compares to get more conditional
compares. But still get unexpected bootstrap fail on Chrome book.
* Test codes to enable shrink-wrap for TARGET_APCS_FRAME.
* Update patch for PR 59837.
* Create a reference linaro-arm-linux-gnueabihf-raspbian build .
== Plans ==
* Tuning ccmp performance
* Enable shrink-wrap for TARGET_APCS_FRAME.
== Progress ==
- Started implementing TARGET_ATOMIC_ASSIGN_EXPAND_FENV (5/10)
- Regression testing with the implementation; found some issues and
discussed with Matt
- Working on fixing them
- Patch for Vectorizer generates unaligned access when
-mno-unaligned-access committed upstream (2/10)
- This also triggered some regression with ARMv5 and looking into them
(2/10)
- Set-up qemu aarch64 for gcc testing (1/10)
== Plan ==
- Check ARMv5 regression for unaligned access
- Look into vectorizer cost model/benchmarking
This is an attempt to build TI mcsdk 3.0.3.15 with
bitbake tisdk-server-rootfs-image
It fails trying to make rpms for the linaro toolchain.
| DEBUG: Python function write_specfile finished
| DEBUG: Executing shell function BUILDSPEC
| error: line 4: invalid tag value("^[A-Za-z0-9+._]+$") Release:
Release: r2-arago3
| error: Package has no %description:
external-linaro-toolchain-2.15.armv7ahf_vfp_neon
| Building target platforms: armv7ahf_vfp_neon-oe-linux-gnueabi
| DEBUG: Python function do_package_rpm finished
| DEBUG: Python function do_package_write_rpm finished
| ERROR: Function failed: BUILDSPEC (see
/home2/ghannon/keyDSP/build/mcsdk/build/arago-tmp-external-linaro-toolch
ain/work/armv7ahf-vfp-neon-oe-linux-gnueabi/external-linaro-toolchain-20
13.03-r2-arago3/temp/log.do_package_write_rpm.8491 for further
information)
ERROR: Task 40
(/home2/ghannon/keyDSP/build/mcsdk/sources/meta-linaro/recipes-devtools/
external-linaro-toolchain/external-linaro-toolchain.bb,
do_package_write_rpm) failed with exit code '1'
If I change Release: r2-arago3 to not have a - in the spec file then I
can build the rpms manually with the same command.
Is there a place where I can change that globally?
Gary Hannon
Sr. Software Engineer
CSP Inc.
43 Manning Road Billerica, MA 01821
978-663-7598 x1509
ghannon(a)cspi.com
== Progress ==
* IAS
- Having a go at .dn/.qn aliases
- Some Dwarf 2/3 discussions, kernel build flags, etc
* EHABI
- Tables being generated even when no EH in C
- Will need some tinkering in Clang and LLVM
- Huge discussion about EHABI, Dwarf unwinding and exception tables
- Starting the refactory of EHABI to cope with the differences
* Compiler-RT
- Finding the best way to use compiler-RT with Clang (not an easy task!)
* Background
- Usual patch reviews & discussions
- Mapping AArch64 features implemented for Connect session
- Playing with the Calxedas for some benchmarks
* Time
- CARD-862 8/10
- Others 2/10
== Plan ==
* Continue with EHABI refactoring
* Implement --rtlib in Clang for compiler-rt usage
* Continue .dn/.qn implementation
== Progress ==
* 3 day week
* Further work on longjmp/setjmp Systemtap probes on ARM (1/10, TCWG-378)
* Research and analysis of malloc workloads for benchmarking (5/10, TCWG-160)
== Issues ==
* None
== Plan ==
* More work on an application level malloc benchmark framework
* Resurrect glibc benchmark graphing script
* newlib release
* gdb 7.7 release (build an rc to troubleshoot releasing from git)
--
Will Newton
Toolchain Working Group, Linaro
Hello Ulrich,
I'm on a freescale mx53 (single core, cortex a8) and trying to find a
nasty problem in our $CUSTOMER's application. Working hardware watch
point support in gdb should solve the problem, or at least brings us a
big step forward. I stumbled over your about three years old thread[1]
about the cortex a8 memory mapped debug registers problem. Do I
understand correctly, that you had a8 watch point running on at least
one board? Have you got any code and or pointers to get watch point
support running?
regards,
Marc Kleine-Budde
[1]
http://lists.linaro.org/pipermail/linaro-toolchain/2011-February/000820.html
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
*Hi LINARO-TEAM,*
I would like start a software development on a “Renesas RZ (ARM Cortex-A9)
MPU (R7S721010xxx” by using Eclipse IDE (Kepler - 4.3.1).
> Global objective = Use free SW development tools
I have read, that the “Linaro GCC Toolchain Release Supports Full Range of
ARM Cortex-A Processors” and it’s an open source software for the ARM
architecture, including the GCC toolchain.
> Well – I think that is what I need.
So, I have installed the Linaro Toolchain
(gcc-arm-none-eabi-4_7-2013q3-20130916-win32.exe) and test the compilation
of the “*Hello World ARM C Project*” for the Target Processor “cortex-A9”
> So, the compilation is OK.
*NOW, I would like prepare a small TEST-Project with FreeRTOS.*
FreeRTOSV8.0.0_Release_Candidate_2
> I have found the “Renesas RZ (ARM Cortex-A9) RTOS Demo”:
http://www.freertos.org/Renesas_RZ_Cortex-A9-RTOS.html
But the two projects are provided to be built with the* IAR Embedded
Workbench <http://www.iar.com/ewarm>* or the *ARM DS-5
<http://arm.com/products/tools/software-tools/ds-5/index.php> embedded
development tools*.
> I have seen that the DS-5 Development Studio is not for free but it use
also the Linaro GNU Compiler (GCC) toolchain.
So, I have tried to import the “Renesas RZ (ARM Cortex-A9) RTOS Demo”
project to Eclipse, *but the import doesn’t work – and I’m not sure that
the project uses the Linaro GNU GCC Compiler**.*
> I think that Demo project for DS-5 use also special plugins/configuration
settings from the Development Studio – so this can’t work ?!…
*HELP:*
*I’m new in the “Eclipse IDE / Compiler (GCC) toolchain” WORLD … *
So, can you help me to give me a good direction - *what I need to do *to
make running this small “Blinky-Demo for Renesas RZ (ARM Cortex-A9) with
the FreeRTOS” by using the Linaro GCC Toolchain.
> Or have you another small Demo project for the Linaro GCC Toolchain which
uses the FreeRTOS for the Renesas RZ (ARM Cortex-A9) family?
… Or you think that is not easily possible to do that for a Newcomer like
me?
I hope that you can help me to put me on the right road.
Best regards,
*Steffen SPRUNGACTIA Automotive*
=================
Software Engineer
=================
*ACTIA* Automotive
5 Rue Jorge SEMPRUN – BP 74215
31432 TOULOUSE Cedex 4 (FRANCE)
Tél.: + 33 (0)5 61 17 68 75
Fax: +33 (0)5 61 55 42 31
Skype: steffen.sprung
EMAIL: steffen.sprung(a)actia.fr
ACTIA: http://www.actia.com
[image: image001]
*P* Avant d’imprimer ce mail, demandez-vous si ceci est nécessaire.
Before printing this email, assess if it is really needed.
Hi,
The systemtap test suite compilation failed with below error.
ARCH: arm
---------------
kernel location:
kernel version: 3.13.0-1-linaro-arndale
systemtap location: /usr/local/bin/stap
systemtap version: version 2.5/0.157, non-git sources
gcc location: /usr/bin/gcc
gcc version: gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
**** failed systemtap kernel-devel smoke test:
In file included from /usr/local/share/systemtap/runtime/sym.c:16:0,
from /usr/local/share/systemtap/runtime/linux/runtime.h:198,
from /usr/local/share/systemtap/runtime/runtime.h:24,
from /tmp/stapvEzrD5/stap_f7468ebd0051d533d2bae853173fe5a7_892_src.c:24:
/usr/local/share/systemtap/runtime/vma.c: In function '_stp_vma_mmap_cb':
/usr/local/share/systemtap/runtime/vma.c:133:21: error: pointer targets in
initialization differ in signedness [-Werror=pointer-sign]
const char *name = (dentry != NULL) ? dentry->d_name.name : NULL;
^
cc1: all warnings being treated as errors
make[4]: ***
[/tmp/stapvEzrD5/stap_f7468ebd0051d533d2bae853173fe5a7_892_src.o] Error 1
make[3]: *** [_module_/tmp/stapvEzrD5] Error 2
WARNING: kbuild exited with status: 2
Pass 4: compilation failed. [man error::pass4]
**** aborting testing.
Please let me know if you need more information.
Best regards
Naresh kamboju
== Progress ==
* Fixed remaining issues in rework of hwbreakpoint and watchpoint
implementation for arm
native targets. Tested and submitted patch. [TCWG-177] [8/10]
* Installation and Setting up of new desktop machine. [2/10]
== Plan ==
* Run testsuites to see current status of arm gdb.
* Follow up on submitted patches.
* Public holiday on Wednesday 5th February.
* Libsanitizer for AArch64: (4/10)
- seems to be mostly working, but trouble with validation both using
the Foundation Model and qemu-aarch64.
- Some tests seems to loop forever while unwinding under qemu, but
run fine under the Foundation model
- Conversely the Foundation Model shows some random errors, and the
corresponding tests pass under qemu
- Some random timeouts with the Foundation Model, despite using ssh
multiplexing
- Added a small patch to qemu to hande missing mmap flag. Need to
send upstream.
- asked Rob to run GCC testsuite with my patch on AArch64 but it's
too unstable these days
* Cross-validation (2/10)
- script now able to validate a GCC patch and compare results with
unmodified GCC trunk
- added arm-none-eabi target
- using qemu-aarch64 for aarch64-none-linux-gnueabi but the
validations now time out. Need investigation, but I might have to
revert to no execution for this target.
- identified a problem with the recent armv7-ve patch
* Benchmarks: (1/10)
- collecting data for 4.8 tables
* Peeling: (1/10)
- backported new vectorizer cost model to check it if's OK to
include it in our next release
* Misc (2/10): conf-calls, meetings, docs (howtos for TCWG)
== Next ==
* libsanitizer on AArch64
* fix cross-validation on aarch64-none-linux-gnu
* benchmarks: complete table
* backports: chek new vectorizer cost model, monthly branch merge,
review Michael's backports of Crypto intrinsics
* 2 days week (university & child care).
== Issues ==
* none
== Progress ==
* LRA on AArch32:
o TCWG-343 : Make LRA the default for the ARM backend (0/10)
- No progress this week
o TCWG-345 : Analyse performance of LRA for ARM. (1/10)
- Configured and ran benchmarks on Cortex-a15.
* Looked at Linaro 4.8 release performance on Cortex-a15. (2/10)
* Misc. (1/10)
o Booked Hotel and flight for connect
== Next ==
* Back on LRA and lib GMP
== Progress ==
* Investigate "PGO" for Aarch64 (3/10).
Bootstap testing aarch64 with PGO for GCC.Stage 2, feedback profile in progress.
Tested a small test case for -fbranch-probabilities, works same as x86_64.
Working on checking the "gcda" files generated and profile runs for coremark.
* Cbuild2 discussed with rob, ryan on using cbuild2 for developement. (3/10)
Thanks Rob for fixing some issues and adding features that I
requested. Tested some features added. Captured it as FAQ.
* Reinstalled ubuntu OS on my laptop (2/10)
Misc (2/10)
-------------
AMD internal meetings and did some investigations
== Plan ==
- Continue run EMBCC and coremark benchmarks with -PGO enabled.
- Going on marriage vacation from 07-Feb till 06 March
== Issues===
Follow up upstream libssp GCC discussions. No response yet after 2 pings :(
== Progress ==
* Got binary release building working again. (2/10)
* Added a node_selector to Jenkins for the new Beagle Board Blacks, and
get those working for native builds. (TCWG-379, 1/10)
* Fix configuration of 'build-all' project in Jenkins, now fires up
cross builds for supported targets, plus native builds on
Chromebooks and Beagle Board Blacks. (1/10)
make networking route externally. (TCWG-380)
* Meetings and Misc. (3/10)
* Got TCWG build farm, all nodes offline fixed.
* Wrote wiki page on the build farm.
* Updated Java to 1.6 on the Beagle Board Blacks in the TCWG
build farm.
* Added support to specify an alternate prefix for installation.
* Got QEMU and Foundation Model running on TCWG x86_64 build slaves
so Jenkins can use them for native builds. (TCWG-380 - 2/10)
* Got Rasberry PI softfp image running under QEMU, tried to do
build. (TCWG-380 - 1/10)
== Plan ==
* Build static gdbserver for target via Cbuildv2.
* Add Win32 installer for Canadian cross built binary
releases to Cbuildv2.
* Get Kugan's benchmark branch running on build farm.
* More Jenkins maintainance.
== Potential Leave ==
* Still working out the huge amount of details, but strongly
considering going to Mt Everest after Connect. It'd be a long and
rough trip, but a once in a lifetime opportunity.
== This week ==
- Successfully submitted crypto using git-review
- Completed merge of ILP backports from trunk to Linaro 4.8 branch: 201164,
201165, 201166, 201167, 201168, 201170 and 201175
- Attended ARM architecture training on Friday
== Next week ==
- Submit ILP backports for review using git review
- New backports
== Future ==
== Progress ==
* Rework QEMU patch for AArch32 ARMv8 16<->64bit VCVT (2/10, TCWG-51)
* Further work on longjmp/setjmp Systemtap probes on ARM (4/10, TCWG-378)
* Research and analysis of malloc workloads for benchmarking (4/10, TCWG-160)
== Issues ==
* None
== Plan ==
* Finish testing setjmp/longjmp changes
* malloc benchmarking and improvements
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* EHABI
- Turning EHABI on by default on non-Darwin ARM
- Had to add some relocations to MCJIT
- Re-enabled EH tests on test-suite
- Check-all, self-hosting and test-suite bots green
* Compiler-RT
- Enabling RT+San libraries to compile on ARM
- Changing Clang to look for the generic libraries (arm, not armv7l)
* MCJIT
- Remote protocol fixed, all tests passing on self-hosting bot
- All tests re-enabled on ARM
* Background
- More IAS, Compiler RT patch reviews
- Buildbot cleaning up before every build (more stable)
- Cambridge LLVM Social
- Rumours that LLVM can compile the kernel with the integrated assembler
on ARM
* Time
- CARD-862 8/10
- Others 2/10
== Plan ==
* FOSDEM
- Talking about LLVM auto-vectorization this Sunday
* EHABI
- ARM detected some conflicts with Dwarf stack unwinding, investigate
Compiler-RT
- Run test-suite, benchmarks, applications with it
* IAS
- Confirm the rumours about the kernel compiling clean
- Pick up some remaining task to implement
I had a look at the missing target hook TARGET_ATOMIC_ASSIGN_EXPAND_FENV
to fix the C11 memory model testcase in regressions in trunk.
I looked at the x86 implementation of this target hooks and x86 has
instructions (FNSTENV,FLDENV,FNSTSW,FNCLEX) for feholdexcept,
feclearexcept and feupdateenv. Does ARM has something similar? Any
pointers/links I can refer to.
Please see the gcc internal documentation for the target hook below.
— Target Hook: void TARGET_ATOMIC_ASSIGN_EXPAND_FENV (tree *hold, tree
*clear, tree *update)
ISO C11 requires atomic compound assignments that may raise
floating-point exceptions to raise exceptions corresponding to the
arithmetic operation whose result was successfully stored in a
compare-and-exchange sequence. This requires code equivalent to calls to
feholdexcept, feclearexcept and feupdateenv to be generated at
appropriate points in the compare-and-exchange sequence. This hook
should set *hold to an expression equivalent to the call to
feholdexcept, *clear to an expression equivalent to the call to
feclearexcept and *update to an expression equivalent to the call to
feupdateenv. The three expressions are NULL_TREE on entry to the hook
and may be left as NULL_TREE if no code is required in a particular
place. The default implementation leaves all three expressions as
NULL_TREE. The __atomic_feraiseexcept function from libatomic may be of
use as part of the code generated in *update.
Thanks,
Kugan
== Progress ==
- releases (3/10)
* GCC 4.7 and 4.8 releases done
* more cbuild2 feedback
- cross-validations (2/10)
* followup
* adding capability to test a patch over a given revision on several
targets/cpu/fpu/runtestflags
- libsanitizer on AArch64 (3/10)
* most tests are now functional
* still some errors in the GCC testsuite, to be analyzed (there are
some timeouts, too despite using SSH multiplexing to the Foundation
model)
- misc (2/10): conf-calls and meetings
== Next ==
- libsanitizer on AArch64: analyze errors, try QEMU
== Future ==
On sick leave starting Feb 11th
== Progress ==
* Libc probes support for Aarch64 (2/10).
Wrote a small patch for setjmp and longjmp LIBC probe.
Requested "will newton" to test them .
* Investigate "PGO" for Aarch64 (3/10).
Bootstap testing GCC with PGO for GCC.
Stage 2, feedback profile in progress.
Ran coremark on foundation model with PGO.
The benchmark builds with profile-generate and runs.
"gcda" files are generated and uses them to profile.
Profile generated runs does not run cleanly.
Cross checking if the generated profile is valid.
* Resubmmited libssp machine description support in GCC (2/10).
* Cbuild2 discussed with rob, ryan on SYSROOT installation while building (1/10)
cross compiler for aarch64. "SYSROOT" is expected to be in
/opt/linaro, but cbuild2 does not do this by default.
Misc (1/10)
-------------
AMD internal meetings and did some investigations
== Plan ==
- Run EMBCC benchmarks with -PGO enabled.
- Follow up upstream libssp GCC discussions.
* 4 days week (university).
== Issues ==
* none
== Progress ==
* LRA on AArch32:
o TCWG-343 : Make LRA the default for the ARM backend (3/10)
- Looking backend places (ARM and AArch64) where reload_in_progress
is used to verify if lra_in_progress is needed as well: Tested lot of
configurations, testsuite results analysis ongoing.
o TCWG-345 : Analyse performance of LRA for ARM. (0/10)
- No progress this week.
* GMP library AArch64 port review: (4/10)
o Analyzing code generated from C generic implementation vs assembly.
* Misc. (1/10)
o Various meetings.
== Next ==
* Child care (chickenpox)
* Still some time spend at university
* Continue on LRA and lib GMP
== Progress ==
* Implemented per process hwbreakpoint and watchpoint cache for arm
native targets.
Also added a reference count for per thread hardware breaks. [TCWG-177] [7/10]
* Travelled to Islamabad for Macau visa application. [3/10]
== Plan ==
* Continue work on forking/vforking hardware breakpoints support for arm-native.
Tweak hardware breakpoint cache and thread breaks reference count to
get it in sync with linux-native. [TCWG-177]
== Misc ==
- Monday 27/01/2014 - Public holiday
== Progress ==
- LP#1191909: gold and -flto always fails with an internal error on
arm-linux-gnueabi* (2/10)
- Reproduced it and Looking into the implementation for best fix.
-c11-atomic-exec-5.c (4/10)
- Issue is due to missing target hook and looking at implementing
-LP#1270789: gcc 4.8: "invalid expression as operand" in aarch64
inline asm (2/10)
- came-up with the patch. Still in the process of testing it. APM1
disc seems to be corrupt and that is holding this.
- Benchmarking (1/10)
- added -pgo for coremark
- Set-up a Linux desktop (1/10)
== Plan ==
- Continue with trunk daily regression
- Fix assigned bugs
== Progress ==
* Improve binary releases produced by Cbuildv2. (6/10 TCWG-383)
* Minor changes to source releases produced by Cbuildv2. (1/10)
* Added support to Cbuild to use lsbcc for binary releases. (1/10)
* Meetings. (1/10)
* Started reviewing Kugan's benchmarking branch of Cbuildv2. (1/10)
== Plan ==
* Build static gdbserver for target via Cbuildv2.
* Add Win32 installer for Canadian cross built binary
releases to Cbuildv2. (TCWG-381)
* Once Jenkins has a node_selector for the new Beagle Board Blacks,
get those working for native builds. (TCWG-379)
* Get QEMU and Foundation Model running on TCWG x86_64 build slaves
so Jenkins can use them for native builds. (TCWG-380)
== Progress ==
* Add support for AArch32 ARMv8 16<->64bit VCVT to QEMU (2/10, TCWG-51)
* Triage and report AArch64 gcc bug when building glibc with SystemTap (1/10)
* Debug and submit patch for ARM libffi issue (1/10)
* Add support for longjmp/setjmp Systemtap probes on ARM (4/10, TCWG-378)
* Ported Python cffi package to AArch64, submitted upstream (1/10)
* Fixed bug building glibc for armv4 (1/10)
== Issues ==
* Broadband down for 3 hours on Wednesday afternoon
== Plan ==
* Follow up QEMU patches and maybe post v2
* malloc
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
* Compiler-RT
- Changing CMake to make it compile on ARM
- Reviewing long div/mod patches for ARMv4/v5/v6, testing and benchmarking
* EHABI
- Investigating EH code generation (landing pads, jump tables, libs)
- Running test-suite EH tests, some failures
* Background
- Loads of patch reviews on IAS, build attributes, EHABI, compiler-rt
- Planning the 3.4.1 release (the first patch-release of LLVM)
* Time
- CARD-862 8/10
- Others 2/10
== Plan ==
* Continue EHABI tests, try to turn it on by default
* Continue working on RT's CMake for ARM
* Prepare the FOSDEM 14 presentation
== This week ==
- Completed merge of crypto backports from trunk to Linaro 4.8 branch:
- 64-bit backports: 205092, 205383, 205384, 206114, 206115, 206117, 206118,
206149
- 32-bit backports: 206518 AND 206519
- Built and tested 32 and 64-bit compilers with crypto changes
== Next week ==
- Submit backports for review using git review
- New backports
== Future ==
== Progress ==
Deferred US Holiday (MLK day) from Monday to Tuesday
* Debugged what was thought to be a cbuild2 problem but ended up being
due to default enablement of multilib in gcc. (2/10)
* Started working on adding mulit-lib support to cbuild2 (minimal
configuration for installing headers). (8/10) [Jira card forthcoming]
- Moved kernel headers installation to arch based directory in
sysroot and then symlinked appropriate host include directories to
common arch directories.
- Figured out how to build multilib arm libraries for
arm-none-linux-gnueabihf and arm-none-linux-gnueabi.
== Plan ==
* Add cbuild2 scripting to build multilib libraries based on gcc
-print-multi-lib
* Figure out how to get gcc to select the correct multilib headers
directory so that we don't need a merged include directory.
== Issues ==
* None
The Linaro Toolchain Working Group is pleased to announce the
release of both Linaro GCC 4.7 and 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 first stable release, and contains no
known regressions compared to the 2013.12 release.
The next release of GCC 4.7 will be the 2014.04 stable release. There
will be no engineering releases of GCC 4.7 in 2013.02 or 2013.03.
The next stable release of GCC 4.8 will be the 2014.04 release. Next
month's release - 2013.02 - will be an engineering build.
Linaro GCC 4.7 2014.01 is the twenty second release in the 4.7
series. Based off the latest GCC 4.7.4+svn206380 release, this is the
ninth release after entering maintenance.
Interesting changes include:
* Updates to GCC 4.7.4+svn206380
Linaro GCC 4.8 2014.01 is the tenth release in the 4.8 series. Based
off the latest GCC 4.8.3+svn206350 release, it includes performance
improvements and bug fixes.
Interesting changes include:
* Updates to GCC 4.8.3+svn206350
* Enhanced multilib support
The source tarballs are available from:
http://releases.linaro.org/14.01/components/toolchain/gcc-linaro/4.7http://releases.linaro.org/14.01/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 pages:
https://launchpad.net/gcc-linaro/4.7/4.7-2014.01https://launchpad.net/gcc-linaro/4.8/4.8-2014.01
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 ==
* Got got Beagle Board blacks up, installed all necessary
dependencies to build toolchains. (TCWG-379 - 1/10)
* Installed QEMU and Foundation model on all TCWG x86_64 build
slaves. (TCWG-380 - 1/10)
* Minor bug fixes for Cbuildv2 produced source tarballs to be
hopefully now 100% match with what we usually release. (2/10)
* More major bug fixes and some refactoring for Cbuildv2 produced
binary tarballs to match with what we usually release. (3/10)
* Meetings. (1/10)
== Plan ==
* Build static gdbserver for target via Cbuildv2.
* More work on binary tarball building.
* Add Win32 installer for Canadian cross built binary
releases to Cbuildv2. (TCWG-381)
* Once Jenkins has a node_selector for the new Beagle Board Blacks,
get those working for native builds. (TCWG-379)
* Get QEMU and Foundation Model running on TCWG x86_64 build slaves
so Jenkins can use them for native builds. (TCWG-380)
== Issues ==
* I got invited to Mt Everest last week... :-)
* 4 days week (still some times spent at university).
== Issues ==
* none
== Progress ==
* LRA on AArch32:
o TCWG-343 : Make LRA the default for the ARM backend (3/10)
- Most of the issues fixed or about to be fixed by Vladimir :
* iWMMXT issue and Thumb1 udivmoddi4 : fixed.
* Thumb1 code size issue : partial patch proposed.
- Looking backend places (ARM and AArch64) where reload_in_progress
is used to verify if lra_in_progress is needed as well.
Validation ongoing.
o TCWG-345 : Analyse performance of LRA for ARM. (0/10)
- No progress this week.
* Loop specialisation patch review: (1/10)
o Sent feedback to Samsung.
* 2014.01 release: (1/10)
o Branch merge review
* [Bug 1258013] Re: Cannot build arm64 kernel with CONFIG_DEBUG_INFO=y (1/10)
o Issue due to a wrong .align directive in an assembly source file which is
already fixed upstream.
* GMP library sAArch64 port review: (1/10)
o Started to review Anil work.
* Misc. (1/10)
o Various meetings.
== Next ==
* Still some time spend at university
* Continue on LRA and lib GMP.
- 2014.01 releases: (2/10)
* 4.7 ready, 4.8 needed a short daily to include our multilib patch
to support our binary releases.
* retried cbuildv2 and sent feedback. Should be mostly OK by now.
- cross-validations: (2/10)
* followup-up, bugzilla
* thinking about short term Neon intrinsics testsuite use without dejagnu
- libsanitizer (2/10)
* resumed work for aarch64
- misc (2/10): conf-call and meetings
- internal support (2/10)
* issue:
boards used for benchmarking have been off for several weeks. Pending
jobs disappeared from the list, but I got no log.
== Progress ==
* Implement fork over HW breaks support for arm native targets.
[TCWG-177] [6/10]
* ARM Process Record:
- All patches accepted and upstream.
- Spent time making changes to VFP, SIMD etc patch. [2/10]
- Configuration and Git ssh setup for gdb commit rights . [1/10]
* Submitted a new fix and worked with community for the fix. [1/10]
== Plan ==
* Continue to work on fork over HW breaks support for arm native
targets. [TCWG-177]
* Patch updates and submission to all in progress upstream submissions.
* Travel to Islamabad for Macau visa application.
== Progress ==
* Libc probes support for Aarch64.
Testing the patch for "libc" probes support to "__longjump".
Native compiling in openemebedded.
Obtained a Linaro open embedded image with system tap enabled.
Getting Assembler Error during "malloc" module linking in "glibc"
configured with --enable-systemtap.
In libc_mallopt invalid "asm", invalid expression as operand for
LIBC_PROBE call.
Cross compiling.
Tried copying header files from system tap source to SYSROOT for cross
compiling glibc. The cross compiled GCC does not recognize the header
files.
* Investigate "PGO" for Aarch64.
Started bootstap testing GCC with PGO for GCC.
Stage 1 completed. stage profile in progress.
== Plan ==
- Run EMBCC benchmark with -PGO enabled.
- Work on "glibc" probe.
== Issues ==
Waiting for feedback on "libssp" machine descriptions changes.
Misc
------
14-Jan-2014 Local holiday.
== Issues ==
* None.
== Progress ==
* Test Linaro cbuildv2.
- Write a reference script to support windows installer in cbuildv2.
- Do some basic validation work against the binaries built from cbuildv2.
* Reproduce and work out a patch for "ICE when building
linux-linaro-tracking" (lp:1268893, PR59837) .
* Test to merge Linaro local armv4t multilib patch to Linaro 4.8.
* Investigate CCMP chance by taking a Bool_ var as var != 0.
== Plans ==
* cbuildv2 validation
* Tuning ccmp performance
== Planed leaves ==
* Jan. 31 - Feb. 9.
== This week ==
- Completed merge of crypto backports 206128, 206130, 206131, 206132 and
206149 from trunk to Linaro 4.8 branch
- Out sick Friday
== Next week ==
- Build and test crypto backports
- Begin merging aarch64 crypto backport to Linaro 4.8 branch
== Future ==
== Progress ==
* Cbuildv2 fix for *_release() functions which were changing out of
the build directory but then not changing back to the builddir, which
caused problems with paths relative to the builddir. (1/10)
* TCWG-340 Enable Glibc remote testsuite integration - (7/10)
- Working with upstream community on scoping and designing remote
testsuite integration.
- Setting up arm chroot environment on chromebook with documentation
on how to make this reproduceable.
* TCWG-352 AArch64 clone is missing some CFI markup - (2/10)
- Setup aarch64 environment for testing and built static clone tests
to test the patch.
== Plan ==
* Start implementing (code) for glibc remote testsuite integration.
== Issues ==
None
== Progress ==
* Buildbots
- Odroid U2 died after a few days on USB stick, too. (I guess we're stuck
with Chromebooks)
- Upgrading chromebooks (to Saucy) due to a new GCC/libstdc++ 4.7+
restriction
- Shuffling chromebooks, we now have three buildbots:
- llvm-chrome-01: quick-build+check
- llvm-chrome-02: self-host+check
- llvm-chrome-03: test-suite
* MCJIT Remote
- Re-factored the communication protocol of MCJIT for remote processes
- Still seeing one random failure on ARM, investigating
* Compiler-rt
- Investigating how to get it compiling all libraries and sanitizers on ARM
* Background
- Patch reviews, especially IAS and EH
* Time
- CARD-862 8/10
- Others 2/10
== Plan ==
* Continue MCJIT and Compiler-RT investigations
* Continue reviewing IAS and EH patches
* Try to run the EH tests on the test-suite with the current changes
== Progress ==
* Add support for AArch32 ARMv8 VRINT to QEMU (4/10, TCWG-50)
* Add support for AArch32 ARMv8 VCVT to QEMU (4/10, TCWG-49)
* Add support for AArch32 ARMv8 16<->64bit VCVT to QEMU (1/10, TCWG-51)
* Fixed gas ARM VCVT encoding bug (1/10)
== Issues ==
* None
== Plan ==
* Complete outstanding QEMU work
* ARM setjmp/longjmp SystemTap probes
* malloc
--
Will Newton
Toolchain Working Group, Linaro
Hi,
I've been playing with linux-linaro-tracking and the 2013.12 (and
2013.10, 2013.11) toolchain release and when turning on the NEON in
kernel option I get:
CC lib/raid6/neon4.o
lib/raid6/neon4.c: In function 'raid6_neon4_gen_syndrome_real':
lib/raid6/neon4.c:113:1: internal compiler error: in
dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1078
}
^
Use the attached .txt as .config and do 'make zImage' to replicate the
problem. You will probably need to attached patch as well since some of
the linaro patches break namespace support :(
regards,
--
Koen Kooi
Builds and Baselines | Release Manager
Linaro.org | Open source software for ARM SoCs
* Two days week (due to compilation courses given at university).
== Issues ==
* none
== Progress ==
* LRA on AArch32:
o TCWG-343 : Make LRA the default for the ARM backend (1/10)
- iWMMXT issue : back on the issue.
- Thumb1 issues : looked at bugzilla's reports.
o TCWG-345 : Analyse performance of LRA for ARM. (0/10)
- No progress this week.
* Loop specialization patch review: (1/10)
o Back on the task.
* [Bug 1258013] Re: Cannot build arm64 kernel with CONFIG_DEBUG_INFO=y (1/10)
o Tried to reproduce the issue.
* Misc. (1/10)
o Catching up with email, etc
o Meeting
== Next ==
* Still some time spend at university
* Continue the ongoing tasks.
* Branch merge reviews.
== Progress ==
* ARM Process Record:
- Follow up on patches, almost all patches accepted. [0.5/10]
- Got GDB committ rights and set up git for pushing patches. [0.5/10]
* Spent time to read through fortran functions prologue to find a new fix
for TCWG-267. [1/10]
* Initial investigation of handling breakpoint over fork [TCWG-177] [1/10]
* Getting documentation ready for Macau visa application [2/10]
== Plan ==
* Update and send patches where required and committ all approved patches.
* Work on breakpoints issues [TCWG-177] and reverse stepping through solib
issue [TCWG-315]
* Apply for Macau visa, given all documents get ready.
== Progress ==
* Libc probes support for Aarch64.
Posted patch for "libc" probes support to "__longjump". Worked on
review comments from Maintainers. Upstream discussions in progress.
Working on testing "glibc" by using --enable-systemtap.
* Experimented with "Cbuildv2" native building.
== Plan ==
- Continue Cbuildv2.
- Investigate "PGO" for Aarch64.
- Work on "glibc" probe.
== Issues ==
Waiting for feedback on "libssp" machine descriptions changes.
misc
===
14-Jan-2014 leave.
== Progress ==
* Draft wiki page (under ACL--let me know if you want to see) for
instructions for setting up chroots on chromebooks for glibc testing:
https://collaborate.linaro.org/display/~ryan.arnold@linaro.org/Configuring+…
* Investigated expanding remote testing possibilities in glibc.
* RFC email to libc-alpha discussing proposal for glibc host testsuite
in chroots:
https://sourceware.org/ml/libc-alpha/2014-01/msg00222.html
== Issues ==
* Shortened week (3-days) because of unplanned school closures on
Monday and Tuesday due to freezing temperatures, during which I had to
watch my kids.
== Plan ==
* Start code scaffolding for glibc host testsuite in chroot.
* Start cbuild2 scaffolding for building remote chroots for glibc testing.
* Add glibc multi-lib builds and IFUNC system libraries.
* Work on cbuild2 support for local tar files.
== Progress ==
* Two day week
* Catching up on email etc. after break (0.5/10)
* Investigate setjmp/longjmp SystemTap probe support in ARM glibc
(1/10, TCWG-378)
* Investigate toolchain bug reports for ARM and AArch64 (0.5/10)
== Issues ==
* None
== Plan ==
* Resume QEMU ARMv8 AArch32 work
* Hopefully push glibc ARM pointer encryption fix for 2.19
--
Will Newton
Toolchain Working Group, Linaro
- 2013.12 releases (1/10)
* Sent announcements for 4.7 and 4.8 releases.
- 2014.01 releases (2/10)
* Created 4.7 and 4.8 branch merge requests (had handle some conflicts in 4.8)
* Looked at backporting the crypto intrinsics support into 4.8, but
there are dependencies with several other patches we haven't
backported yet.
- cross validation (4/10)
* Restarted them since I had to stop them during the holidays. Still
catching up with the backlog, should be OK during the week-end.
* Analyzed and reported several regressions or new tests failing in
some configurations.
- Neon intrinsics tests (1/10)
* Looked at Rob's neon-intrinsics branch and sent him some feedback.
- misc (2/10): conf-calls and meetings.
== Next ==
- 2014.01 releases
- cross-validation: look at results and report regressions if any
- resume libsanitizer work for AArch64
== Progress ==
* Release 3.4 went out
* Buildbots
- Using powered USB hub for the external harddrive, but all boards fail
one time or another...
- Maybe it's the hard-drive type (mobile, power-saving), reverting to USB
sticks for now
- Leaving an odroid U2 running on USB stick for a week, used to work...
- C++11 features will need GCC 4.7+, looking for an easy way to upgrade
the Chromebooks
* MCJIT
- Finished work on remote MCJIT to re-enable the failing tests
- http://llvm-reviews.chandlerc.com/D2527
* Pragma Vectorize
- New discussions hint that my parser patch is moot, for now
- Agreement is to use C++11 attributes for now, and add pragmas later
- I can't continue implementing them, though...
* Background
- Huge number of patch reviews during holidays & this week
- Good progress on new features for the IAS
- More progress on EHABI, including IAS support
* Time
- CARD-862 8/10
- Others 2/10
== Plan ==
* Continue reviewing IAS features, maybe implement some
* Work out how to create a libcxx bot
* re-introduce llvm-chrome-01 as second self-host
* Migrate all buildbots to GCC 4.7+
* Check out EHABI tests and assess progress
Hi,
I filed this on bugzilla:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59744 but I thought I'd
mention it here too.
This slightly strangely written program (it's distilled down from
frame_offset_overflow in the gcc source itself) should print "bigger" if
the first argument is bigger than 10 (or negative, but let's ignore that
please):
#include <stdlib.h>
#include <stdio.h>
int a[2] = { 10, 20 };
int
is_bigger (long offset, int index)
{
unsigned long size = -offset;
if (size > a[index])
{
printf("bigger\n");
return 1;
}
return 0;
}
int
main (int argc, char** argv)
{
long v;
v = atol(argv[1]);
is_bigger(-v, 0);
return 0;
}
When compiled at -O1 or above (and with inlining disabled at -O2 and
above), though, it bungles the 0 case:
(t-doko)mwhudson@arm64:~$ gcc-4.9 -O3 test.c -o test -fno-inline -Wall
(t-doko)mwhudson@arm64:~$ ./test 1
(t-doko)mwhudson@arm64:~$ ./test 11
bigger
(t-doko)mwhudson@arm64:~$ ./test 0
bigger
(t-doko)mwhudson@arm64:~$ gcc-4.9 -O0 test.c -o test -Wall
(t-doko)mwhudson@arm64:~$ ./test 1
(t-doko)mwhudson@arm64:~$ ./test 11
bigger
(t-doko)mwhudson@arm64:~$ ./test 0
(t-doko)mwhudson@arm64:~$
What's going on? Here's the disassembly of is_bigger (at O3):
0000000000400608 <is_bigger>:
400608: b0000082 adrp x2, 411000 <_GLOBAL_OFFSET_TABLE_+0x28>
40060c: 91010042 add x2, x2, #0x40
400610: a9bf7bfd stp x29, x30, [sp,#-16]!
400614: 52800003 mov w3, #0x0 // #0
400618: 910003fd mov x29, sp
40061c: b8a1d841 ldrsw x1, [x2,w1,sxtw #2]
400620: ab00003f cmn x1, x0
400624: 540000a2 b.cs 400638 <is_bigger+0x30>
400628: 90000000 adrp x0, 400000 <_init-0x3f8>
40062c: 911b6000 add x0, x0, #0x6d8
400630: 97ffff90 bl 400470 <puts@plt>
400634: 52800023 mov w3, #0x1 // #1
400638: 2a0303e0 mov w0, w3
40063c: a8c17bfd ldp x29, x30, [sp],#16
400640: d65f03c0 ret
Basically it seems that the condition "-offset > val" is being compiled
as "val + offset does not overflow", which is not valid for offset == 0.
This seems to me to be the underlying cause behind
https://bugs.launchpad.net/ubuntu/+source/gcc-4.8/+bug/1263806 ("gccgo
fails to compile tomb.go on arm64").
Cheers,
mwh
Hi,
We are trying to build android Kitkat (for our own platform) using
linaro android toolchain version
4.7.4 from 13.12 release. We are observing following while compiling
some shared libraries:
~arm-linux-androideabi-4.7/bin/../libexec/gcc/arm-linux-androideabi/4.7.4/real-ld:
warning: shared library text segment is not shareable
~arm-linux-androideabi-4.7/bin/../libexec/gcc/arm-linux-androideabi/4.7.4/real-ld:
error: treating warnings as errors
We tried to suppress thisn warning by setting LDFLAGS but the
tool-chain does not seem to identify this flag:
LOCAL_LDFLAGS := --no-warn-shared-textrel
We need some help to fix this, so posting on both android and
tool-chain mailing lists.
Thanks,
Sandeepa