Apply changes in bionic/libc/arch-x86/include/machine to
development/ndk/platforms/android-9/arch-x86/include/machine:
commit 5fbf2e09921723cfdea75e83c1fac2080f0ad564
Change-Id: Ie0fe711ae4c866d9c1300430d5e9613ccb82da22
Corrected for example <asm/io.h> to include io_32.h instead of io_64.h
(which is missing, BTW).
Copied from the results of commit (same title) in bionic.git:
126601dd3f5303b50033dcb88945d928aa764aa4
Change-Id: I49547d5253459396bfc85012b1fd263ad5c7e9d0
The atomic operations exported by the platform's C library do not
provide full memory barriers. This can result in incorrect results
when NDK machine code linked against them runs on multi-core devices.
While the bug has been fixed in the platform, this NDK header change
ensures that any source code that includes <sys/atomics.h> will end
up using a correct implementation of these functions, based on the
corresponding GCC builtins.
These builtins always provide a full barrier and have reasonable
performance. Application developers who depend on <sys/atomics.h>
should recompile their unmodified sources against this version
of the NDK as soon as possible.
Change-Id: Ife165d09dceffdcd768b69c072d253cac898419c
The previous header and implementation were incorrect and didn't produce
correct results. This has been fixed in the internal Gingerbread branch.
Technically, this could result in ABI breakage, but the chances are very
low, and there are no official x86 Gingerbread release yet.
Change-Id: I0b2d857399358775d1490b72a1b75baac362f839
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