dalvik/libdex: Change to -O2 if we're building with -O3

This is a workaround for an apparent gcc bug.
https://bugs.launchpad.net/linaro-android/+bug/948255

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
dalvik/libdex: Don't reduce optimization level to -O2

Don't reduce optimization level to -O2: It's sufficient to disable
function inlining

Change-Id: Ie6d9978cf0bf0e49cfa296c09c4eba913f22c303
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
dalvik: Fix for broswer-crashing bug

This applies the fix proposed by Olivier Cozette in
https://code.google.com/p/android/issues/detail?id=37561
and fixes our bug:
https://bugs.launchpad.net/linaro-android/+bug/978060

An alternative fix has been applied since, leaving this one in
as a comment for reference

Change-Id: I54336c83650c1628fd1bb689148bc1dd8843d7c6
Signed-off-by: Jon Medhurst <tixy@linaro.org>
Dalvik: Better compatibility with different compilers

This fixes building with clang, and possibly future versions of gcc:
- Don't error out on unused functions generated by gen-mterp.py
  even when we're using -Werror
- Eliminate some dead code (Word/kWordSize definition) clang warns about
- Add a return statement to a switch path causing a possible code path
  with uninitialized variables (if the compiler doesn't know what
  dvmAbort() is)
- Initialize a variable

Change-Id: I9a3c0a1ad4dce10445e2251e491f18511413ca50
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Use -fno-strict-aliasing for dalvik

Change-Id: Ifde8a1ae1b4ff795683c1a9380dbef58a7c58028
Use -fno-strict-aliasing for libdvm

Change-Id: If971e7020cc32a4b22b62bfac474c1d9e0945fa8

Conflicts:
	vm/Android.mk