Commit Graph

729 Commits

Author SHA1 Message Date
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
8862cdc1b4 am e6845146: am 2acf10ae: Merge "Don\'t try to build libportable."
* commit 'e6845146001030ee2ac46f88aaaa280e5b181c09':
  Don't try to build libportable.
2015-06-24 20:20:30 +00:00
Elliott Hughes
e9dcde67ad Don't try to build libportable.
Change-Id: I161a2e05c9bedddda40713346769878fb8c5a588
2015-06-24 12:41:52 -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
Andrew Hsieh
fbd2f271c7 am 01d4a33f: am e267d220: Merge "Build the neon intrinsics for arm64-v8a and x86_64 as well"
* commit '01d4a33fa2a39c72348bc7ec11a259ca3821f98a':
  Build the neon intrinsics for arm64-v8a and x86_64 as well
2015-05-22 15:16:33 +00:00
Martin Storsjo
59f328ad5c Build the neon intrinsics for arm64-v8a and x86_64 as well
This relies on a change for the NDK build system to recognize and
accept the neon tag in these builds as well.

The intrinsics work just fine in these build configurations.

Change-Id: Ib652ab69e822b56edaa9387400bad326fab10133
2015-05-20 15:02:47 +03: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
Elliott Hughes
cdf349cf11 Add missing <stdlib.h> include to the native app glue.
On LP64, this could have caused the top bits of the pointer returned by
malloc to be lost because sizeof(int) != sizeof(void*).

Change-Id: I866a5071c1d359478d020d7fa4d466b53d52edab
2015-02-19 22:41:50 -08: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
acde2e0dea Merge "Drop clang version check for __builtin_isinf and __builtin_isnan" 2015-01-29 19:29:13 +00:00
Andrew Hsieh
6408fa86dc Merge "Refine libportable signal.h on mips." 2015-01-20 18:35:34 +00:00
Pen-Yung Yu
a06fa01ac6 Fixup typo and disable debug message
Change-Id: I646b9a52172c300072443eb8a605e1ebf6f840c6
2015-01-20 15:02:17 +08:00
Pen-Yung Yu
166f5daf4b Refine libportable signal.h on mips.
Change-Id: I02edeb28d4606f7706cbd9f933523483ae51abbb
2015-01-20 14:32:57 +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