Change Ib23a0c6a: Commits from linaro to fix builds with newer toolchains and options frameworks/base: Assorted build fixes
Commits from linaro to fix builds with newer toolchains and options
frameworks/base: Assorted build fixes

Assorted build fixes for gcc 4.6 and -DNDEBUG

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix aliasing violations

This makes it possible to build the code without
disabling the strict-aliasing optimization in gcc.

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix aliasing violations

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

libstagefright: Fix aliasing violations

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix various aliasing violations

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

fix build break when using prebuilt toolchain

When doing a build with the prebuilt 4.4 toolchain a duplicate
symbol error is hit. This is due to the fact this symbol is
really defined system/core/include/system/window.h

Change-Id: I9dac8e4f483422a7d42ab0d305ece61197f936b9
Signed-off-by: Andy Doan <andy.doan@linaro.org>

opengl: Enable -flto and -ffast-math

OpenGL can be built with -ffast-math and -flto without
regressions. Enable them for an extra speed boost.

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Change-Id: Iec2950b1d8fef30ef5530551b094e97c7ee91fa7

opengl: Work around linaro-gcc bug 879725

linaro-gcc 4.6-2011.10 ICEs when building matrix.cpp with
-fmodulo-sched when tuning for cortex-a8 (cortex-a9 is ok).
Until the compiler is fixed, disable -fmodulo-sched if we're
targeting cortex-a8 based devices, such as iMX53.

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Change-Id: I2cd8eee31b6fda507188ca709b3d4c00c6d01404

ensure compiler supports -flto

Change Iec2950b1d8fef30ef5530551b094e97c7ee91fa7 enabled
-flto in all builds. However, not all compilers support this
option. This changes ensures the flag is only used when its
supported

Change-Id: I29c1ae41eac6c5c03c944b1200b22171bcbc0719
Signed-off-by: Andy Doan <andy.doan@linaro.org>

frameworks/base: gcc 4.7 compile fixes

Make sure we can compile even with gcc 4.7's added
strictness

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

stagefright: Fix build with gcc 4.7

Make it build with gcc 4.7's added strictness

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Make sure Singleton instantiations are exported

This fixes using Singletons across shared library borders
with gcc 4.7

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

libstagefright: Work around gcc 4.7 bug

When using gcc 4.7, use -O2 instead of -Os to
work around compiler bug
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52294

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Compile fixes for ISO C++ 11

Fix build in ISO C++ 11 mode (where char16_t is defined and different
from uint16_t)

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

libmediaplayerservice: Fix aliasing violation

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

voip: Fix aliasing violation

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

rs: Fix aliasing violation

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

visualizer: Use -fno-strict-aliasing for now

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

libmediaplayerservice: Fix crash caused by strict-aliasing fix

long a[] and long *a aren't always the same...

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix build in ISO C++11 mode

Fix various incompatibilities with ISO C++11:
- Assumption that char16_t is defined to uint16_t
- constexpr usage
- macro constructs that could be interpreted as string literals
- enum typesafety

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

frameworks/base: Fix build without ISO C++11

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

libeffects/visualizer: Don't hardcode -O2

Only put -O2 into the compiler flags if no other
optimization is requested

Change-Id: I973e27c31c34e9d2cb7dbf2f246646da04462d26
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

base: Fix build in ISO C++ 11 mode

Change-Id: I339847235769ac695acd0bbc7079985a9e2fcb05
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

BluetoothEventLoop: Fix build in ISO C++11 mode

Conflicts:

	core/jni/android_server_BluetoothEventLoop.cpp

Change-Id: I0e1b1467ede8e703e911ac4f06e3fd28e7d7e385
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Signed-off-by: Evan McClain <aeroevan@gmail.com>

libstagefright: Disable strict-aliasing for h264dec

Change-Id: I786c66a09dccf9434800ea2de76bf855599c9706
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>

GLES2_dbg/test: Build with -fno-strict-aliasing

Build GLES2_dbg/test with -fno-strcit-aliasing - the code looks like
more aliasing violations will be added, and performance of tests
isn't overly important

Change-Id: Ib23a0c6a881b78ba79d116efa5a1a859d11426b7
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
opps
rs: Turn off Werror.

It doesn't look like all of the aliasing violations were fixed.

Change-Id: I18a3e7dbb778d17d9fba76353cbd0bacb671245d
a few things that got missed on the first merge with linaro patches
Add SMS/Call widget
Add support for reading sms message ids for quick reply, fix bug
in message indicator not showing on message recieved while
the lockscreen was viewed. Was previously checking the database
before the information got there..
libagl: Enable CLZ instruction generation
libagl: Reorder VFP optimized matrix multiply

Conflicts:
	opengl/libagl/matrix.cpp
libagl: Optimize matrix multiply using ARM VFP

We can use ARMv6 VFP to optimize matrix multiply manipulation in libagl.

Use angles as test benchmark program. Here are the reference results per
1000 times on TI OMAP3 600 MHz (Cortex A8) target:

[before]
D/StopWatch( 3018): StopWatch? matrixf_t::multiply (us): 1983
D/StopWatch( 3018): StopWatch? matrixf_t::multiply (us): 2075
D/StopWatch( 3018): StopWatch? matrixf_t::multiply (us): 1953
D/StopWatch( 3018): StopWatch? matrixf_t::multiply (us): 1922
D/StopWatch( 3018): StopWatch? matrixf_t::multiply (us): 1953
D/StopWatch( 3018): StopWatch? matrixf_t::multiply (us): 2075
D/StopWatch( 3018): StopWatch? matrixf_t::multiply (us): 1953
Avg = 1987.71 ns

[after]
D/StopWatch( 3070): StopWatch? matrixf_t::multiply (us): 1739
D/StopWatch( 3070): StopWatch? matrixf_t::multiply (us): 1892
D/StopWatch( 3070): StopWatch? matrixf_t::multiply (us): 1739
D/StopWatch( 3070): StopWatch? matrixf_t::multiply (us): 1770
D/StopWatch( 3070): StopWatch? matrixf_t::multiply (us): 1739
D/StopWatch( 3070): StopWatch? matrixf_t::multiply (us): 1892
D/StopWatch( 3070): StopWatch? matrixf_t::multiply (us): 1739
Avg 1787.14 ns

Improvement: 10%

Conflicts:
	opengl/libagl/matrix.cpp
libagl: Hide ARM helper assembly routines
scroller options
Add hdpi images and moar lockscreen layouts.
Merge branch 'master' of github.com:teamgummy/frameworks_base
Weather: modified to not show up when music is playing
Merge branch 'master' of github.com:teamgummy/frameworks_base
Add some null checks so we don't break secure locks..
Merge branch 'master' of github.com:teamgummy/frameworks_base
Limit name and timestamp to one line to protect agains laotians and
dates that don't exist from messing up the layout.
Framework : Lockscreen background customization (1/2)

Allow user to customize lockscreen background (port from cm7)

Part 2 : http://review.cyanogenmod.com/#/c/16914/
Part 3 : Minor edits
Part 4 : Fix crash on tablets. Added nullcheck to ViewGroup Layout
Part 5 : Add missing id to layout
Part 6 : Reordering/renaming of setBackground

Change-Id: I3f904486b8c7bcfcb63f54937810f6ee9c1721ef

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/layout/keyguard_screen_tab_unlock.xml
	policy/src/com/android/internal/policy/impl/LockScreen.java
	policy/src/com/android/internal/policy/impl/PasswordUnlockScreen.java
Merge branch 'master' of github.com:teamgummy/frameworks_base into MotoICS