Progress:
* VIRT-4 [Guest migration support for KVM]
** VIRT-51: vexpress migration:
** wrote and submitted patches for all the devices that need fixes
** tracked down a painful bug where the guest just hung on vmload
to a missing state-save for a timer device, submitted patch
** remaining work for this item is just responding to patch review
-- PMM
Hi folks,
I found an issue while fixing a test using the wrong VMUL.f32, and I'd like
to know what should be our choice on this topic that is slightly
controversial.
Basically, LLVM chooses to lower single-precision FMUL to NEON's VMUL.f32
instead of VFP's version because, on some cores (A8, A5 and Apple's Swift),
the VFP variant is really slow.
This is all cool and dandy, but NEON is not IEEE 754 compliant, so the
result is slightly different. So slightly that only one test, that was
really pushing the boundaries (ie. going below FLT_MIN) did catch it.
There are two ways we can go here:
1. Strict IEEE compatibility and *only* lower NEON's VMUL if unsafe-math is
on. This will make generic single-prec. code slower but you can always turn
unsafe-math on if you want more speed.
2. Continue using NEON for f32 by default and put a note somewhere that
people should turn this option (FeatureNEONForFP) off on A5/A8 if they
*really* care about maximum IEEE compliance.
Apple already said that for Darwin, 2 is still the option of choice. Do we
agree and ignore this issue? Or for GNU/EABI we want strict conformance by
default?
GCC uses fmuls...
cheers,
--renato
Hello,
I am having an issue with using the gcc toolchain for armv8. I am trying to
cross compile a simple program (helloworld.c) as suggested in the link :
https://wiki.linaro.org/HowTo/HelloAarch64.
But when I try executing the binary on the simulated armv8 (using
foundation model), I am getting error in GLIBC, specifically
"/lib/libc.so.6: version `GLIBC_2.16' not found" . Could you please help me
as to what could be wrong here?
Thanks,
Pavan
== Progress ==
* Analyzed Android kernel linker issue and created LP #1154165 to track it.
* Triaged remaining binutils Launchpad tickets.
* Setup my Pandaboard with Linaro 13.01 (13.02 oopses on boot) to run tests.
* binutils: Committed fix for LP #517081 (Floating-point assembly and
disassembly bugs on armel) upstream.
* binutils: Committed a fix for ARM EABI tests upstream.
* Lots of admin stuff.
== Plan ==
* Get binutils testsuite green in a native configuration (fix LP #812276).
* Investigate getting binutils testuite automated via cbuild/Lava.
* More bugs...
--
Will Newton
Toolchain Working Group, Linaro
== Progress ==
Reviewing GDB tests that FAIL due to timeout problems in remote
configuration.
Made some changes to some of the GDB tests that FAIL on arm targets to
check if they work by minor modifications.
Sick Days: Had been sick due to cough n fever and a drop in blood pressure
made me take most part of Thursday and Friday off.
== Plan ==
Get with Matt for Post- Connect work targets.
Review remaining GDB tests that FAIL due to timeout problems in remote
configuration.
Further experiments with GDB test suite to check support for unsupported
tests on arm.
The Linaro Toolchain and Platform Working Groups are pleased to announce
the 2013.03 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.03
* 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.
Interesting changes include:
* gcc updated to 4.7-2013.03:
* Updates to GCC 4.7.2+svn196272
* Includes arm/aarch64-4.7-branch up to svn revision 196225
* A fix for LP #1135633: [linaro regression] alsa-tools FTBFS with error
"unable to find a register to spill in class ‘AREG’"
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.03
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.
Short week to ...
== Progress ==
* Configured GCC testsuite to run on the Foundation model.
* Boehm GC AArch64 support:
- Submitted gc integration patch in GCC upstream for review.
- libatomic_ops AArch64 support branch re-tested and merged in mainline.
== Next ==
* AArch64 libunwind support.
== Progress ==
- Closed the blue print for gc-sections implementation since the patch
got upstreamed.
- Opened new blue print for adding more test coverage to gc-sections tests.
- Submitted a patch to enable missed out gc-sections test cases from
ld-elf group.
- Wrote gc-sections test cases for few GOT related relocs.
== Plan ==
- Understand equivalences created during CFG traversal for jump threading.
- Look at GCC code for a simple test case where jump threading is missed out.
- Continue writing gc-sections test cases for remaining relocs.
== Progress ==
- Monday was a public holiday
- Studied benchmarks and analysed the rtl/asm for redundant sign extensions
- Came up with simple test cases based on this (have 6 test cases now)
- Looked at gcc tree documentations and helper macros; tried it by
adding more debug dumps for types at tree level
== Plan ==
- Start with the algorithm for sign extension elimination
- Skipping manual changes at source level/asm level to see the
performance improvement for now.
Short week...
== Progress ==
* Catch up on internal tasks / email that piled up during holidays + Connect
* Resumed work on disable-peeling:
- local benchmarking on snowball
- restarting benchmarks via cbuild for an additional check
== Next ==
* Check benchmark results on disable-peeling
* Have a look at how to dejagnu-ize my Neon intrinsic tests
* Check results of libsanitizer branch
* Check results of 'revert-coalesce' branch
* Check bench results of '4.7-backport-vect-cost-model'
* Check bench results of '4.7-turnoff-64bits-ops'
* Investigate why cbuild did not generate all the comparisons I
expected (*-diff.txt files)
* Check whether 2013.03 release process exposed the same problems I
observed with 2013.02.
Progress (in a 1 day week...):
* qemu maintenance:
** released qemu-linaro 2013.03
** arm-devs pullreq
* VIRT-4 [Guest migration support for KVM]
** audited vexpress code for migration issues: there are a few
devices needing minor cleanup, and one (pflash_cfi01) which
has no migration support at all and needs it writing
* KVM other:
** reviewed virtio-blk refactoring patchset
-- PMM
== Progress ==
* Recuperating from Connect, catching up on email
* Attended David's and Maddog's presentation on Monday
* Investigating Arndale bug (seems to work with new kernel)
- Bootstrapping LLVM works, GCC doesn't
* Reviewing patches upstream (Mans', Tim's, others)
* Fixed three bugs on test-suite that depended on RNGs
- Only two more tests broken only in ARM
- Five others broken on both (but only visible on our bot)
- Nine EH tests that need disabling, for now
== Plan ==
* Tackle the two last ARM specific bugs
* If time allows, clear the other 5
* Try to disable any EH-specific test on ARM
* Start talks about getting an internal binary distribution process going
This is to let you know that the migration of lists.linaro.org has been
successfully completed.
As per the email I sent on Wednesday, it may take some time for the new
address of the server to be seen by your computer. You can check this by
trying to connect to the web site:
http://lists.linaro.org/
If you are able to connect and you do not get an error, this means you are
connecting to the new server and you can send email to the lists.
If you experience any problems after the weekend and you find that you
still cannot connect to the server, please reply to this email to let us
know.
Regards
Philip
IT Services Manager
Linaro
The Linaro Toolchain Working Group is pleased to announce the 2013.03
release of both Linaro GCC 4.7 and Linaro GCC 4.6.
Linaro GCC 4.7 2013.03 is the twelth release in the 4.7 series. Based
off the latest GCC 4.7.2+svn195745 release, it includes ARM-focused
performance improvements and bug fixes.
Interesting changes include:
* Updates to GCC 4.7.2+svn196272
* Includes arm/aarch64-4.7-branch up to svn revision 196225
* A fix for LP #1135633: [linaro regression] alsa-tools FTBFS with error
"unable to find a register to spill in class ‘AREG’"
Linaro GCC 4.6 2013.02 is the 25th release in the 4.6 series. Based
off the latest GCC 4.6.3+svn196247 release, this is the twelth
release after entering maintenance.
Interesting changes include:
* Updates to 4.6.3+svn196247
The source tarballs are available from:
https://launchpad.net/gcc-linaro/+milestone/4.7-2013.03https://launchpad.net/gcc-linaro/+milestone/4.6-2013.03
Downloads are available from the Linaro GCC page on Launchpad:
https://launchpad.net/gcc-linaro
More information on the features and issues are available from the
release pages:
https://launchpad.net/gcc-linaro/4.7/4.7-2013.03https://launchpad.net/gcc-linaro/4.6/4.6-2013.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
--
Matthew Gretton-Dann
Toolchain Working Group, Linaro
The Linaro Toolchain Working Group is pleased to announce the release of
Linaro QEMU 2013.03.
Linaro QEMU 2013.03 is the latest release of qemu-linaro. Based off
upstream (trunk) QEMU, it includes a number of ARM-focused bug fixes
and enhancements.
This release has been updated to be based on upstream's recent 1.4.0
release. It also includes ARM KVM support patches which are in sync
with the ABI as committed to the upstream Linux kernel for 3.9.
This feature is still under development but will no longer be subject
to kernel-vs-userspace ABI breaks.
The source tarball is available at:
https://launchpad.net/qemu-linaro/+milestone/2013.03
More information on Linaro QEMU is available at:
https://launchpad.net/qemu-linaro
-- PMM
Hello
You are receiving this email because you are subscribed to one or more
mailing lists provided by the lists.linaro.org server.
IT Services are announcing planned maintenance for this server scheduled
for *Friday 15th March 2013, starting at 2pm GMT*. The purpose of the work
is to move the service to another server. There will be some disruption
during this maintenance.
In order to ensure that you do not accidentally try to use the service
while it is being moved, the current server will be shut down at 2pm.
A further email will be sent on Friday afternoon to confirm that the
migration of the service is completed. However, due to the way servers are
found, it may take a while before your computer is able to connect to the
relocated service.
After the old server has been shut down, email sent to any of the lists
will be queued, but it is possible that the sending server will still
trying to deliver the email to the old server rather than the new one when
it is started.
It is therefore *strongly* recommended that you do not send any email to an
@lists.linaro.org email address until you can connect to the new service,
which you will be able to test by trying to use a web browser to connect to
http://lists.linaro.org after you receive the email confirming that the
migration has been completed. Since the old service will be shut down, if
you are able to connect, you can be sure you have connected to the new
service.
If by Monday you are still unable to connect to the service or you are not
able to send email to an @lists.linaro.org email address, please send an
email to its(a)linaro.org.
Thank you.
Regards
Philip
IT Services Manager
Linaro
== This Week ===
* Couldnt help my luck and wasnt able to reach Hong Kong due to delay in
visa processing by Hong Kong immigration department.
* Remotely attended live streams of Linaro Connect Asia
* Tried to reproduce all open bugs under linaro-gdb project on launchpad
and created a review sheet.
* Created a comparison sheet to figure out why certain gdb tests are
failing or not being run in different configurations.
== Next week ==
* Try to enable some native only tests and see if the functionality can be
tested for remote configurations as well.
* Set out some priority on blue prints and bugs under linaro-gdb project
and start with some stuff with higher priority.
* Caught some flu over the weekend and still a bit down with fever n
headache.
Progress:
* Linaro Connect Asia (Hong Kong)
* Lots of discussions with virtualization team (first time we've
all been able to meet up!), making sure we all understand our TODO
list, priorities, etc, and getting these details written up in JIRA
* Presentation of KVM current status and discussion of next steps;
we tried to keep the focus on the discussion/audience input part
and I thought it was pretty good
* Several linked conversations on UEFI and how it boots hypervisors
(including KVM); came to a conclusion everybody was happy with
(UEFI mostly runs in SVC mode but provides mechanisms so UEFI
bootloader code can start the kernel in Hyp mode as it requires);
Grant Likely will be moving this forward
* KVM/ARM support patchset for QEMU was accepted into upstream this week!
* looked at fixing QEMU's totally broken model of the versatile PCI
controller
-- PMM
== This Week ===
* Compiled GDB graphical report and test-case statistics out of the results
generated by running gdb-test suite in different configurations.
* Worked on release testing of QEMU. All configurations mentioned in
release template have been tested alongwith an extra configuration of 13.01
ubuntu on vexpress.
* Kept running around for my Hong Kong visa which is still not with me.
== Next week ==
* Try to make it to The Connect in Hong Kong or at least attend remotely.
* Participate in various activities at The Connect.
Progress:
* qemu-linaro: rolled tarball, sent it off for testing
* investigated and reviewed fixes for upstream regressions in
ADC/SBC instruction implementation
* sent updated versions of various patchsets
* fixed review comments on QEMU KVM support patchset, resent
* reviewed a pile of ARM patches from other people and sent arm-devs
pullreq
-- PMM
Hi,
I got the crosstool-ng from the 2013.02 release and wanted to build the linaro-aarch64-linux-gnu target locally. During the build, I'm encountering errors. I didn't do any menuconfig for the above target before starting the build.
I'm seeing the following errors with the first during the ppl build ...
[INFO ] Installing PPL
[EXTRA] Configuring PPL
[ERROR] configure: error: Cannot find GMP version 4.1.3 or higher.
[EXTRA] Saving state to restart at step 'cloog'...
...
(from build-ppl/config.log ....
...
configure:11257: result: no
configure:11392: error: Cannot find GMP version 4.1.3 or higher.
GMP is the GNU Multi-Precision library:
see http://www.swox.com/gmp/ for more information.
....)
...
[INFO ] Installing CLooG/ppl
[EXTRA] Configuring CLooG/ppl
[ERROR] checking for version 0.10 (or later revision) of PPL... configure: error: Can't find correct version of PPL.
[EXTRA] Saving state to restart at step 'mpc'...
...
(from build-cloog-ppl/cobnfig.log ...
...
configure:11237: error: Can't find correct version of PPL.
...)
If I'm building a known target with the released version, why am I seeing these errors?
Thanks,
Kalai
The Linaro Toolchain and Platform Working Groups are pleased to announce
the 2013.02 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.02-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.
Interesting changes include:
* binutils is upgraded to 2.23.1
* eglibc is upgraded to 2.17
* kernel header is upgraded to 3.7
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.02
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,
in the example below I want to explicitly generate a "store exclusive
pair" instruction with an asm statement:
typedef struct {
long unsigned int v1;
long unsigned int v2;
} mtype;
int main () {
mtype val[2] ;
val[0].v1 = 1234;
val[0].v2 = 5678;
int status;
do {
__asm__ __volatile__(
" stxp %0, %2, %3, %1"
: "=&r" (status), "=Q" (val[1])
: "r" (val[0].v1), "r" (val[0].v2)
);
} while (status != 0);
if (val[1].v1 == 1234 && val[1].v2 == 5678)
return 0;
return 1;
}
The generated assembly is:
.L7:
ldr x0, [sp]
ldr x1, [sp,8]
.L3:
add x3, sp, 16
stxp x2, x0, x1, [x3]
cbnz w2, .L7
and the issue is that the assembler is not happy of the register x2
used to store the exclusive access status, it should be w2, but
looking at constraint.md it seems that there is no constraint to say
that we want the 32bit version of the register. Any idea ?
Many thanks
Yvan