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
== This Week ===
* Wrote a python script that parses GDB Testsuite log file and filters out
all results and tests which were not passed.
* Wrote another python script that compares filtered output of GDB log
taken out from different configurations. This script compares results of
various tests which didn't pass in current configuration with their
corresponding results in GDB log of other configurations.
* Generated various comparison pie charts and bar charts to show the
testing results of GDB in different configurations.
* Updated Wiki pages with help for people getting started with remote
Pandaboards.
* Updated wiki pages with help for people getting started with GDB
development and testing remotely.
* Ran after my visa agent for quick processing of my Hong Kong visa.
== Next week ==
* Manual analysis of GDB test results for any possible issues on ARM
platform.
* Finish up the comparison document of all GDB test suite log files.
* Follow up on hong kong visa application.
* Flying to Karchi this Friday to catch flight to Hong Kong permitting visa.
== Progress ==
* Implementing GC sections support in binutils.
Tested the patch for enabling gc section.
"make ld-check" now passes after setting compiler in the PATH.
Used the patched binutils source and built GCC for aarch64-none-elf.
Ran gcc tests on V8 foundation model.
Submitted the patch to FSF binutils for a review.
* Analysis on jump threading in GCC.
Not much progress this week.
Identified few areas where we can improve.
- In Normal jump threading see if we can thread across loop latch and
loop header.
- Lowering switch cases in simple and see if threading benefits.
- Improve threading in VRP.
Misc
------
* Was on leave Friday 22nd.
* Attend tool chain weekly meet, and stand up call
* Had a look at one x86_64 related patch.
== Next week ==
* Update review comments if any and upstream gc sections support patch .
* Continue analysis on jump threading in GCC.
Hi,
I tried to generate a binary containing only ARM 32-bit ISA.
The toolchain I used is
gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux.
The compilation options are -O3 -mcpu=Cortex-A15 -marm -static.
I could get 32-bit ARM ISA for my own C code, but not the C lib functions,
such as
strcpy. Is there a way to invoke 32-bit ARM ISA C library code?
Thanks,
Tien-Pao
== Progress ==
- Fix EPILOGUE_USES regression in CoreMark
- CBUILD tasks had to be respwaned. Zhenqiang sent me links and
instructions. Build tasks are still in the queue.
- Tried with some simple test cases mostly to understand dataflow
and register allocator modules in gcc.
- Remove Unnecessary Zero/Sign Extensions
- Looked in detail a patch
http://old.nabble.com/new-sign-zero-extension-elimination-pass-to29991676.h…
which does extension elimination with sudo registers. This patch is
not part of gcc mainstream. There were some concerns of runtime, using
existing passes to handle this and not catching all the extension in
the discussion.
- Looked at gcc pass ree which does elimination after register
allocation. As it is, it does not eliminate some of the cases I tried.
Looking into it.
== Plan for next week ==
- Work on Remove Unnecessary Zero/Sign Extensions and get ready to
discuses this in connect. It might not be possible to run this with
CBUILD therefore going to try with simple test cases already discussed
and considered by others.
== Progress ==
* February 4.7 release:
- Released a respin of 4.7 2013.02, which fixes an issue with
multiarch on x32 and kfreebsd builds.
* Boehm GC AArch64 support:
- Fixed 128-bit atomic load/store and 'compare and swap' functions
- Testsuite is now OK
* AArch64 porting meeting:
- No new requirements
* Infrastructure:
- Wifi now usable on my laptop
== Next ==
* vacation
* Connect
== Progress ==
* smin-umin: waiting for benchmark results with 'coalesce-vars' patch
reverted on trunk.
* libsanitizer: its backtrace printing facility relies on unwinding
info not present by default in binaries. Adding -funwind-tables
improves the results in GCC testsuite.
There is still an interaction between runtest/qemu and isatty() which
confuses dejagnu. Forcing libsanitizer's internal_isatty to return 0
fixes it. TBC.
* vectorizer cost model: backport in 4.7 required to remove a part,
for lack of new vectorizer infrastructure (arm_add_stmt_cost).
* 'turnoff 64bits ops in Neon': waiting for benchmark results after
backporting on 4.7.
* internal tasks
== Next ==
* holidays next week
* Connect week after