Commit Graph

424 Commits

Author SHA1 Message Date
David 'Digit' Turner
bb3784d646 ndk: update JNIEXPORT declaration in <jni.h>
This patch updates the definition of JNIEXPORT in <jni.h> to
use the "default" ELF visibility attribute for JNI_OnLoad and
any function that uses the macro for its definition.

This is handy when a developer wants to use hidden visibility
by default by using a compiler flag like -fvisibility=hidden
in its Android.mk or custom build script.

Change-Id: I95112932731216a9a4986820a1875edfb3f52e5b
2011-08-23 16:08:17 +02:00
David Turner
5647257e6e am 3374f8ad: am 254a7090: am 0f97bab8: Merge changes Ibee74a22,Ifef4dc98
* commit '3374f8ad2cd4fcff7ab40bd80672b8b380242c84':
  NDK: x86 header file has incorrect definition for ptrdiff_t
  Fix size_t definition in x86 NDK header file
2011-08-09 13:37:17 -07:00
David Turner
3374f8ad2c am 254a7090: am 0f97bab8: Merge changes Ibee74a22,Ifef4dc98
* commit '254a709075bc78250b28d8dc34e859821d6499b6':
  NDK: x86 header file has incorrect definition for ptrdiff_t
  Fix size_t definition in x86 NDK header file
2011-08-05 08:02:33 -07:00
Mark D Horn
f907f4f9d4 NDK: x86 header file has incorrect definition for ptrdiff_t
See Bug http://code.google.com/p/android/issues/detail?id=19042

Change-Id: Ibee74a22ca8cb1e62b7a6faff01291c6c7a56775
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2011-08-04 17:11:15 -07:00
Mark D Horn
36f0d56517 Fix size_t definition in x86 NDK header file
Bug: http://code.google.com/p/android/issues/detail?id=19011

The incorrect #define was being used which caused the incorrect
definition for size_t when the standalone toolchain is used.

Change-Id: Ifef4dc987c542a9c5d8bb43d84d3fe1431de9aa0
Signed-off-by: Mark D Horn <mark.d.horn@intel.com>
2011-08-03 15:11:56 -07:00
David 'Digit' Turner
e8ceb3f0b6 am 16a7447e: am d681f257: am bb2c6132: am 718e8b89: Merge "ndk: arm: also update other CRT runtime objects."
* commit '16a7447e3f2ee49dc23729fb20a3077d37fd2440':
  ndk: arm: also update other CRT runtime objects.
2011-07-15 14:12:19 -07:00
David 'Digit' Turner
16a7447e3f am d681f257: am bb2c6132: am 718e8b89: Merge "ndk: arm: also update other CRT runtime objects."
* commit 'd681f257aa47dc643db5222796e9a2ce7ed42437':
  ndk: arm: also update other CRT runtime objects.
2011-07-15 11:21:55 -07:00
David 'Digit' Turner
26f4ec6044 am 6b44056d: am 6e837041: am 09d3d318: am c13e5c1c: Merge "ndk: Fix android-3/arch-arm crt{begin,end}_so.o"
* commit '6b44056dcffed6ac23140969b60257fdfd82b1ac':
  ndk: Fix android-3/arch-arm crt{begin,end}_so.o
2011-07-15 11:20:57 -07:00
David 'Digit' Turner
04a343244f am ecab2abe: am 0663014f: am 75266abb: am 0db3eb4a: Merge "ndk: Add crtbegin_so.o / crtend_so.o to android-3"
* commit 'ecab2abe5ed7aa2696aae08a7678a982ffcc9347':
  ndk: Add crtbegin_so.o / crtend_so.o to android-3
2011-07-15 11:20:54 -07:00
David 'Digit' Turner
6b44056dcf am 6e837041: am 09d3d318: am c13e5c1c: Merge "ndk: Fix android-3/arch-arm crt{begin,end}_so.o"
* commit '6e83704102ef91e3e8d217be2b8906a746c54d9a':
  ndk: Fix android-3/arch-arm crt{begin,end}_so.o
2011-07-15 10:47:20 -07:00
David 'Digit' Turner
ecab2abe5e am 0663014f: am 75266abb: am 0db3eb4a: Merge "ndk: Add crtbegin_so.o / crtend_so.o to android-3"
* commit '0663014fef1f9f7b44386a5f6fde97bd8fe9e452':
  ndk: Add crtbegin_so.o / crtend_so.o to android-3
2011-07-15 10:47:16 -07:00
David 'Digit' Turner
cd181903b5 ndk: arm: also update other CRT runtime objects.
Turns out that updating crtbegin_so.o and crend_so.o is not
enough for the standalone toolchain. We also need to update
the object files used to generate static and dynamic
executables.

This fixes the standalone toolchain NDK tests.

Change-Id: Ibf113b09766f00b30895951a5639343728be3f3a
2011-07-15 05:21:36 +02:00
David 'Digit' Turner
a062ad61b0 ndk: Fix android-3/arch-arm crt{begin,end}_so.o
Turns out that the previously commited versions of these files do not
allow for proper linking with a patched toolchain. With -shared, gcc complains
that:

    .preinit_array section is not allowed in DSO

So use the versions from android-9/arch-arm instead, which seems to work fine.

Change-Id: I9aeaab449ddad058451c7d6493c983ab2ed1c4eb
2011-07-14 08:15:16 +02:00
David 'Digit' Turner
75cedfadcd ndk: Add crtbegin_so.o / crtend_so.o to android-3
This change adds crtbegin_so.o and crtend_so.o under
platforms/android-3/arch-arm/lib.

This is in preparation of another toolchain patch that will require
these files for all platform versions (for now, they are only defined
starting from android-9).

Note that these files are just copies of the existing ones, named
crtbegin_dynamic.o and crtend_android.o respectively.

The NDK build script will automatically use the new files if it finds
them, so shouldn't need to be updated.

Change-Id: I6a446266b54b871cd957dfd737054b302678b2d3
2011-07-14 05:51:31 +02:00
David 'Digit' Turner
e89c5e20a0 am 5853cce9: am 97c9b03f: am a6896d75: am 402b02f8: Merge "ndk: x86: Update android-9 x86 platform files"
* commit '5853cce9d0a28ff4ee64909af86dc40e1639e9b8':
  ndk: x86: Update android-9 x86 platform files
2011-06-27 14:15:43 -07:00
David 'Digit' Turner
5853cce9d0 am 97c9b03f: am a6896d75: am 402b02f8: Merge "ndk: x86: Update android-9 x86 platform files"
* commit '97c9b03f62cc7d1102d5f4803bb8ed2b511ed060':
  ndk: x86: Update android-9 x86 platform files
2011-06-27 10:53:27 -07:00
David 'Digit' Turner
2409c5a6d7 ndk: x86: Update android-9 x86 platform files
This updates the platform files for API level 9 on x86 to
the binaries built from the internal Gingerbread branch
containing the back-ported AOSP x86 support patches.

Change-Id: I5bc43b4a5c346f7fab8eb57289803edc0c0f2d75
2011-06-24 22:39:14 +02:00
David 'Digit' Turner
5ac5b707bb am b257bb8a: am e9c7386b: am e011bed4: Merge "ndk: x86: Sanitize platform headers and libraries."
* commit 'b257bb8ab4a18e6683aec64389305e179f6eb86b':
  ndk: x86: Sanitize platform headers and libraries.
2011-06-07 17:16:35 -07:00
David 'Digit' Turner
b257bb8ab4 am e9c7386b: am e011bed4: Merge "ndk: x86: Sanitize platform headers and libraries."
* commit 'e9c7386b0506f7c2f0bc258e3a899fcbe64adc3e':
  ndk: x86: Sanitize platform headers and libraries.
2011-06-06 17:30:49 -07:00
David 'Digit' Turner
6a517b0612 am 91641c03: am c1b7604a: am 18fc9b3e: Merge "ndk: Update libc.a to Gingerbread version."
* commit '91641c03b03d7c2a4e187fcb22615799314a8439':
  ndk: Update libc.a to Gingerbread version.
2011-06-02 18:52:26 -07:00
David 'Digit' Turner
91641c03b0 am c1b7604a: am 18fc9b3e: Merge "ndk: Update libc.a to Gingerbread version."
* commit 'c1b7604a096ca32513b04c322fce1a0c550de099':
  ndk: Update libc.a to Gingerbread version.
2011-05-29 08:59:31 -07:00
David 'Digit' Turner
3e1498c4c4 ndk: x86: Sanitize platform headers and libraries.
This change sanitizes the x86-specific platform headers and libraries.
It does two things:

- Remove the stuff under android-3/arch-x86

- Update the content of android-9/arch-x86 from a recent AOSP
  full_x86-eng build (see caveats below).

Some files appear to move because they didn't change (e.g. kernel headers).

This change was generated by following these steps:

1/ Build full_x86-eng from the AOSP tree

2/ From $ANDROID_ROOT/ndk, run:

   build/tools/dev-system-import.sh --direct --arch=x86 9

3/ Under $ANDROID_ROOT/development/ndk, do:

   git rm -r android-3/arch-x86
   git add android-9/arch-x86
   git checkout -- android-9/include
   git ls-files -o | xargs rm
   git commit

IMPORTANT:
   The AOSP tip-of-tree used to generate these files
   includes post-Gingerbread changes !!

   The final version of the android-9/arch-x86 files will have to
   be generated from the gingerbread branch after we back-port all
   x86-support changes to it.

   These binaries are thus not final, but can be used to generate
   working experimental NDK packages, including prebuilt GNU libstdc++
   and STLport binaries that implement -fstack-protector correctly.

Change-Id: I260896185a098b9b356bd26f492692e4a4f66f8f
2011-05-27 06:14:16 +02:00
David 'Digit' Turner
509176259d ndk: Update libc.a to Gingerbread version.
This updates the static C library version provided with
the NDK to the version from the AOSP gingerbread-release
branch, more specifically using the platform/bionic.git SHA1 of:

    3f14ff34dfbd00fcffb18b10a1a3e17e2cc5ebdf

This file is only used to rebuild a gdbserver binary. This version
contains changes necessary to fix gdbserver crashing issues on
certain Honeycomb devices.

You will need to rebuild the NDK gdbserver binary after this patch
is submitted (see build/tools/build-gdbserver.sh --help).

Change-Id: Iab7ff707a9bdbdca0d0fd017178e25da9d48e43d
2011-05-24 03:56:38 +02:00
Iliyan Malchev
d78fc7acbc android_native_buffer_t -> ANativeWindowBuffer
Change-Id: I246690d0ecd83b6da8dc0abeff68887abd92fc92
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-05-03 15:49:31 -07:00
David 'Digit' Turner
74ca761b11 am 13e07e5c: am 28eeece2: am 755d75f4: Merge "ndk: Add missing update arm C library for android-9 platform."
* commit '13e07e5c66d20c95f7c8dd668f1e7d9d50da2c9c':
  ndk: Add missing update arm C library for android-9 platform.
2011-04-14 04:02:18 -07:00
David 'Digit' Turner
13e07e5c66 am 28eeece2: am 755d75f4: Merge "ndk: Add missing update arm C library for android-9 platform."
* commit '28eeece2152a6dd78bc630a6a0924ceb6921118a':
  ndk: Add missing update arm C library for android-9 platform.
2011-04-14 03:53:59 -07:00
David 'Digit' Turner
f76679f6ba ndk: Add missing update arm C library for android-9 platform.
The C library was updated in Gingerbread to support. The corresponding
headers were updated, but the change was missing an updated library,
used for proper linking of new functions (e.g. pthread_rwlock_init).

Fix for http://code.google.com/p/android/issues/detail?id=12990

For the record, this binary was simply pulled from an AVD created
with the standard SDK platform image for Gingerbread.

Change-Id: Ic30921582f143adfc4bcfe3f70a6293530fe0202
2011-04-14 11:44:04 +02:00
David 'Digit' Turner
773c80fdb1 am ffb13684: am 957b0ebe: am bfdff660: Merge "ndk: x86: Update libc.so and libstdc++.so"
* commit 'ffb13684024154fc98c27d32c40c090a4ea82e4e':
  ndk: x86: Update libc.so and libstdc++.so
2011-04-11 17:38:17 -07:00
David 'Digit' Turner
ffb1368402 am 957b0ebe: am bfdff660: Merge "ndk: x86: Update libc.so and libstdc++.so"
* commit '957b0ebeb15ec37059705558d10ab01505853738':
  ndk: x86: Update libc.so and libstdc++.so
2011-04-11 17:32:49 -07:00
David 'Digit' Turner
7e9db3d22b ndk: x86: Update libc.so and libstdc++.so
This patch updates the system C and C++ libraries used for
the x86 ABI. We remove the old binary targetting API level 5
(Eclair) since we don't support x86 on it anyway, and put new ones
generated from the AOSP tree with the full_x86-eng build product.

This is necessary to be able to prebuild STLport binaries for
the x86 NDK.

The binaries corresponding to the AOSP platform/bionic.git tree
using the following SHA-1, when building full_x86-eng:

    4c090434a4fcffb3a8bb7ebee7cc6e52befceeae

Change-Id: I63c71554c655f18a6a6f9135074792a8681098bb
2011-04-07 17:22:28 +02:00
David 'Digit' Turner
360270d5e9 am 5aaf5c28: am 282bd952: am 9dacf7ee: Merge "Fix two incorrect <android/input.h> function declarations."
* commit '5aaf5c288c34853725a3bed4d369d25108073101':
  Fix two incorrect <android/input.h> function declarations.
2011-03-21 07:51:41 -07:00
David 'Digit' Turner
5aaf5c288c am 282bd952: am 9dacf7ee: Merge "Fix two incorrect <android/input.h> function declarations."
* commit '282bd952be2e15391d7e33fa0a9ffab378d374ca':
  Fix two incorrect <android/input.h> function declarations.
2011-03-21 07:44:29 -07:00
David 'Digit' Turner
9d0136004f Fix two incorrect <android/input.h> function declarations.
The <android/input.h> header file provided with the NDK contained
two invalid function declarations. This patch fixes them.

Note that this breaks the API, but fixes the ABI (which was previously
broken). It is likely that any application developer that tried to use
these function had problems with them anyway.

Another patch to ndk.git will add a note to the changelog and to
the documentation to explain the issue.

+ Fix some documentation typos.

Change-Id: I0f4517458257ff3242127de9f9099f39948c0a56
2011-03-21 13:57:12 +01:00
David 'Digit' Turner
64afc658c5 am a7414978: am 799afe8a: am c5db1533: Merge "Fix pwrite() declaration in NDK platform headers."
* commit 'a74149786dd7ea48b257337d6c22e19f52a30b45':
  Fix pwrite() declaration in NDK platform headers.
2011-03-15 12:57:23 -07:00
David 'Digit' Turner
a74149786d am 799afe8a: am c5db1533: Merge "Fix pwrite() declaration in NDK platform headers."
* commit '799afe8aa310cdb5604f15662a1964a647725c2e':
  Fix pwrite() declaration in NDK platform headers.
2011-03-15 12:52:49 -07:00
David 'Digit' Turner
9ad28785ba Fix pwrite() declaration in NDK platform headers.
The corresponding fix is already in the Bionic libc source tree.

See http://code.google.com/p/android/issues/detail?id=8908

Change-Id: Id1329f996cd6708e46f48d33d998b8b3d26bf5d7
2011-03-15 16:30:35 +01:00
Iliyan Malchev
1dcd97644a development: remove LOCAL_PRELINK_MODULE
Change-Id: I6ae5c92aba05c3991bda260c264de835244f7f3e
Signed-off-by: Iliyan Malchev <malchev@google.com>
2011-03-14 14:24:21 -07:00
David 'Digit' Turner
b2c8dbeafb am 5ac5e8d7: Merge "ndk: Fix stdint.h definitions for C++"
* commit '5ac5e8d7b5c4707190d367c827a7562b08c8e50d':
  ndk: Fix stdint.h definitions for C++
2011-03-14 10:53:18 -07:00
David 'Digit' Turner
c7d8870875 ndk: Fix stdint.h definitions for C++
Fix the stdint.h header for C++ inclusion. The limit and constant related macros
should only be defined if __STDC_LIMIT_MACROS and __STDC_CONSTANT_MACROS are
defined, respectively.

Change-Id: I85b00ed857f40b9c17d530f1405f0f098c5f10f3
2011-03-11 14:42:12 +01:00
David 'Digit' Turner
c15487127a am 9e17cec2: Merge "ndk: Fixes PTHREAD_RWLOCK_INITIALIZER definition."
* commit '9e17cec235cbcd3832722a975e9215bf23b6a9ea':
  ndk: Fixes PTHREAD_RWLOCK_INITIALIZER definition.
2011-03-10 01:55:28 -08:00
David 'Digit' Turner
114db2a1c4 ndk: Fixes PTHREAD_RWLOCK_INITIALIZER definition.
This is a fix for http://code.google.com/p/android/issues/detail?id=15306

Also see https://review.source.android.com//#change,21699 for the corresponding
fix in the C library headers.

Change-Id: I1c46ee9fc7eb120a98f47719a0407b81001f5ac0
2011-03-10 10:24:52 +01:00
David Turner
a7a4a16d5e am 0b80c5e8: am d2454506: Merge "Move files to proper location in development/ndk/platforms"
* commit '0b80c5e83c057c42d3e3699593d89525c01a4096':
  Line Wrapping General settings Set "Never join already wrapped lines" to true.
  Move files to proper location in development/ndk/platforms
  Blank Lines within class declarations Set "Before field declarations" value to 0.
2011-02-28 10:07:16 -08:00
David Turner
0b80c5e83c am d2454506: Merge "Move files to proper location in development/ndk/platforms"
* commit 'd24545065acbacc7e9f1482f08013a4046640ad7':
  Move files to proper location in development/ndk/platforms
2011-02-28 09:13:43 -08:00
David 'Digit' Turner
729ad2126b am aa276460: ndk: Add headers and libraries for API level 11 (Honeycomb)
* commit 'aa27646057d772dcc2a79495efbd7009d4b0d8e5':
  ndk: Add headers and libraries for API level 11 (Honeycomb)
2011-02-09 23:50:20 -08:00
David 'Digit' Turner
aa27646057 ndk: Add headers and libraries for API level 11 (Honeycomb)
HC added the following:

- <android/asset_manager.h>: new functions to deal with 64-bit file offsets/sizes.

- <android/input.h>: new AMETA_XXX constants

- <android/keycodes.h>: new AKEYCODE_XXX constants

- <android/native_activity.h>: Added obbPath to the ANativeActivity structure.
  Note that this doesn't break the ABI because the structure is always
  allocated by the system.

Change-Id: I61a03d7b8a839318e5f0d8074d2272ba874219b7
2011-02-09 23:16:46 +01:00
Bruce Beare
a9b5a9d315 Move files to proper location in development/ndk/platforms
Change-Id: I1b001e7b8c878bfc7213556f19c6812d64d46ef3
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-02-09 08:58:48 -08:00
David 'Digit' Turner
442064f4a9 am fd2d786d: am 3f33b7b7: Merge "native_app_glue: fix APP_CMD_TERM_WINDOW pre-hook"
* commit 'fd2d786dd10efc9bf3ce0f5f21fbf80f617286a1':
  native_app_glue: fix APP_CMD_TERM_WINDOW pre-hook
2011-02-02 09:53:15 -08:00
David 'Digit' Turner
95ae335fd5 native_app_glue: fix APP_CMD_TERM_WINDOW pre-hook
The window field must not be set to NULL in the pre-hook, only the
post-one. See http://code.google.com/p/android/issues/detail?id=14352

Change-Id: Ib6214d47c97766bf4a5e148b6b6707e08366fe36
2011-02-02 00:54:02 +01:00
David 'Digit' Turner
cbc7f69548 ndk: Replace 'asm' with '__asm__' in <asm/byteorder.h>
See https://review.source.android.com/#change,20076 for details.
Essentially this is to allow compilation with -std=c99

Change-Id: I4c830c38b2615352765ee40773c5aa701e5d2b68
2011-01-05 23:08:29 +01:00
Martin Storsjo
80736a1bca Use __asm__ instead of asm in public libc headers
If compiling userland code with -std=c99, the current header produces an
error. The content of this header originally is a kernel internal header,
where asm() is acceptable. In a header visible to userland, this should be
__asm__ instead.

This change is done for all newly extracted headers by the extraction
script, by https://review.source.android.com/19406, which was recently
merged.

Change-Id: I69332124a56577673a14e84cd7d9a4462c307724
2010-12-28 21:47:03 +01:00