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
* commit '3374f8ad2cd4fcff7ab40bd80672b8b380242c84':
NDK: x86 header file has incorrect definition for ptrdiff_t
Fix size_t definition in x86 NDK header file
* commit '254a709075bc78250b28d8dc34e859821d6499b6':
NDK: x86 header file has incorrect definition for ptrdiff_t
Fix size_t definition in x86 NDK header file
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
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
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
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
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
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
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
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
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
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
* 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.
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
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