Commit Graph

588 Commits

Author SHA1 Message Date
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
Todd Fiala
cfa0f35d00 Add support for building the NDK's native_app_glue.
Required for upcoming CTS tests that utilize the native_app_glue
framework to simplify native test apps.

In support of this feature:
https://code.google.com/p/android/issues/detail?id=63920

Change-Id: I3fe5dab26c147636538a4b519683493d8e78d26f
2013-12-26 15:39:36 +00: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
Andrew Hsieh
2a571fda2b Fix -mhard-float for calling __builtin_* math functions
Annotate __builtin math functions with __NDK_FPABI_MATH__ too.
1. __attribute__((pcs("aapcs"))) has no effect on codegen when __buitlin
   function is emitted inlined.
2. When __builtin call into regular function in Android's libm, it has
   proper attribute which observes soft float-abi

Change-Id: I11e8b74fc22f3072b9ce849193e4a56e98c92d64
2013-12-04 11:45:04 +08:00
Andrew Hsieh
833979268e Enhance hello-jni to report APP_ABI at compilation
Change-Id: I24989212cfb729705cc4177a7112804fa68144c4
2013-12-02 10:22:47 +08:00
Hak Matsuda
cc69f210a7 - Using hard-fp
- Immersive mode in android-19
- Fixed local reference release in JNI helper
- Misc fixes
Change-Id: I3ab19c2b66648bb7a011c462d9d98e75bc136ce6
2013-11-21 16:06:02 +08:00
Elliott Hughes
dfb6545c6b MIPS hasn't supported SA_RESTORER since 2.5 kernels.
Change-Id: Ia3500168ab5ba5ba381d0195e9ecc26a618bf505
2013-11-20 11:34:53 -08:00
Andrew Hsieh
a2e8997b9f Update time.h for CLOCK_BOOTTIME, etc
Add CLOCK_MONOTONIC_RAW, CLOCK_REALTIME_COARSE, CLOCK_MONOTONIC_COARSE,
CLOCK_BOOTTIME, CLOCK_REALTIME_ALARM, and CLOCK_BOOTTIME_ALARM

Remove obsolete CLOCK_REALTIME_HR and CLOCK_MONOTONIC_HR

See:
0351955a686fe4e0bf9f30780f78ff0e2402a6b0
b928bda83d4413b703329f607e2706602f15293f
60e5144ca312b210b54ac8e6966108da0c97ff80

Change-Id: Ibc9e297ab71f3dc16eec0746f835f89e554fd68b
2013-11-14 12:14:12 +08:00
Andrew Hsieh
cd3fe9b4b2 Added missing clock_settime()/clock_nanosleep() in time.h API>=8
See patch for API < 8 at 7761beeb56.

Change-Id: I906172a34645e2659a5b9f8acb2652a4b4eb857d
2013-11-14 11:57:04 +08:00
Andrew Hsieh
7e967a1ca4 Add utimensat and futimens to libc.so at API level 12 and 19, respectively
See ae2d5ba31412c4f382ef405000baa866f35dd736 and
d0be7c8f9a06b3ca8ea7647ea35c8f9dc63f0fe1.

Internal BUG 11590144

Change-Id: I76119cd20fdb205728482e682fd1206d1305881d
2013-11-11 14:50:50 +08:00
Andrew Hsieh
d0b6889fd1 Merge "<pthread.h>: Mark pthread_exit() as __noreturn" 2013-11-05 00:40:09 +00:00
Andrew Hsieh
db52487969 Merge "Remove obsolete ndk/platforms/android-9/arch-x86/src/__dso_handle*.S" 2013-11-05 00:39:50 +00:00
Andrew Hsieh
ba780a0e47 Merge "Refresh API19 include/android/* to android-4.4_r1" 2013-11-05 00:39:37 +00:00
Andrew Hsieh
c0567b54c5 Rename modules NativeActivity
To TeapotNativeActivity and MoreTeapotsNativeActivity, respectively

Change-Id: Iddbb326ef246232e64a9c30138edb55efe86230d
2013-11-05 08:12:46 +08:00
Hak Matsuda
13754d53c3 Addressed feedbacks
- Now they are in ndkHelper:: name space
- Changed module name to ndk_helper
- Changed some static members to class var or stand alone function
- Added syncronization for JNIHelper.cpp
- For a documentation, I will work with doc writer for future improvement

Change-Id: I0055061a4f53b1904cde2e0339550ee277b35fc5

Addressed most of feedbacks,
- Switched coding standard to Chrome style
- Update JNI helper, and documented
- Fixed other issues that is pointed out

Change-Id: Icc729a55ed8dd613759f34a3fc35cb4949d2d205
2013-11-05 08:09:19 +08:00
Andrew Hsieh
86c3b43906 Refresh API19 include/android/* to android-4.4_r1
Change-Id: I9cef03099c68cc0bfeaeedbf8b7d3f1dccc09a50
2013-11-04 11:13:53 +08:00
Andrew Hsieh
a915811733 Remove obsolete ndk/platforms/android-9/arch-x86/src/__dso_handle*.S
Superceded by __dso_handle.h

Change-Id: Ic224b8a1ed74a9535ae9f8814f3450cb4f92efb6
2013-11-04 10:42:21 +08:00
Andrew Hsieh
effaa95815 <pthread.h>: Mark pthread_exit() as __noreturn
Same fix as https://android-review.googlesource.com/#/c/67540/
Fix for: https://code.google.com/p/android/issues/detail?id=60686

Change-Id: I27b8f1ed71dbb44f3598f7f4551bd881754ef945
2013-11-04 10:37:50 +08:00
Andrew Hsieh
4abacac32d Merge "Fix prototype of poll" 2013-11-04 00:30:46 +00:00
Elliott Hughes
07bdc2b8e6 Merge "Fix build." 2013-11-01 04:24:08 +00:00
Elliott Hughes
0d86e637f6 Fix build.
Change-Id: If09775ab21fef5b1df0222f07443a55190ae7a1c
2013-10-31 18:41:52 -07:00
Andrew Hsieh
61097c7e51 Fix prototype of poll
from poll(struct pollfd *, nfds_t, long) to
poll(struct pollfd *, nfds_t, int)

See 11952073af22568bba0b661f7a9d4402c443a888
and ebfbb367fb

Change-Id: Idba600d4b172404f0a1d5d715febcba8a495a770
2013-11-01 08:33:08 +08:00
Andrew Hsieh
55530bf387 Merge "ndk: Add missing declaration for mkdtemp" 2013-10-29 01:52:24 +00:00
David 'Digit' Turner
82703204a9 ndk: Add missing declaration for mkdtemp
The mkdtemp() function has always been implemented in the C library
(see [1] for proof) but was missing a declaration in <stdlib.h>, until
Android 4.0.1 [2]

This patch simply adds the missing declaration to former <stdlib.h>
versions. This makes it easier to build certain open-source programs
for Android, because auto-tools probing typically looks at the symbols
in libc.so to define HAVE_MKDTEMP, then the source fails to compile
because of the lack of declaration.

Note that the mkdtemp is also already listed in
platforms/android-*/arch-*/symbols/libc.so.functions.txt, which were
generated by parsing actual system libraries, and thus don't need to
be updated here.

[1] https://android.googlesource.com/platform/bionic/+/android-1.6_r1/libc/stdio/mktemp.c
    https://android.googlesource.com/platform/bionic/+/android-1.6_r1/libc/Android.mk

[2] ad1ff2fb26

Change-Id: I838b54bcb5cbfd2fed24cf7649897889ec7a5559
2013-10-28 18:46:54 +01:00
Hak Matsuda
5d1c91fb75 cleaned code, added pinch gesture detector, better opengl context handling, fixed issues
Change-Id: I26a28374ae74391204586b4584d03cf0c58772c2
2013-10-28 11:41:58 +08:00
Elliott Hughes
122d194b36 Merge "Fix incorrect extern declaration of poll(2)." 2013-10-25 17:19:25 +00:00
Elliott Hughes
ebfbb367fb Fix incorrect extern declaration of poll(2).
Change-Id: I9ed5136a6b7d20fd0520e09d455a0447ea73e122
2013-10-25 09:07:42 -07:00
Ben Cheng
2e2d9927e5 Refresh sysroot headers for aarch64.
Change-Id: I2443ff351aec5d558cb7843885e5b3f8177527e8
2013-10-17 14:07:49 -07:00
Andrew Hsieh
956fc5ca9e Merge "Add libm_hard.a for armeabi-v7a" 2013-10-17 11:43:29 +00:00
Andrew Hsieh
059df41ed9 Add libm_hard.a for armeabi-v7a
A math library compiled with -mhard-float.  Build instructions:

1. cd to a recent Android source tree: bionic.git
   fbefb252b09634114977dbd1b48dd42bb2629b83 (internal) in this case
2. Temporarily remove "-mfloat-abi=softfp" from build/core/combo/arch/arm/armv7*
   and build/core/combo/TARGET_linux-arm.mk
3. Temporarily add "-mhard-float -mfloat-abi=hard" to LOCAL_CFLAGS
   for libm.a in bionic/libm/Android.mk
4. make -B -j32 out/target/product/generic/obj/STATIC_LIBRARIES/libm_intermediates/libm.a
5. Rename it

Change-Id: I107eea48af75e97b448862cfc7aae2e8f8911a63
2013-10-17 19:41:06 +08:00
Andrew Hsieh
5881b5cbe7 Add __NDK_FPABI__ to function taking/returning float/double
Allow user code to be compiled with "-mhard-float" for armeabi-v7a
(which implies -mfloat-abi=hard), and either link with
1. Android native APIs which use softfp, or
2. A customized libm_hard.a which is compiled with -mhard-float. Need
   -D_NDK_MATH_NO_SOFTFP=1

See tests/device/hard-float/jni/Android.mk for details and restriction
on Clang

Change-Id: I773a842c73368e08b9a6cda0441e95a96fa303b2
2013-10-17 19:15:22 +08:00
Andrew Hsieh
a36935be21 Merge "Add missing math functions" 2013-10-17 10:54:18 +00:00
Andrew Hsieh
e3f5a9c5dd Merge "Update libandroid.so for API9 .. API18" 2013-10-17 00:27:47 +00:00
Ben Cheng
bfd1ec82b4 Merge "Use updated uapi headers for aarch64." 2013-10-17 00:27:11 +00:00
Ben Cheng
6570d523c4 Use updated uapi headers for aarch64.
Change-Id: I6093b3908f26842524acd5ba845e083b8ad6a888
2013-10-16 17:24:18 -07:00
Andrew Hsieh
0df3e70b99 Add missing math functions
1. Add sincos, sincosf, and sincosl to API >= 9 (for ARM only,
   because X86 and MIPS have it already)
2. Add nan, nanf, nanl, and tgammaf to API >= 13 (11 actually,
   but we don't want to add another API which is not released)
3. Add log2, log2f, log2l, logbl, nexttoward, and nexttowardl to
   API >= 18

See b.android.com/38423

Change-Id: I0a756aeeddafc3862f3c0ae38218cb3301608231
2013-10-15 15:55:12 +08:00
Andrew Hsieh
0c147ba2dc Update libandroid.so for API9 .. API18
This CL update library.  See
f3c3a93bc4 for API13..18 header update

Add functions:

android-9:
  AMotionEvent_getHistoricalRawX
  AMotionEvent_getHistoricalRawY
  AMotionEvent_getHistoricalTouchMajor
  AMotionEvent_getHistoricalTouchMinor
  AMotionEvent_getHistoricalToolMajor
  AMotionEvent_getHistoricalToolMinor
  AMotionEvent_getHistoricalOrientation

android-13:
  AAsset_seek64
  AAsset_getLength64
  AAsset_getRemainingLength64
  AAsset_openFileDescriptor64
  AConfiguration_getScreenWidthDp
  AConfiguration_setScreenWidthDp
  AConfiguration_getScreenHeightDp
  AConfiguration_setScreenHeightDp
  AConfiguration_getSmallestScreenWidthDp
  AConfiguration_setSmallestScreenWidthDp
  AMotionEvent_getAxisValue
  AMotionEvent_getHistoricalAxisValue
  ANativeWindow_fromSurfaceTexture (removed in >=API16)
  android_getTtsEngine
  getTtsEngine

android-14:
  AMotionEvent_getButtonState
  AMotionEvent_getToolType

android-15:
  << none >>

android-16:
  Remove ANativeWindow_fromSurfaceTexture

android-17:
  AConfiguration_getLayoutDirection
  AConfiguration_setLayoutDirection

android-18:
  << none >>

Also
  1. remove android-16/include/android/native_activity.h which is the
     same as android-13's
  2. fix input.h comments and missing args, same as
     9d0136004f for android-9
  3. sort android-9's libandroid.so.functions.txt for easier comparison

See https://code.google.com/p/android/issues/detail?id=47150
    https://code.google.com/p/android/issues/detail?id=58528

Change-Id: Iaa88fe45d188482fd0905ca54180c635ab02dd95
2013-10-14 18:44:24 +08:00
Andrew Hsieh
dc5ecc7e3e Add arch-mips64 symlink
To build mips64el-linux-android-4.8
eg.
  ./build/tools/gen-platforms.sh --minimal --dst-dir=$NDK --ndk-dir=$NDK --overlay --arch=mips64
  ./build/tools/build-gcc.sh /tmp/ndk-$USER/src $NDK mips64el-linux-android-4.8 \
     --with-python=prebuilt --try-64

Change-Id: Ia1d4e12db2da18b1a20bcb00e754c23d8b5ba990
ToDo: Need to update platforms/android-9/arch-mips/src/crt*
2013-10-14 13:46:57 +08:00
Ben Cheng
6972ffa798 Merge "Initial set of minimal sysroot headers to build aarch64-gcc." 2013-10-08 23:50:05 +00:00