Linaro GCC 4.5 and 4.6 haven't been released

Bug #787072 reported by Zach Pfeffer
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Linaro Android
Fix Released
High
Jim Huang

Bug Description

1. Release Linaro GCC 4.5 and 4.6
2. Build our platform build with the results to test

Here's Michael's release email:

The Linaro Toolchain Working Group is pleased to announce the release
of both Linaro GCC 4.5 and Linaro GCC 4.6.

Linaro GCC 4.5 2011.05 is the tenth release in the 4.5 series. Based
off the latest
GCC 4.5.3+svn173417, it adds new optimisations, much improved support
for strided load/stores, and fixes for many of the issues found in the
last month.

Interesting changes in 4.5 include:
 * Updates to 4.5.3+r173417
 * Performance improvements in NEON strided loads and stores
 * Performance improvements targeted at EEMBC CoreMark
 * Precompiled header support on recent Linux kernels

Fixes:
 * LP: #660156: Heap randomisation causes PCH testsuite failures
 * LP: #784375: vset_lane_u8 intrinsic generates wrong lane number
 * LP: #759409: Profiled bootstrap fails in FSF GCC 4.5
 * LP: #723086: Test regressions in the Fortran test suite

The strided load/store improvements allow both NEON intrinsics and the
vectoriser to efficiently access values that occur at every n'th
address, such as all of the red values in a RGB image or all of the
left channel samples in a interleaved audio array. Previous versions of GCC
would unpack the values onto the stack instead of using the registers
directly.

The CoreMark improvements improve the code generation for the hot
functions in benchmark. This release is now on par with Linaro GCC
4.4 and significantly ahead of other FSF or Linaro 4.5 based
compilers. This fixes the long-standing problems of ARMv5 being
faster than ARMv7 and 4.4 based compilers being faster than 4.5 based
ones.

Linaro GCC 4.6 is the third release in the 4.6 series. Based off the
latest GCC 4.6.0+svn173480, it adds new optimisations, vectoriser
improvements, and continues with the merge of many ARM-focused
changes.

Interesting changes include:
 * Updates to 4.6.0+r173417
 * Brings forward more of the performance improvements from Linaro GCC 4.5
 * Adds support for swing-modulo scheduling
 * Fixes precompiled header support on recent Linux kernels
 * Changes the default NEON vector size to quads
 * Adds auto-detection of the best vector size
 * Adds vectorisation improvements due to better if-conversion

Fixes:
 * LP: #714921: Uses an unreasonable amount of memory to compile QEMU on armel
 * LP: #723086: Test regressions in the Fortran test suite

The source tarball is available from:
 https://launchpad.net/gcc-linaro/+milestone/4.5-2011.05-0
 https://launchpad.net/gcc-linaro/+milestone/4.6-2011.05-0

Downloads are available from the Linaro GCC page on Launchpad:
 https://launchpad.net/gcc-linaro

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 <email address hidden>

-- Michael

Zach Pfeffer (pfefferz)
Changed in linaro-android:
assignee: nobody → Jim Huang (jserv)
status: New → Confirmed
Revision history for this message
Jim Huang (jserv) wrote :
Revision history for this message
Jim Huang (jserv) wrote :

Testing targets: armv7-a, armv6-vfp

Revision history for this message
Zach Pfeffer (pfefferz) wrote :

Where are you going to put this for general consumption? Will you add some docs about compiling Android with it in the same place? Will you also list the older versions and show any benchmark improvements between the 2?

Revision history for this message
Jim Huang (jserv) wrote :

Let's focus on the delivery of toolchain binary.
Other items should be proceeded in Blueprint.

Revision history for this message
Zach Pfeffer (pfefferz) wrote :

See what you can do to post some docs with the toolchain. All releases need notes, without notes its not really done.

Revision history for this message
Jim Huang (jserv) wrote :

Succeed case (1):
arch: armv6-vfp
Android: 2.3.3
No regression by 0xbench

next is Pandaboard + full optimizations

Revision history for this message
Zach Pfeffer (pfefferz) wrote :

What target?

Revision history for this message
Jim Huang (jserv) wrote :

Google toolchain bench:
  * arm1176jzf-s (700MHz) machine is tested. OK
  * cortex-a8 machine (beagleboard-xM) is tested. OK

Revision history for this message
Jim Huang (jserv) wrote :

Paul Sokolovsky reported:
I still don't have successful local build. I have:

make -C libbfd-binutils-2.20.1/bfd install \
               bfdlibdir=/tmp/android-toolchain-eabi/lib
bfdincludedir=/tmp/android-toolchain-eabi/include && \ -m 644
libbfd-binutils-2.20.1/intl/libintl.a \ /tmp/android-toolchain-eabi/lib
&& \ -m 644 libbfd-binutils-2.20.1/libiberty/libiberty.a \
               /tmp/android-toolchain-eabi/lib

/bin/sh: line 2: -m: command not found

Analysis:
Doug Kwan (at Google) broke the build. You can replace it with
"install" in Makefile.in.

TODO: figure out why additional targets (mainly *.a) are going to be installed.

Revision history for this message
Jim Huang (jserv) wrote :

Installation fix was merged and submitted to AOSP:
    https://review.source.android.com/#change,23179

Revision history for this message
Jim Huang (jserv) wrote :

Several developers encountered a problem that bootanimation shows endless. It results from the mis-optimization in libgui, which handles the operations in Android SensorManager.

To work around this problem, you can apply the following patch:

--- a/libs/gui/Android.mk
+++ b/libs/gui/Android.mk
@@ -18,6 +18,8 @@ LOCAL_SHARED_LIBRARIES := \

 LOCAL_MODULE:= libgui

+LOCAL_CFLAGS += -O0
+
 ifeq ($(TARGET_SIMULATOR),true)
    LOCAL_LDLIBS += -lpthread
 endif

Then, replace /system/lib/libgui.so with the newer one. I didn't look into the details. But at least, Android is able to serve user interaction again.

Revision history for this message
Jim Huang (jserv) wrote :
Download full text (4.7 KiB)

Another problem caused by Linaro toolchain is failing to execute AudioFlinger well.

logcat:
I/DEBUG ( 939): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 939): Build fingerprint: 'pandaboard/pandaboard/pandaboard:2.3.3/GRI40/eng.jserv.20110527.0'
I/DEBUG ( 939): pid: 945, tid: 1004 >>> /system/bin/mediaserver <<<
I/DEBUG ( 939): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr fffffff4
I/DEBUG ( 939): r0 a9061268 r1 00000044 r2 0000047c r3 00000000
I/DEBUG ( 939): r4 a9061268 r5 a9061260 r6 00000021 r7 a9061228
I/DEBUG ( 939): r8 a9047195 r9 a82199e9 10 a90611e0 fp 0000ad50
I/DEBUG ( 939): ip a8128be8 sp 406e7ad8 lr a8d2b55d pc a8d2b540 cpsr 20000130
I/DEBUG ( 939): d0 4016a0c4000000d4 d1 00000010000003a0
I/DEBUG ( 939): d2 006f0070005f0016 d3 0079006300690040
I/DEBUG ( 939): d4 004d002e006e006f d5 004600490044004f
I/DEBUG ( 939): d6 00550041005f0059 d7 3e40e2bb41e80000
I/DEBUG ( 939): d8 0000000000000000 d9 0000000000000000
I/DEBUG ( 939): d10 0000000000000000 d11 0000000000000000
I/DEBUG ( 939): d12 0000000000000000 d13 0000000000000000
I/DEBUG ( 939): d14 0000000000000000 d15 0000000000000000
I/DEBUG ( 939): d16 3fc81c5753a017a4 d17 40025f1046ea3bb8
I/DEBUG ( 939): d18 4000000000000000 d19 bfd2f8823751ddbc
I/DEBUG ( 939): d20 3f114d8b08ef73f2 d21 bebbaf03b8fe0a0e
I/DEBUG ( 939): d22 3ff0000000000000 d23 3fe81c5753a017a4
I/DEBUG ( 939): d24 3e66376972bea4d0 d25 0000000000000000
I/DEBUG ( 939): d26 0000000000000000 d27 0000000000000000
I/DEBUG ( 939): d28 0000000000000000 d29 0000000000000000
I/DEBUG ( 939): d30 0000000000000000 d31 0000000000000000
I/DEBUG ( 939): scr 60000010
I/DEBUG ( 939):
I/DEBUG ( 939): #00 pc 0002b540 /system/lib/libaudioflinger.so
I/DEBUG ( 939): #01 pc 0002b558 /system/lib/libaudioflinger.so
I/DEBUG ( 939): #02 pc 000377cc /system/lib/libaudioflinger.so
I/DEBUG ( 939): #03 pc 000418b8 /system/lib/libmedia.so
I/DEBUG ( 939): #04 pc 00035f0e /system/lib/libmedia.so
I/DEBUG ( 939): #05 pc 00035ffe /system/lib/libmedia.so
I/DEBUG ( 939): #06 pc 000360bc /system/lib/libmedia.so
I/DEBUG ( 939): #07 pc 00031684 /system/lib/libaudioflinger.so
I/DEBUG ( 939): #08 pc 00033cd0 /system/lib/libaudioflinger.so
I/DEBUG ( 939): #09 pc 00032636 /system/lib/libmedia.so
I/DEBUG ( 939): #10 pc 00015698 /system/lib/libbinder.so
I/DEBUG ( 939): #11 pc 000189b8 /system/lib/libbinder.so
I/DEBUG ( 939): #12 pc 00018dde /system/lib/libbinder.so
I/DEBUG ( 939): #13 pc 0001d8f8 /system/lib/libbinder.so
I/DEBUG ( 939): #14 pc 0001e1d8 /system/lib/libutils.so
I/DEBUG ( 939): #15 pc 0001ddb0 /system/lib/libutils.so
I/DEBUG ( 939): #16 pc 0000ca58 /system/lib/libc.so
I/DEBUG ( 939): #17 pc 0000c5ac /system/lib/libc.so
I/DEBUG ( 939):
I/DEBUG ( 939): code around pc:
I/DEBUG ( 939): a8d2b520 ffe8f7ff f7fa4620 4620ee90 f8d...

Read more...

Revision history for this message
Jim Huang (jserv) wrote :

NOTE:
libgui source: frameworks/base/libs/gui/
libaudioflinger source: frameworks/base/services/audioflinger/

Revision history for this message
Zach Pfeffer (pfefferz) wrote :

Any more status on this?
Do we have a tarball?
Have we built and run with the toolchain?

Revision history for this message
Jim Huang (jserv) wrote :

binary tarball was uploaded although I don't think it is final. Please check wiki for the instructions.

Zach Pfeffer (pfefferz)
Changed in linaro-android:
importance: Undecided → High
Revision history for this message
Jim Huang (jserv) wrote :

Ken Werner reported disabling the prelinking could make it work:
    http://lists.linaro.org/pipermail/linaro-dev/2011-June/004993.html

Revision history for this message
Jim Huang (jserv) wrote : Re: Release a Linaro GCC 4.5 and 4.6 2011-06 x86 tarball and build platform code with it

Switch to gcc-linaro-4.5-2011.06

summary: - Release a Linaro GCC 4.5 and 4.6 2011-05 x86 tarball and build platform
+ Release a Linaro GCC 4.5 and 4.6 2011-06 x86 tarball and build platform
code with it
Revision history for this message
Zach Pfeffer (pfefferz) wrote :

Jim would you list the prelinker patches for 4.5?

Jim Huang (jserv)
Changed in linaro-android:
status: Confirmed → Fix Committed
Zach Pfeffer (pfefferz)
summary: - Release a Linaro GCC 4.5 and 4.6 2011-06 x86 tarball and build platform
- code with it
+ Linaro GCC 4.5 and 4.6 haven't been released
Revision history for this message
Zach Pfeffer (pfefferz) wrote :

The following builds have been released:

~linaro-android/toolchain-4.6-2011.05-0
~linaro-android/toolchain-4.6-2011.06-0
~linaro-android/toolchain-4.4-2011.02-0
~linaro-android/toolchain-4.5-2011.04-0
~linaro-android/toolchain-4.5-2011.06-0
~linaro-android/toolchain-4.5-2011.05-0

The Android platform fails to build with 4.6. Bug filed for this:

Cannot compile Android with Linaro's GCC 4.6
https://bugs.launchpad.net/linaro-android/+bug/803600

description: updated
Zach Pfeffer (pfefferz)
Changed in linaro-android:
status: Fix Committed → Fix Released
milestone: none → 11.06
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.