summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-05-27 18:38:56 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-05-27 18:38:56 +0000
commit8e85b4f00e8816f22bf5b5f20b1f978432f2ae08 (patch)
tree3f6d24ed474c5d429846c1983f1741aa36c1cbfb
parentb3c75a1e8ffbf575c2a425b34fd67ff8077da299 (diff)
parentaa50585d961fb2b0f6943399d90ca0ec734946a3 (diff)
downloadbionic-8e85b4f00e8816f22bf5b5f20b1f978432f2ae08.zip
bionic-8e85b4f00e8816f22bf5b5f20b1f978432f2ae08.tar.gz
bionic-8e85b4f00e8816f22bf5b5f20b1f978432f2ae08.tar.bz2
Merge "Restore __srefill for LP32."
-rw-r--r--libc/stdio/local.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/libc/stdio/local.h b/libc/stdio/local.h
index c71efd9..3c5388c 100644
--- a/libc/stdio/local.h
+++ b/libc/stdio/local.h
@@ -41,16 +41,24 @@
#include "wcio.h"
#include "fileext.h"
-/* Android <= KitKat had getc/putc macros in <stdio.h> that referred
+#if defined(__LP64__)
+/*
+ * Android <= KitKat had getc/putc macros in <stdio.h> that referred
* to __srget/__swbuf, so those symbols need to be public for LP32
* but can be hidden for LP64.
*/
-#if defined(__LP64__)
__LIBC_HIDDEN__ int __srget(FILE*);
__LIBC_HIDDEN__ int __swbuf(int, FILE*);
+
+/*
+ * The NDK apparently includes an android_support.a library that
+ * refers to __srefill in its copy of the vsnprintf implementation.
+ */
+__LIBC_HIDDEN__ int __srefill(FILE*);
#else
__LIBC_ABI_PUBLIC__ int __srget(FILE*);
__LIBC_ABI_PUBLIC__ int __swbuf(int, FILE*);
+__LIBC_ABI_PUBLIC__ int __srefill(FILE*);
#endif
#pragma GCC visibility push(hidden)
@@ -58,7 +66,6 @@ __LIBC_ABI_PUBLIC__ int __swbuf(int, FILE*);
int __sflush(FILE *);
int __sflush_locked(FILE *);
FILE *__sfp(void);
-int __srefill(FILE *);
int __sread(void *, char *, int);
int __swrite(void *, const char *, int);
fpos_t __sseek(void *, fpos_t, int);