jumper, turn off a few fancy features

This doesn't change any of the generated .S files, but it does cut a few
misc. sections from the intermediate .o files.  It's nice to get those
sections out of the way, and one day we might be able to find ways to
cut everything but .text... that'd allow us to switch the supicious
section sniffing code from a blacklist (no .const, no .literal, etc.) to
a more foolproof whitelist (.text or bust).

The remaining sections are only in ELF objects (aarch64.o, vfp4.o):
   .comment         (notes the version of Clang/LLVM that compiled it)
   .note.GNU-stack  (we manually add this back in build_stages.py)
and vfp4.o has two more sections that I don't understand yet:
   .ARM.exidx       (I'd have thought -fno-unwind-tables would cut this)
   .ARM.attributes

While doing this, I've tried to make the ARM flags a bit more compact.

Change-Id: I30ef6acb2a917ec938c5358c3f970fe04b6d7afa
Reviewed-on: https://skia-review.googlesource.com/11485
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
diff --git a/src/jumper/SkJumper.h b/src/jumper/SkJumper.h
index 5758d4e..0ec54af 100644
--- a/src/jumper/SkJumper.h
+++ b/src/jumper/SkJumper.h
@@ -12,7 +12,7 @@
 // and SkJumper_stages.cpp (compiled into Skia _and_ offline into SkJumper_generated.h).
 // Keep it simple!
 
-#if defined(JUMPER) && defined(__ANDROID__)
+#if defined(JUMPER) && (defined(__aarch64__) || defined(__arm__))
     // To reduce SkJumper's dependency on the Android NDK,
     // we provide what we need from <string.h>, <stdint.h>, and <stddef.h> ourselves.
     #define memcpy __builtin_memcpy
diff --git a/src/jumper/build_stages.py b/src/jumper/build_stages.py
index 60d9c1d..81f8697 100755
--- a/src/jumper/build_stages.py
+++ b/src/jumper/build_stages.py
@@ -16,7 +16,8 @@
 
 
 cflags = ['-std=c++11', '-Os', '-DJUMPER',
-          '-fomit-frame-pointer', '-ffp-contract=fast' ]
+          '-fomit-frame-pointer', '-ffp-contract=fast',
+          '-fno-exceptions', '-fno-rtti', '-fno-unwind-tables']
 
 win = ['-DWIN', '-mno-red-zone']
 sse2 = ['-msse2', '-mno-sse3', '-mno-ssse3', '-mno-sse4.1']
@@ -51,15 +52,14 @@
                       ['-c', 'src/jumper/SkJumper_stages.cpp'] +
                       ['-o', 'win_hsw.o'])
 
-aarch64 = [ '--target=aarch64-linux-android' ]
+aarch64 = [ '--target=aarch64' ]
 subprocess.check_call(clang + cflags + aarch64 +
                       ['-c', 'src/jumper/SkJumper_stages.cpp'] +
                       ['-o', 'aarch64.o'])
 
 vfp4 = [
-    '--target=armv7a-linux-android',
+    '--target=armv7a-linux-gnueabihf',
     '-mfpu=neon-vfpv4',
-    '-mfloat-abi=hard',
 ]
 subprocess.check_call(clang + cflags + vfp4 +
                       ['-c', 'src/jumper/SkJumper_stages.cpp'] +