Commit Graph

465 Commits

Author SHA1 Message Date
Dimitry Ivanov
a57440a131 Remove LIBC_PRIVATE symbols from android-19 libc
Bug: http://b/26234924
Change-Id: I912b646e7b43a69fee55b36935cf46138f5c4b91
2015-12-18 12:47:58 -08:00
Dimitry Ivanov
91616de1be android-18: Cleanup libm symbols
And move some of them to the right place: libc.so.functions.txt

Bug: http://b/26236057
Change-Id: Iaa2aba28ca705fdada0b46d9c40e09f9d574b492
2015-12-18 11:32:06 -08:00
Dimitry Ivanov
0bb1b17d01 android-18: Cleanup libc symbols for x86/mips
Bug: http://b/26236057
Change-Id: I3ed36a1596a435928cc6758a7005eec8d7d1b1f7
2015-12-18 11:32:03 -08:00
Dimitry Ivanov
9b9b8c51cc Cleanup libc symbols for other architectures
Bug: http://b/26236057
Change-Id: I3c2f9a05490897fd5fb2fa2e5d765a6fdb9517f7
2015-12-17 21:54:29 -08:00
Dimitry Ivanov
cfd35aa934 Remove android-18/arm symbols not present in platform libc
Bug: http://b/26236057
Change-Id: Icb5ba2a5b7e1a9b81aee4b388ec3601c3f2ad434
2015-12-17 15:47:05 -08:00
Dimitry Ivanov
86f95e8475 Remove LIBC_PRIVATE symbols from android-18 libm
Bug: http://b/26234924
Change-Id: Ic5688a2c867aebfbfb67cbfef60099d1a72b302f
2015-12-17 15:31:35 -08:00
Dimitry Ivanov
64c835fdb7 Remove LIBC_PRIVATE symbols from android-18 libc
Bug: http://b/26234924
Change-Id: I7c42aa37eb5ed59082a4a5cb7ad57c4761e93543
2015-12-17 15:29:58 -08:00
Dimitry Ivanov
329b34b41f Restore libc __cxa_atexit symbol
Bug: http://b/26234924
Change-Id: Ib57de6777088eacf1062251c85c87c29e7103d4c
2015-12-16 22:15:35 -08:00
Dimitry Ivanov
1a3e15aaf5 Remove symbols that are not present in platform libc
Bug: http://b/26236057
Change-Id: If317bf196f15a23e94b6e5469d9e7eabfb68fb07
2015-12-16 16:38:32 -08:00
Dimitry Ivanov
2a421ad890 Remove LIBC_PRIVATE symbols from android-21 libdl
Bug: http://b/26234924
Change-Id: Ie8b5bc0e7ee78f1ea2a8c70fe3d46000a9efed0e
2015-12-16 16:17:31 -08:00
Dimitry Ivanov
7c74453162 Remove LIBC_PRIVATE symbols from android-21 libm
Bug: http://b/26234924
Change-Id: Iaa8c88aa7a75677b543f699d791bb9f463d000a2
2015-12-16 16:16:28 -08:00
Dimitry Ivanov
4713395668 Remove LIBC_PRIVATE symbols from android-21 libc
And also that strange _Z16__libc_init_vdsov symbol

Bug: http://b/26234924
Change-Id: Idab7680cbde32c48f97c22a403212abbf30eb0f9
2015-12-16 16:15:05 -08:00
Dan Albert
6e84c13895 Update byteswap.h from bionic to match endian.h.
Change-Id: I79e445a167800ce083039d0cb65c5a966d7e6a72
2015-12-09 19:17:28 -08:00
Dan Albert
616a494ec1 Update endian.h from bionic.
This consolidates the guts of the three endian.h files (endian.h,
sys/endian.h, and machine/endian.h) into just sys/endian.h, and turns
the others into headers that forward to it.

This also consolidates all the architecture specific machine/endian.h
files into a single generic header.

Finally, this is also the update version of sys/endian.h, which just
forwards to compiler builtins rather than implementing it ourselves.

Change-Id: Ifce64dc684ce3d3231f3f43a94c083bbd8661840
2015-12-08 14:20:25 -08:00
Dan Albert
c57abe4eb2 Always use the newest sys/cdefs.h.
This is all macros, so there's no reason to have one per API level.

This is still quite a ways from matching what we have in bionic, but
that's a problem for another day.

Change-Id: I804edfd6299d9ba15a3ba59e1091f301eace2142
2015-12-08 14:19:48 -08:00
Dan Albert
53bc2e2f1e Update uchar.h from bionic.
char16_t and char32_t should not be defined when building as C. For
GCC they are, but not for clang. Pull in the updated bionic header
which has the fix for this.

Change-Id: I41b292ece36af79bbe835706bee4441b298215ff
2015-12-04 11:29:12 -08:00
Dan Albert
4efb18d5f5 Fix complex.h for clang.
From the comment about __NDK_FPABI__ vs __NDK_FPABI_MATH__:

    NOTE: Disable for clang for now unless _NDK_MATH_NO_SOFTFP=1, because clang before 3.4 doesn't
          allow change of calling convension for builtin and produces error message reads:

            a.i:564:6: error: function declared 'aapcs' here was previously declared without calling convention
            int  sin(double d) __attribute__((pcs("aapcs")));
                ^
            a.i:564:6: note: previous declaration is here

This applies to current clang as well, not just pre-3.4. Mark these
math functions as math functions.

Change-Id: I001b31df540aa3f61eec049f89346cbf2f11f128
2015-12-04 11:22:26 -08:00
Dan Albert
cea6641901 Rename android-M to android-23.
Change-Id: I37241592cc2354e785f518e5830e8bf9f788b0c9
2015-11-02 13:50:06 -08:00
Elliott Hughes
436f03a080 am b851cbc2: am 1a8697f9: Merge "Patch android-21 with aarch64 <sys/user.h> fixes."
* commit 'b851cbc2cd9b6f36a6e5c7f150c82eb0744d573f':
  Patch android-21 with aarch64 <sys/user.h> fixes.
2015-08-26 15:44:12 +00:00
Elliott Hughes
2e60272c03 Patch android-21 with aarch64 <sys/user.h> fixes.
This makes the files match (AOSP ToT post-M) bionic.

Bug: http://b/23377194
Change-Id: Ie72614612fbe49c4250ca1383d1d224e8bff62dc
2015-08-25 18:43:20 -07:00
Marco Nelissen
c4050f2ed3 am 9146cbdb: Merge "Fix CRCs in file so it passes the new CRC check" into mnc-dev
* commit '9146cbdb556a814628176f599f7cd9bde28b75d9':
  Fix CRCs in file so it passes the new CRC check
2015-07-28 19:40:58 +00:00
Marco Nelissen
3ff89b2fce Fix CRCs in file so it passes the new CRC check
Bug: 22661698
Change-Id: I7f13aca309f6e1163f6515f3d949154749102776
2015-07-28 09:01:31 -07:00
Elliott Hughes
5e6e5c9de0 am ffa5c544: am 6201465c: Merge "Remove more libportable cruft."
* commit 'ffa5c5449d35a68503d34442a4cc575cc389282b':
  Remove more libportable cruft.
2015-06-25 22:21:40 +00:00
Elliott Hughes
9e164c6a56 Remove more libportable cruft.
Change-Id: I971f6d501abf5145bd03a05eeed246f34406e6ea
2015-06-25 15:03:54 -07:00
Elliott Hughes
2824beac4d am 138e4eb4: am 71142c8d: Merge "Patch android-21 with x86 gdbserver <sys/procfs.h> and <sys/user.h> fixes."
* commit '138e4eb4bc3982991232da7870e7553c068d117d':
  Patch android-21 with x86 gdbserver <sys/procfs.h> and <sys/user.h> fixes.
2015-06-25 14:44:53 +00:00
Elliott Hughes
dd0632273f Patch android-21 with x86 gdbserver <sys/procfs.h> and <sys/user.h> fixes.
This makes the files match (AOSP ToT post-M) bionic.

Bug: http://b/22068064
Change-Id: I100ac14afc06c2fe09ef5ecf9c2e3afa13b68c3b
2015-06-24 17:41:12 -07:00
Elliott Hughes
df6c88f742 am e60317ff: am 2807d953: Merge "Remove bogus "arch-p" directory."
* commit 'e60317ff510c1dcc8eadb12e32d3f5a83b43f178':
  Remove bogus "arch-p" directory.
2015-06-19 22:34:53 +00:00
Elliott Hughes
608e77f701 Remove bogus "arch-p" directory.
Change-Id: I89d9710357dc9ee490e2d54894b5fea48236a5b2
2015-06-19 14:19:11 -07:00
Elliott Hughes
acaf6e3eb3 am 55eb5dba: am 7bc5bfc6: Merge "Retcon recent header fixes needed to build gdbserver."
* commit '55eb5dbad222299b315bd818c5e09cf0f55fd555':
  Retcon recent header fixes needed to build gdbserver.
2015-06-18 16:53:16 +00:00
Elliott Hughes
e3ca8e7434 Retcon recent header fixes needed to build gdbserver.
Bug: http://b/21695943
Change-Id: I2b2f0e21a66093bdbbdbc0320ffa574eefaaf5fa
2015-06-17 21:51:13 -07:00
Chris Craik
b9fc90ed7e am 5e96921b: am d32f6aef: Merge "Add tracing header" into mnc-dev
* commit '5e96921b4fbdc453a76de446cf296b725a775d36':
  Add tracing header
2015-06-11 17:14:20 +00:00
Chris Craik
eafa9c3f69 Add tracing header
bug:21195272

Change-Id: I520de9fee7fc40d0570d6bef450d756ce42a1462
2015-06-10 13:25:34 -07:00
Andrew Hsieh
9964d96602 am 16bb796f: am e6d6227a: Merge "Fix fegetenv and fesetenv for arm"
* commit '16bb796ffb46a16fea4fd477bd6c6c9a1b850e9c':
  Fix fegetenv and fesetenv for arm
2015-05-26 05:22:02 +00:00
Andrew Hsieh
5944712898 am 41e35187: am 2c41a709: Merge "Fix sys/ucontext.h for mips64"
* commit '41e35187ff9be6567318973530a0da64cd83e279':
  Fix sys/ucontext.h for mips64
2015-05-26 05:21:59 +00:00
Andrew Hsieh
42a1d9ad45 am cf73ae6f: am 04aaa129: Merge "Fix end pointer size/alignment of crtend_* for mips64 and x86_64"
* commit 'cf73ae6fdfacb6fa80632b57a94b0e113ab9fc82':
  Fix end pointer size/alignment of crtend_* for mips64 and x86_64
2015-05-26 05:21:57 +00:00
Andrew Hsieh
90b97fd7a4 am cefe8d21: am f89ee85b: Merge "Fix mips/mips64 headers"
* commit 'cefe8d21f311611e20263caf72349ebb10f81df1':
  Fix mips/mips64 headers
2015-05-26 05:21:55 +00:00
Andrew Hsieh
bcc248ebb6 am e1bf1a97: am b440125a: Merge "Remove libthreads_db"
* commit 'e1bf1a97a3879434542077d001b8616e33f50e63':
  Remove libthreads_db
2015-05-26 05:21:52 +00:00
Andrew Hsieh
c7931cf4a9 Fix fegetenv and fesetenv for arm
Change-Id: Ied522151e7fd654c9d5bcf5647611538cfc15380
2015-05-26 12:51:50 +08:00
Andrew Hsieh
ae557964dc Fix sys/ucontext.h for mips64
Change-Id: Ie3c51b53d76377a618757268fe724d3ce9ab9f3c
2015-05-26 12:49:11 +08:00
Andrew Hsieh
ece719c7f6 Fix end pointer size/alignment of crtend_* for mips64 and x86_64
Change-Id: I16fec92826cb42a2f68e2b910b8a67301d3eae28
2015-05-26 12:47:21 +08:00
Andrew Hsieh
29fe2de27d Fix mips/mips64 headers
Change-Id: Id65b3bd0c040df62710eee4f5d6571cb5667d57a
2015-05-26 12:33:29 +08:00
Andrew Hsieh
ba9952c429 Remove libthreads_db
Change-Id: I21f3ac64ac7ba15dbdc566fbb042ff9c42e16dd2
2015-05-26 11:23:38 +08:00
Erik Kline
5df4bc6b23 am 92d624ca: am 61250167: Merge "multinetwork API: NDK header" into mnc-dev
* commit '92d624ca5f5c9dfd02b054fa033d98e08013d49c':
  multinetwork API: NDK header
2015-05-20 02:05:55 +00:00
Erik Kline
c278ecaba6 multinetwork API: NDK header
Bug: 19537384
Change-Id: Iead7a2da0a6f0ba99744ef1e434899fe5d42e824
2015-05-20 05:28:06 +09:00
Peter Collingbourne
c90758f420 Modify ctype.h headers to test for non-GNU inline semantics correctly
GCC and Clang will not define __GNUC_STDC_INLINE__ when compiling C++, so this
macro currently implies regular C++ inline semantics in C++. This may cause
the compiler to emit an external definition of the function, which will cause
link errors when compiling with -fvisibility=hidden; see e.g. crbug.com/481902.

To fix this, also test the __cplusplus macro when deciding whether to assume
non-GNU inline semantics.

Change-Id: Icbd1f42279c2f65610e62f21d4a0a09d3b0e091c
2015-05-13 17:41:18 -07:00
Andrew Hsieh
c08fb7eb45 Fix mips64 struct stat64
Cherry pick bionic 86d2feef9f4df517dd5755b39b993bec0c3e1ea5 which
fixes struct stat64.  This may look like breaking mips64 ABI, but mips64
support is stil work in progress post-L

Also see prebuilts/ndk e6639a4c0ba9296a19fd477154aace3585221d9d

Change-Id: Ia8859762191220b9d3127b37970f05594375ca40
2015-01-29 11:39:03 -08:00
Andrew Hsieh
3598d53b42 Drop clang version check for __builtin_isinf and __builtin_isnan
This CL unconditionally removes the existance of __builtin_isinf and
__builtin_isnan from math.h for clang, because (unlike other math functions)
clang doesn't like those to be declared.

See LLVM bugzilla entry: http://llvm.org/bugs/show_bug.cgi?id=20958

The reason for decorating all math functions with __attribute__((pcs("aapcs")))
is to offer developers the ability to compile their code with hardfp and still
link Android's libm.so which follows softfp calling convention.

Before issue 20958 is fixed, those who want clang to compile their code with
hardfp in NDK has to go all the way hard, ie.
1) LOCAL_CFLAGS += -mhard-float -D_NDK_MATH_NO_SOFTFP=1
   Note that _NDK_MATH_NO_SOFTFP=1 remove __attribute__((pcs("aapcs"))) for all math functions
2) LOCAL_LDLIBS += -lm_hard  # link libm_hard.a recompiled with -mhard-float instead of bionic libm.so

Change-Id: Ie2f95e73e58e1574e8cadbcab92a5209d94448e1
2015-01-16 14:24:04 -08:00
Martin Storsjo
2202e9414a Use define for drm property keys instead of defining as char pointers
When defined as char pointers, every compilation unit that includes
the NdkMediaDrm.h header defines a new copy of the same global
variables - leading to linker errors due to multiple definitions
if more than one file includes it.

By using a define, they don't generate any symbols. The NdkMediaFormat.h
header uses extern const char* for a similar set of keys, but that
can't be added after the actual platform has shipped. The other
alternative would be to declare them as static const char*, which
wouldn't generate global symbols, but which could trigger warnings
about unused static symbols instead.

The same change has already been applied in frameworks/av in
https://android-review.googlesource.com/120303.

Change-Id: I14ca81d94309b7f437b3bc144920c48a8b3f0261
2015-01-05 18:52:13 +02:00
WenHan Gu
d7120d4451 Header/symbol for unknown arch.
Change-Id: Ibdbc4cf5408958444ed7a83da6c8bbe478072c6d
2014-12-09 10:50:05 +08:00
Andrew Hsieh
6aff78a6ce misc header changes for r10d
1. move sgidefs.h to libc/arch-mips.
   See bionic 6e50cb454451916ced315680f6c13dc08cf3959a
2. change type of u_ar0 from "unsigned long" to "struct user_regs_struct*".
   See bionic e03950fa0c5567edf70d011b856a027e03b1c0f7
3. sync fts.h, dlext.h, sys/user.h
4. remove ' from string.h

Change-Id: I2ba58b0df4c655f107ea086efbd0220de2b40e9a
2014-12-05 14:11:54 +08:00