Merge pie-platform-release to aosp-master - DO NOT MERGE

Change-Id: Ibbf58ffaa2f10d0bd20737f61d8abe1f9388e18a
diff --git a/Android.bp b/Android.bp
index 85eaeb6..01bb51b 100644
--- a/Android.bp
+++ b/Android.bp
@@ -10,6 +10,7 @@
         enabled: true,
         support_system_process: true,
     },
+    recovery_available: true,
 
     cflags: [
         "-O3",
@@ -45,6 +46,7 @@
             instruction_set: "arm",
 
             // TODO: This is to work around b/24465209. Remove after root cause is fixed
+            pack_relocations: false,
             ldflags: ["-Wl,--hash-style=both"],
         },
     },
diff --git a/libz.map.txt b/libz.map.txt
index 9ddf44b..0059aa7 100644
--- a/libz.map.txt
+++ b/libz.map.txt
@@ -1,98 +1,151 @@
-LIBZ {
+# This file is copied from src/zlib.map and annotated with comments for the NDK
+# stub library generation script.
+ZLIB_1.2.0 {
   global:
-    _dist_code; # var introduced-arm=9 introduced-arm64=21 introduced-mips=21 introduced-mips64=21 introduced-x86=21 introduced-x86_64=21
-    _length_code; # var introduced-arm=9 introduced-arm64=21 introduced-mips=21 introduced-mips64=21 introduced-x86=21 introduced-x86_64=21
-    _tr_align; # introduced-arm=9 introduced-arm64=21 introduced-mips=21 introduced-mips64=21 introduced-x86=21 introduced-x86_64=21
-    _tr_flush_bits; # introduced=21
-    _tr_flush_block; # introduced-arm=9 introduced-arm64=21 introduced-mips=21 introduced-mips64=21 introduced-x86=21 introduced-x86_64=21
-    _tr_init; # introduced-arm=9 introduced-arm64=21 introduced-mips=21 introduced-mips64=21 introduced-x86=21 introduced-x86_64=21
-    _tr_stored_block; # introduced-arm=9 introduced-arm64=21 introduced-mips=21 introduced-mips64=21 introduced-x86=21 introduced-x86_64=21
-    _tr_tally; # introduced-arm=9 introduced-arm64=21 introduced-mips=21 introduced-mips64=21 introduced-x86=21 introduced-x86_64=21
-    adler32;
-    adler32_combine;
-    adler32_combine64; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
-    compress;
-    compress2;
     compressBound;
-    crc32;
-    crc32_combine;
-    crc32_combine64; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
-    deflate;
     deflateBound;
+    inflateBack;
+    inflateBackEnd;
+    inflateBackInit_;
+    inflateCopy;
+  local:
+    deflate_copyright; # var
+    inflate_copyright; # var
+    inflate_fast;
+    inflate_table;
+    zcalloc;
+    zcfree;
+    z_errmsg; # var
+    gz_error;
+    gz_intmax;
+    _*;
+};
+
+ZLIB_1.2.0.2 {
+    gzclearerr;
+    gzungetc;
+    zlibCompileFlags;
+} ZLIB_1.2.0;
+
+ZLIB_1.2.0.8 {
+    deflatePrime;
+} ZLIB_1.2.0.2;
+
+ZLIB_1.2.2 {
+    adler32_combine;
+    crc32_combine;
+    deflateSetHeader;
+    inflateGetHeader;
+} ZLIB_1.2.0.8;
+
+ZLIB_1.2.2.3 {
+    deflateTune;
+    gzdirect;
+} ZLIB_1.2.2;
+
+ZLIB_1.2.2.4 {
+    inflatePrime;
+} ZLIB_1.2.2.3;
+
+ZLIB_1.2.3.3 {
+    adler32_combine64;
+    crc32_combine64;
+    gzopen64;
+    gzseek64;
+    gztell64;
+    inflateUndermine;
+} ZLIB_1.2.2.4;
+
+ZLIB_1.2.3.4 {
+    inflateReset2;
+    inflateMark;
+} ZLIB_1.2.3.3;
+
+ZLIB_1.2.3.5 {
+    gzbuffer;
+    gzoffset;
+    gzoffset64;
+    gzclose_r;
+    gzclose_w;
+} ZLIB_1.2.3.4;
+
+ZLIB_1.2.5.1 {
+    deflatePending;
+} ZLIB_1.2.3.5;
+
+ZLIB_1.2.5.2 {
+    deflateResetKeep;
+    gzgetc_;
+    inflateResetKeep;
+} ZLIB_1.2.5.1;
+
+ZLIB_1.2.7.1 { # introduced=18
+    inflateGetDictionary;
+    gzvprintf;
+} ZLIB_1.2.5.2;
+
+ZLIB_1.2.9 { # introduced=28
+    inflateCodesUsed;
+    inflateValidate;
+    uncompress2;
+    gzfread;
+    gzfwrite;
+    deflateGetDictionary;
+    adler32_z;
+    crc32_z;
+} ZLIB_1.2.7.1;
+
+# These were all exposed by the old NDK stub library. Unclear if they still
+# should be, but at least some of them are marked as being exported in zlib.h
+# and the tree doesn't build without them.
+ZLIB_NDK {
+    _dist_code;
+    _length_code;
+    _tr_align;
+    _tr_flush_bits; # introduced=21
+    _tr_flush_block;
+    _tr_init;
+    _tr_stored_block;
+    _tr_tally;
+    adler32;
+    compress2;
+    compress;
+    crc32;
+    deflate;
     deflateCopy;
     deflateEnd;
     deflateInit2_;
     deflateInit_;
     deflateParams;
-    deflatePending; # introduced=21
-    deflatePrime;
     deflateReset;
-    deflateResetKeep; # introduced=21
     deflateSetDictionary;
-    deflateSetHeader;
-    deflateTune;
-    deflate_copyright; # var
     get_crc_table;
-    gz_error; # introduced=21
-    gzbuffer; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
-    gzclearerr;
     gzclose;
-    gzclose_r; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
-    gzclose_w; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
-    gzdirect;
     gzdopen;
     gzeof;
     gzerror;
     gzflush;
     gzgetc;
-    gzgetc_; # introduced=21
     gzgets;
-    gzoffset; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
-    gzoffset64; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
     gzopen;
-    gzopen64; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
     gzprintf;
     gzputc;
     gzputs;
     gzread;
     gzrewind;
     gzseek;
-    gzseek64; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
     gzsetparams;
     gztell;
-    gztell64; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
-    gzungetc;
-    gzvprintf; # introduced=21
     gzwrite;
     inflate;
-    inflateBack;
-    inflateBackEnd;
-    inflateBackInit_;
-    inflateCopy;
     inflateEnd;
-    inflateGetDictionary; # introduced=21
-    inflateGetHeader;
     inflateInit2_;
     inflateInit_;
-    inflateMark; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
-    inflatePrime;
     inflateReset;
-    inflateReset2; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
-    inflateResetKeep; # introduced=21
     inflateSetDictionary;
     inflateSync;
     inflateSyncPoint;
-    inflateUndermine; # introduced-arm=21 introduced-arm64=21 introduced-mips=9 introduced-mips64=21 introduced-x86=9 introduced-x86_64=21
-    inflate_copyright; # var
-    inflate_fast; # introduced-arm=9 introduced-arm64=21 introduced-mips=21 introduced-mips64=21 introduced-x86=21 introduced-x86_64=21
-    inflate_table; # introduced-arm=9 introduced-arm64=21 introduced-mips=21 introduced-mips64=21 introduced-x86=21 introduced-x86_64=21
     uncompress;
     zError;
-    z_errmsg; # var
-    zcalloc; # introduced-arm=9 introduced-arm64=21 introduced-mips=21 introduced-mips64=21 introduced-x86=21 introduced-x86_64=21
-    zcfree; # introduced-arm=9 introduced-arm64=21 introduced-mips=21 introduced-mips64=21 introduced-x86=21 introduced-x86_64=21
-    zlibCompileFlags;
     zlibVersion;
-  local:
-    *;
 };