Commit Graph

489 Commits

Author SHA1 Message Date
Pavel Chupin
4120ceca07 Update signal.h from bionic with transition from SIGRTMIN to __SIGRTMIN
Update signal.c for build with old platforms

Change-Id: Ica87465a73004c0885d51e384acd4f42947cc19b
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-05-08 15:34:45 +04:00
Pavel Chupin
9973b9197f Update epoll.h from bionic
Change-Id: I0c1c8180bcfab5022d5dcdcb5c768a17b9d77f16
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-05-07 19:06:03 +04:00
Andrew Hsieh
b280e72a97 Bump __clang_minor__ check to 6 for __builtin_isnan
It appears that upstream 3.5 still can't accept __builtin_isnan redeclared
with calling convention, eg.

cat > isnan.c <<EOF
int __builtin_isnan(double) __attribute__((pcs("aapcs")));
EOF

  clang  -target armv5te-none-linux-androideabi -c isnan.c
  isnan.c:1:5: error: function declared 'aapcs' here was previously declared without calling convention
  int __builtin_isnan(double) __attribute__((pcs("aapcs")));
      ^
  isnan.c:1:5: note: previous declaration is here

Change-Id: Iff466fd913c3deec27aa3ff355a208543028d368
2014-04-25 09:55:31 -07:00
Andrew Hsieh
fec8b6eb28 Update arch-x86/lib-bootstrap/lib64
Note that this is only used (symlinked) by android-20/arch-x86/lib-bootstrap
for x86_64 build

Change-Id: I9ab023b0383f406fd5b05debf2dd75ea9f2243d8
2014-04-24 12:26:29 -07:00
Andrew Hsieh
79d3fcb11e Add android-20 bionic headers/symbols for 32-bit
Note that this is for bionic headers to be consistent with 64-bit
headers tentatively placed at android-20. ie.

1. bionic headers in all the existing 32-bit headers android-3 .. 19
   are consistent, and don't track any new development in bionic/
   since JB (the time when significant refactoring work starts in bionic/)
   unless bug fixes.
2. bionic headers in android-20 tracks bionic/

Change-Id: Ia07f04ac03ffaef6a6ddcea5f0e6b891e21a869a
2014-04-20 22:18:57 -07:00
Andrew Hsieh
ea0a954826 Merge "Rename lib64 to lib in arch-arm64 and arch-arm64" 2014-04-14 16:14:24 +00:00
Andrew Hsieh
1c0b98603a Remove _GLOBAL_OFFSET_TABLE_ from mips' libstdc++.so.variables.txt
Change-Id: Ie74d6ece0a76eceb41bfc83b2652b50c7e8be159
2014-04-14 08:09:49 -07:00
Pavel Chupin
f09f860b12 Add libstdc++ symbols for 64-bit archs
Done by ndk/build/tools/gen-system-symbols.sh script

Change-Id: I6804e059468f755e18212df43a05a8ec7c3d5a79
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-04-14 18:38:39 +04:00
Andrew Hsieh
a209207504 Rename lib64 to lib in arch-arm64 and arch-arm64
Rename lib64 to lib until both aarch64 and mips64el compiler are
built to look for sysroot/usr/lib64.

Change-Id: Ib9b40a432f7b27c25990e5bdba6ab11db6b2fb6a
2014-04-12 00:47:18 -07:00
Andrew Hsieh
8326e0edba Update 64-bit headers/libs
Also
1) rename lib -> lib64
2) add src/ for android-20/arch-arm64 and arch-mips64
3) delete android-9/arch-arm64 and arch-mips64

Change-Id: I4958c4e52946e29e57b910f39ff0104200853a06
2014-04-10 15:28:53 -07:00
Andrew Hsieh
6db591b98c Merge "Directories/symlinks changes for x86_64 support" 2014-04-10 20:20:02 +00:00
Andrew Hsieh
497b94df02 Merge "Headers update from bionic for x86_64 support" 2014-04-02 08:21:49 +00:00
Andrew Hsieh
0123d3496a Merge "Move _types.h to 32-bit arch dirs to avoid impact on 64-bits" 2014-03-29 03:12:46 +00:00
Andrew Hsieh
ac982541a9 Merge "Refresh locale.h from bionic" 2014-03-29 03:07:31 +00:00
Pavel Chupin
cd9dfd0ffd Refresh locale.h from bionic
Change-Id: I2dfa05f13f6e6e92a5ca238504bd7ee7c511640c
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-03-28 16:55:51 +04:00
Pavel Chupin
e54e92427d Headers update from bionic for x86_64 support
* Add i386/elf_machdep.h, it is used during the build of 32-bit part of
multilib compiler;
* Remove page.h. See https://android-review.googlesource.com/#/c/83299;
* Update other x86 headers from bionic for compatibility which are
required for successful build;

Change-Id: Ia66301849e699b79c657146424a806d0aa22342b
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-03-25 19:22:22 +04:00
Pavel Chupin
ac612d2495 Move _types.h to 32-bit arch dirs to avoid impact on 64-bits
This change moves _types.h from common area to all 32-bits archs.
Required for successful NDK build.

Change-Id: Ife676a285f4b77aef4c33e465a0dbc7cab1481a3
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-03-25 19:21:34 +04:00
Pavel Chupin
94006ac982 Directories/symlinks changes for x86_64 support
* Cleaned up obsolete link in android-9
* Add symlink to lib-bootstrap in android-9
* Add symlink to crt* files sources so that we can build crt*.o for x86_64
* Moved static libs from lib to lib64 so that they can coexist with 32-bit libs
and automatically picked up by multilib compiler. Just plain move, nothing
changes;

Change-Id: Iba580f59f0538db9bc8484afd10e9cfd8b53913a
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-03-25 19:11:40 +04:00
Andrew Hsieh
523abc09f0 Add 64-bit libc.so/libm.so/libdl.so
Generated via
  $NDK/build/tools/gen-system-symbols.sh \
    out.aosp_arm64-eng/target/product/generic_arm64/obj/lib \
    /tmp/ndk-$USER

Change-Id: Ie8e9b8fe1b7c4eb2bd6ed6052f52806885544378
2014-03-25 18:47:13 +08:00
Andrew Hsieh
bf78262845 Merge "Generate x86_64 symbols based on bionic 2014-03-19" 2014-03-25 10:29:52 +00:00
Andrew Hsieh
3000c633ef Merge "Disable for a while extra warnings when using [v]sprintf" 2014-03-25 10:17:05 +00:00
Andrew Hsieh
70537fd9ea Merge "Fix x86_64 alignment in crtbegin" 2014-03-25 10:06:44 +00:00
Andrew Hsieh
d8118ba51b Refresh 64-bit headers and libs
Change-Id: I300537b883705cedbcb6f21fe616f187b54c4afd
2014-03-22 17:45:39 +08:00
Pavel Chupin
fa5250051f Fix x86_64 alignment in crtbegin
Sync from bionic

Change-Id: Ic2b5f1cf87c4c89f75571f76b6a078990bfcb1e4
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-03-21 15:23:07 +04:00
Pavel Chupin
dea9950e23 Generate x86_64 symbols based on bionic 2014-03-19
Per each lib done by:

nm out/target/product/generic_x86_64/symbols/system/lib64/libc.so
| grep "\S\+ T \S\+" | awk "{ print \$3; }" >
symbols/libc.so.functions.txt

nm out/target/product/generic_x86_64/symbols/system/lib64/libc.so
| grep "\S\+ [BGD] \S\+" | awk "{ print \$3; }" >
symbols/libc.so.variables.txt

Change-Id: I0192eb3a2df34112b053a9f798c7917cb1658efe
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-03-21 15:22:11 +04:00
Pavel Chupin
717581313a Disable for a while extra warnings when using [v]sprintf
Toolchain has a lot of usage of these functions and since we are
building the most components with -Werror it produces lots of errors.

Change-Id: Iaf5a95d6b493adb8d85803a62b184029060727d9
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-03-21 15:21:51 +04:00
Andrew Hsieh
a49155bc36 Add scalbln, scalblnf, and scalblnl to x86 libm.so for API>=18
Change-Id: Ib22eead27b8f82cfa0e1b7eb429e2c76d068120f
2014-02-26 10:38:31 +08:00
Andrew Hsieh
0faa78e6e0 Define __PTHREAD_*_INIT_VLAUE in pthread.h for API < 9
Define __PTHREAD_MUTEX_INIT_VALUE, __PTHREAD_RECURSIVE_MUTEX_INIT_VALUE,
and __PTHREAD_ERRORCHECK_MUTEX_INIT_VALUE in pthread.h for API < 9.
Pthread.h in API >= 9 have those already since bionic
9831ad3ce6bd5b22da16a275ed67e7236eae3d1f

Change-Id: Ia97960ecbfed0811dde70f75cb23951ecdf803af
2014-02-24 13:08:12 +08:00
Andrew Hsieh
884081d929 Fix MIPS' struct stat
In NDK r9c MIPS' struct stat was incorrectly set to its 64-bit
counterpart for API >= 12

Change-Id: I75db78ac7654fad982430e6adbe4480828776051
2014-02-20 07:56:38 +08:00
Andrew Hsieh
1c51325399 Merge "Experimental headers/libs" 2014-02-17 01:40:00 +00:00
Andrew Hsieh
73a5a3baaa Experimental headers/libs
at temp. android-20 folders

Change-Id: Iecdb083ba1b1c239bd5ecafda56356466e590565
2014-02-10 17:23:10 +08:00
Andrew Hsieh
2643554fa0 Move sys/cachectl.h up from mips-specific folder
It is only effective when compile with mips, although
development no longer has to check themselves

Change-Id: I7fb703170e1cc6bb2e6ea31109851a90a26eacb8
2014-02-10 09:28:47 +08:00
Andrew Hsieh
f0387da709 Merge "Rename arch-aarch64 to arch-arm64" 2014-02-06 22:57:34 +00:00
Andrew Hsieh
3bf77d0608 Add missing __NDK_FPABI__ to function taking/returning float/double
See 5881b5cbe7 (which missed
android-18 input.h) for details.

Change-Id: Ib23d85b676177b0a3e15bae957fc48f6ef0ededb
2014-02-05 11:30:29 +08:00
David Friedman
3b601c6550 Fixed apparent copy/paste mistake
Bug: 11634373

Change-Id: I44766217f414988bfd3be68043a4b80dd21554d8
2014-02-05 11:18:32 +08:00
Andrew Hsieh
4618dc6c2a Rename arch-aarch64 to arch-arm64
Build instruction:
  ./build/tools/download-toolchain-sources.sh /tmp/ndk-$USER/src
  ./build/tools/gen-platforms.sh --minimal --dst-dir=$NDK \
     --ndk-dir=$NDK --overlay --arch=arm64
  ./build/tools/build-gcc.sh /tmp/ndk-$USER/src $NDK \
     aarch64-linux-android-4.8 --try-64

Change-Id: Ieaac9908cd2121981e257113cb8d5d3575c8718e
2014-02-04 17:36:55 +08:00
Andrew Hsieh
ca34e29d94 Merge "Fix headers to be inclued alone" 2014-01-16 17:03:03 +00:00
Andrew Hsieh
42bb3bcadc Merge "Fix typo in comments in looper.h" 2014-01-16 17:02:47 +00:00
Andrew Hsieh
6d2d58de54 Merge "Fixed asset_manager.h, rect_manager.h, and jni.h" 2014-01-16 17:02:36 +00:00
Andrew Hsieh
2c8776805a Fix headers to be inclued alone
See b.android.com/64679 for one of header sys/prctl.h

Change-Id: Ie415ebe2086d2f0190d84fba0c57cc7e1e5822ae
2014-01-13 12:58:46 +08:00
Andrew Hsieh
3517e742e3 Merge "Implement wait4 already exist in header" 2014-01-10 00:31:50 +00:00
Andrew Hsieh
d980848377 Fix typo in comments in looper.h
Remove android-13's looper.h because it's identical to android-9's
Note that ndk/platforms/android-N only keep delta to previous level

Change-Id: Ibd2c3e168cfe7f6902fdc6eca2e2778d8ccf1fac
2014-01-08 17:24:22 +08:00
Andrew Hsieh
fbb32955a4 Fixed asset_manager.h, rect_manager.h, and jni.h
1. Fixed missing #include <sys/types.h> in android/asset_manager.h for API >= 13
2. Fixed missing #include <stdint.h> in android/rect_manager.h for API >= 14
3. Added JNICALL to JNI_OnLoad and JNI_OnUnload in jni.h

Change-Id: I875ec0b6e6f7c2f433c176f0a738eb78f3c33062
2014-01-08 14:10:06 +08:00
Andrew Hsieh
f242723e9d Fixed API18 math.h for clang3.4
Clang3.4 can take __builtin_nexttoward and __builtin_nexttowardf.
Also fix a minor typo in comment

Change-Id: If98a35e2e38c45ebd619b0ceb6c5ee41acc4e415
2013-12-30 14:14:09 +08:00
Hak Matsuda
78bf635170 Restore immersive mode when volume button has been pressed.
Workaround issue where SYSTEM_UI_FLAG_IMMERSIVE_STICKY is invalidated
when a volume button is pressed (internal bug ref b/11986621)

Immersive mode still does not recover when the screen has been
rotated, due to onSystemUiVisibilityChange is not triggered
when screen is rotated (internal bug ref b/11990702)

Change-Id: Ifdfe9b24d5c3c208441aeca0fbb2b1eaee39da95
2013-12-30 13:49:54 +08:00
Hak Matsuda
2a0781b43d Fix rendering issue in Tegra2/3.
Now having medium precision for specular variable, so that specular power can be <1.0

Change-Id: I15459d34e269ba7d31bc899460540fe390e5e294
2013-12-30 13:49:23 +08:00
Andrew Hsieh
7e25851a68 Implement wait4 already exist in header
1. Implement wait4 by calling __wait4 exists in libc.so
2. Add wait4 to libc.a

Change-Id: I08b6555cc50ee88358cd2ec63f9d8d2d4482305a
2013-12-30 11:57:38 +08:00
Logan Chien
ad40d952a1 Workaround the __builtin_isnan() type error for clang 3.4.
Similar to clang 3.3, it seems that clang 3.4 declares an incompatible
function prototypes for __builtin_isnan().  To workaround this issue,
we should not declare the function prototype for __builtin_isnan().

Note: Though it may be good to fix this in clang type checker, like
__builtin_nexttoward(), however it seems non-trivial since __builtin_isnsn()
might be overloaded.  We can revert this after we have fixed the
clang builtin definition.

Change-Id: I329b56225f3d229b0c141bb8414c4369f154efda
2013-12-25 01:59:29 +00:00
David 'Digit' Turner
db275132c5 ndk: Fix wait4() declarations
wait4() was incorrectly declared in <sys/wait.h>, but only added to the
C library in Android 4.3 (API level 18) [1]

This patch:

- Removes the wait4() declarations for any <sys/wait.h> header before
  API level 19.

- Brings the API level 19 <sys/wait.h> which correctly declares wait4().

- Update the libc.so.functions.txt for API level 19 of all platforms
  to include the exported symbol.

NOTE: This does not bring the static libc.a to API level 19, which means
      it is stuck at API level 9 for ARM.

See [2] for the corresponding NDK tests.

http://b.android.com/19854

[1] 17a8b0db63
[2] https://android-review.googlesource.com/#/c/72000/

Change-Id: I7735473d177c44f43b09bb6738e9914945cd4d0a
2013-12-11 17:23:46 +01:00
Andrew Hsieh
b05e7c1985 Annotate JNICALL with __NDK_FPABI__
In armeabi-v7a, VM still expects JNI functions to follow soft-abi.
Annotate it with __NDK_FPABI__ so compiler follows soft-abi in JNI
functions regardless the presence of -mhard-float in command-line.

It's up to developer to apply JNICALL consistently on JNI functions,
ie. those functions whose first arg has type "JNIEnv*" is likely to be

Change-Id: Ica7cca8ab9498ce00de6ffc7fff35f8cc13aedbf
2013-12-04 11:55:17 +08:00