Commit Graph

37 Commits

Author SHA1 Message Date
Dimitry Ivanov
eb7c104c90 Add missing __gnu_Unwind_Find_exidx symbol
Also since __aeabi* and __gnu_Unwind_Find_exidx symbols
were incorrectly versioned in M (android-23) remove them from
the version script for all platform versions <= 23

Bug: https://github.com/android-ndk/ndk/issues/1
Change-Id: I04902aac25a722100fc502600df908bb3a786356
2016-01-08 10:03:09 -08:00
Dimitry Ivanov
52343bb255 android-21: add version scripts for libc/m/dl
Bug: http://b/26143749
Change-Id: I114c3885617302e1657d4cc891143ea96727a2b0
2016-01-06 00:22:23 -08:00
Dimitry Ivanov
4493909200 Remove bzero from libc.so
Bug: http://b/26234924
Change-Id: I946a836a55bf416a767dec4e04fb23bb4c00f8ec
2016-01-05 21:13:38 -08:00
Dimitry Ivanov
6bef207c7b Remove new set of LIBC_PRIVATE symbols from libc
Bug: http://b/26234924
Change-Id: If0acb2105c75bf9e6dd97230391f3944157990ae
2016-01-05 15:26:03 -08:00
Dimitry Ivanov
32b61f1e94 Restore public __aeabi symbols
The following arm symbols should be exported by libc.so:
    __aeabi_atexit; # arm
    __aeabi_memclr; # arm
    __aeabi_memclr4; # arm
    __aeabi_memclr8; # arm
    __aeabi_memcpy; # arm
    __aeabi_memcpy4; # arm
    __aeabi_memcpy8; # arm
    __aeabi_memmove; # arm
    __aeabi_memmove4; # arm
    __aeabi_memmove8; # arm
    __aeabi_memset; # arm
    __aeabi_memset4; # arm
    __aeabi_memset8; # arm

Bug: https://github.com/android-ndk/ndk/issues/1
Change-Id: I36f758c574a939174d43999048c193e63def548f
2016-01-05 14:04:48 -08:00
Dimitry Ivanov
450cb38561 Remove LIBC_PRIVATE symbols from all of NDK libcs
Bug: http://b/26234924
Change-Id: I1f4bb35df0bf0aca089a9f21d6d9b653cce001ff
2016-01-04 12:40:40 -08:00
Dimitry Ivanov
9923e5e3db android-21: Restore __ns_* symbols for lp32 libc
Bug: http://b/26268835
Change-Id: I96c891e9ddf95dae54cbe0f082d4761d731ba0a5
2015-12-18 13:35:53 -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
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
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
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
608e77f701 Remove bogus "arch-p" directory.
Change-Id: I89d9710357dc9ee490e2d54894b5fea48236a5b2
2015-06-19 14:19:11 -07: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
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
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
Andrew Hsieh
b6f18dba42 Fix headers to be included alone
Change-Id: I7eb9a6ed51b938506d440b91e6b3d42daf817fd7
2014-11-17 09:54:27 +08:00
Andrew Hsieh
d3ab539366 Change sysconf(3) to return long
See bionic 60d84af1726225320b26683b726e5e735d9d76e8

BUG=18390956

Change-Id: I20c6aa48115610b35e1d59f9f37ce5abbe6ac2f7
2014-11-17 09:48:36 +08:00
Andrew Hsieh
add39dfea3 Cherry-pick: Only use <atomic> for C++11 and newer
See bionic 3ce0769aa5f9a991af1d167f730d987dd002253c
BUG=17736764

Change-Id: If63b6c8394f8574fd198fd24dfc42a3aaba865d5
2014-10-30 10:42:04 -07:00
Andrew Hsieh
d8338a7e26 Add asm/a.out.h to arm64/mips/mips64
The common header include/linux/a.out.h include asm/a.out.h, but
arm64/mips/mips64 don't have it.  Add a placeholder before bionic
has it

Change-Id: I7084e0beabe86fec32987a89e66d6c094f1e8c22
2014-10-15 11:13:01 +08:00
Andrew Hsieh
2437e141fe Change sample native-codec's minSDK to android-21
android-L is renamed as android-21 in both coming SDK and NDK

Change-Id: I57b0dbe4d6e8add178dadfa6306bfc40aad27206
2014-10-15 11:03:55 +08:00
Hans Boehm
1b2269becc Make memory_order_acquire visible in global namespace
We were missing that using directive when including <atomic>.

Bug:17736764

Change-Id: I93673dc60cca47195ff7bd651840c77255fb2d4a
2014-10-15 11:00:28 +08:00
Andrew Hsieh
da84168fb2 Rename android-L to android-21
Change-Id: I1e781b15a867cf6283756f35f2b5955c96637c39
2014-10-15 10:48:04 +08:00