Commit Graph

890 Commits

Author SHA1 Message Date
Dan Albert
a0667c6268 Update zlib headers to 1.2.7.
The NDK's minimum target is now android-16 which had at least 1.2.7.

Test: make checkbuild
Bug: https://github.com/android-ndk/ndk/issues/230
Change-Id: I4e1e5b3613bdf54d101a99358107c5a52dd09d71
2018-07-13 12:20:54 -07:00
Dan Albert
72e43ce150 Purge more of development/ndk.
The static libraries now come from prebuilts/ndk and the CRT sources
now come from bionic.

Test: treehugger
Bug: None
Change-Id: I2e8075d6acca60e64d0c3173713be2bf102a09d8
2018-02-12 11:25:09 -08:00
Dan Albert
bbdeccffb3 Add libcompiler_rt-extras from prebuilts/ndk.
Still not ready to adopt the new static libraries, but we've needed
this for a while now. Copy it into place for now.

These came from the current prebuilts/ndk, which themselves came from
AOSP master build 4567395.

Test: ndk/checkbuild.py && ndk/run_tests.py
Bug: https://github.com/android-ndk/ndk/issues/294
Change-Id: Ia713a957df5c913b36d5f6c8fff35bbb11315ae8
2018-02-01 22:03:22 +00:00
Dan Albert
91e7e76a77 Add libdl.a from prebuilts/ndk.
We aren't quite ready to fully move to the new static libraries, but
we need libdl.a for using libc++ in a static executable (the unwinder
uses dladdr).

Test: ndk/checkbuild.py && ndk/run_tests.py
Bug: None
Change-Id: Ibc2ba4b27cc1fc1fb229719ea3c3c37cb8819fd3
2018-01-29 14:42:46 -08:00
Dan Albert
6127694c15 Remove mips static libraries and crt sources.
Test: ndk/checkbuild.py
Bug: None
Change-Id: Ic7ac690f9b8d63fb80f63a2ccd9ea76b040196d3
2018-01-29 14:42:13 -08:00
Dan Albert
4dce403e66 Remove more crap from development/ndk.
All of this should be unused.

Test: treehugger
Bug: None
Change-Id: I618648c9712264a947aee2f14f6564dd54b40393
2018-01-23 14:22:15 -08:00
Dan Albert
e73d65cbbd Remove unused API definitions from development/ndk.
Test: make checkbuild
Bug: None
Change-Id: I724c849d25963df80eff079bdc5864078991650d
2018-01-19 15:43:46 -08:00
Elliott Hughes
929a6a3013 Add ndk OWNERS.
Bug: N/A
Test: N/A
Change-Id: I68c590fb6b04caf989514d397581b20c42f83453
2017-12-14 12:48:55 -08:00
Josh Gao
f51e0829db Bring forward libc/libm/libdl definitions.
Test: versioner
Change-Id: Iee55c264f5048548ce0f8773bd09211930234ba9
2017-10-24 17:28:13 -07:00
Dan Albert
9ffe126a24 Remove pre-ICS crap.
No longer supported. Move the Gingerbread static libraries forward to
ICS (we only have gingerbread and lollipop ones, so the Gingerbread
ones have been used for ICS previously anyway).

Test: ndk/checkbuild.py && ndk/run_tests.py
Bug: None
Change-Id: I0ae600c755ab9f7a3c187f8777ffcd8f6a2d30ba
2017-08-22 13:30:40 -07:00
Dan Albert
3afdb24aa7 Move crt sources out of API specific directories.
We use one set of sources for all API levels, and the code to find
these made checkbuild.py messier than it needed to be. Move them into
a non-API level specific location.

Test: ndk/checkbuild.py && ndk/run_tests.py
Bug: None
Change-Id: I8e571037b761ebc64b0bf234abd90511778f3224
2017-08-16 13:29:10 -07:00
Dan Albert
55078a1e6b Cleanup crtend names.
For some reason these get renamed to crtend_android during the build.
No idea why they weren't just renamed in the source.

Test: ndk/checkbuild.py
Bug: None
Change-Id: Ia5f0afebfee7a37fa7a8ee837f466f7c0cc5f297
2017-08-16 11:19:58 -07:00
Dan Albert
6f7c30fa90 Unify the arm32 crtbegin sources.
The only difference between the android-21 and android-9 sources
could have been written as in #if.

Test: ndk/run_tests.py
Bug: None
Change-Id: I675e9413df22b65db79fb0e60038c2ee6f4172cd
2017-08-15 11:26:02 -07:00
Elliott Hughes
64eee24852 Fix NDK x86 build.
Because gen-platforms.sh includes the current *bionic* directories, this
mistake in the android-9 crtbegin.c wasn't being noticed. It was using
the platform __stack_chk_fail_local.h instead of the missing local one.

  crtbegin.c:63:59: fatal error: ../../arch-x86/bionic/__stack_chk_fail_local.h: No such file or directory
   # include "../../arch-x86/bionic/__stack_chk_fail_local.h"

Bug: N/A
Test: builds
Change-Id: I8306cee1cf6d974ac5c3dae0c2927af3ceeb2cf6
2017-05-24 08:27:26 -07:00
Dan Albert
f2c7fe4787 Remove libm_hard.
We don't support this ABI any more.

Test: ndk/checkbuild.py
Bug: None
Change-Id: Ia15a411d3974526146b1506ec2664bb75b740725
2017-03-27 13:40:21 -07:00
Dan Albert
7d144ecd61 Add an empty directory so we generate android-26.
Without this, we won't copy the android-26 libraries even though we
have them because the platforms directory is built based on what
directories we have here.

It would be better to rewrite gen-platforms.sh to be less awful, but
given that the whole script can be deleted when we drop the
deprecated headers in r16, there's not much point in doing so.

Test: ndk/checkbuild.py && ndk/run_tests.py --filter aaudio
Bug: None
Change-Id: I3c1861f50c8e779d5489e12887180ef1f2099e4a
2017-03-23 23:58:29 -07:00
Dan Albert
3b59037af3 Backport the inlines for cfsetspeed and tcdrain.
This fixes some issues with using boost's asio (which wrongly assumes
_BSD_SOURCE implies that these things are available) following our
change from -isystem to --sysroot.

Test: Manual, check that we can build when using cfsetspeed on ICS.
Bug: https://github.com/android-ndk/ndk/issues/302
Change-Id: Iab50221e4864f9a09a8fb00691252170eb6e8d09
2017-02-23 11:24:00 -08:00
Dan Albert
e3742ec4ee Revert "Remove unused library definitions."
This reverts commit 45e5c53e91.

Reason for revert: jmgao's versioner is still using them
Bug: http://b/35243030

Change-Id: I17779695c443f3353082d122eacaffba5e5663d3
2017-02-10 19:14:30 +00:00
Dan Albert
45e5c53e91 Remove unused library definitions.
These have all been migrated over to soong in the platform.

Test: ndk/checkbuild.py
Bug: None
Change-Id: Ie192e2145d68722f0915686cfec3bcd07bcd6bff
2017-02-07 13:28:23 -08:00
Treehugger Robot
fd7a042b05 Merge "Remove NDK crtbrand.c." 2017-02-01 01:36:22 +00:00
Elliott Hughes
9ff50d7a5f Remove NDK crtbrand.c.
Bug: http://b/34779141
Test: builds
Change-Id: Ia38c3c24ddae8eff173cfee20aff49f061b8751f
2017-01-31 15:49:20 -08:00
Treehugger Robot
6d298ffd80 Merge "Purge the android_alarm headers." 2017-01-31 20:00:47 +00:00
Dan Albert
9e464b2b80 Purge the android_alarm headers.
These aren't part of the current UAPI headers. They're already gone
from the unified headers, but it would be good to remove them from
the legacy headers as well since it will help find the people that
are still using them (if any).

Test: ndk/checkbuild.py
Bug: None
Change-Id: I04f78e06116a7fba3c894c710dee014cda4030f4
2017-01-31 18:34:45 +00:00
Elliott Hughes
031c4577bd Fix the size of the NDK .note.android.ident ELF note.
Also allow the variables to be set directly by -D rather
than using sed.

Bug: http://b/34779141
Test: builds
Change-Id: Ie81b2f0194d11bdfeffc2ded29ae456420a9f20d
2017-01-28 17:00:14 -08:00
Tianjie Xu
253e562ef0 Add elf note containing ndk version info
Add a ndk_version field in the c struct.

Bug: None
Change-Id: Ia9a2fba388217f659dfc116b8e58f71e449a001d
2016-12-14 14:40:34 -08:00
Yin-Chia Yeh
6d59728432 Merge "Camera: update NDK LSC header" 2016-11-30 19:56:05 +00:00
Dan Albert
ae52e02b1b Continue using the legacy zlib headers.
Test: make native
      Built an NDK with this and used it to build ffmpeg
Bug: None

Change-Id: Ifa3f861341632ebe6fdeb76ae5e566c6b31ed988
2016-11-08 11:46:54 -08:00
Dan Albert
ca08a1caa3 Backport machine/fenv.h to GB for ARM and mips.
Not needed for x86 because it has always had a working fenv
implementation.

We want to add the fixed implementations of fenv to libandroid_support
rather than dirtying up the bionic headers for these, but with the
inlines and the types in the same header we can't do this easily.
Backport machine/fenv.h for these architectures so we can simplify
this.

These are just copied from the android-21 directory. They aren't
moved because gen-platforms.sh actually removes all the currently
accumulated headers for android-21, so android-21 needs to have a
full set of headers...

Test: ndk/checkbuild.py
Bug: https://github.com/android-ndk/ndk/issues/120
Change-Id: Idc3bebc533230afca563c6911c65e90b51342a4b
2016-10-13 15:58:12 +00:00
Dan Albert
17f4026295 Stop shadowing __pure2 in math.h.
I'd actually fixed sys/cdefs.h quite some time ago, but that
definition of __pure2 was being clobbered by the bogus one in math.h.

Test: clang -E -dM --sysroot $NDK/platforms/android-9/arch-arm/ \
          platforms/android-9/include/math.h | grep __pure2
Bug: http://b.android.com/62020

Change-Id: I9b93a7c46075a02ed1ea0ca2cc77624b15955c7f
2016-09-29 10:09:36 -07:00
Jesse Hall
cfab4190bc Update Vulkan headers to 1.0.28
Test: NDK checkbuild.py
Change-Id: I40aef0d2675d5accd5efbca7ac17db8e4f429465
2016-09-26 13:09:41 -07:00
Dan Albert
4b78efde2d Sort symbol names when creating a new script.
Test: ./annotate_version_script.py --create libz.so.json \
          ../../external/zlib/libz.map.txt
Bug: None
Change-Id: I486abef8033eef180ac8cab7dd68aac3f52b5504
2016-09-15 16:42:32 -07:00
Dan Albert
345b976e12 Add a --create mode to fixup_version_script.py.
Most NDK libraries don't have version scripts yet, so add a --create
mode that will generate one based on what we know.

Also rename the script to annotate_version_script.py since that's
more accurate.

Test: ./annotate_version_script.py --create libcamera2ndk.so.json \
          ../../frameworks/av/camera/ndk/libcamera2ndk.map.txt
Bug: None

Change-Id: I62040612118ffb65fabb93157faed79b135f3230
2016-09-15 11:12:37 -07:00
Dan Albert
202d46fda5 Add a pylintrc.
Test: pylint *.py
Bug: None
Change-Id: I47bc9d0e8c8a0c999178a38eccdd22147a82ba06
2016-09-15 11:12:37 -07:00
Dan Albert
88b0014640 Fix copy/paste error in path check.
Function file is up above, this should be the variables file.

Test: ./build_symbol_db.py libcamera2ndk
Bug: None
Change-Id: I5ec8a7f3b10a46c984f3e8d3b74caf43ccc77910
2016-09-14 11:42:32 -07:00
Dan Albert
6427ab7ec9 Update time.h for android-12.
Add timegm and timelocal.

Test: run_tests.py --filter timegm
Bug: https://github.com/android-ndk/ndk/issues/130
Change-Id: Icc8fa6ca1616bc0b6dd79519daa2a6a4316fab9c
2016-09-12 14:43:32 -07:00
Treehugger Robot
87d9b0a9fa Merge "Add a couple scripts to fixup version scripts." 2016-09-10 01:13:14 +00:00
Dan Albert
107ea8235a Put bsd_signal back in android-21+.
Test: Added tests/build/signal
Bug: https://github.com/android-ndk/ndk/issues/160
Change-Id: Ifb222540708aad597994ebd33019e2b478b25953
2016-08-09 14:10:55 -07:00
Treehugger Robot
735aab1f1a Merge "Remove more hard float crap." 2016-08-02 20:34:48 +00:00
Dan Albert
5831e92366 Remove more hard float crap.
Ugh. We had redefinitions of all the __builtin_* math functions in
here.

Test: ./checkbuild.py
Bug: https://github.com/android-ndk/ndk/issues/142
Change-Id: Iec187c3a542e2dc9b3d628c2a9aa3fb45d7986ef
2016-08-02 10:24:19 -07:00
Dimitry Ivanov
baeb854d5f Merge changes Ia67fd60d,Iace0af9f
* changes:
  Remove android_set_abort_message from libstdc++.so
  Remove invalid libstdc++ symbols
2016-07-28 19:58:19 +00:00
Dimitry Ivanov
2212ea5c73 Remove android_set_abort_message from libstdc++.so
This function is already exported by libc.so there
is no need for it in libstdc++.so

Bug: http://b/28987948
Test: python tests/run-all.py --abi armeabi --platform android-21 --suite build /ssd/aosp/master-ndk/out/android-ndk-r13-beta1
Test: python tests/run-all.py --abi arm64-v8a --platform android-21 --suite build /ssd/aosp/master-ndk/out/android-ndk-r13-beta1
Change-Id: Ia67fd60d31b9427db27ffc2ba980b331da3a8e6a
2016-07-28 11:31:55 -07:00
Dimitry Ivanov
ead16304af Remove invalid libstdc++ symbols
There are not present in current platform version of the library.

Bug: http://b/28987948
Test: python checkbuild.py
Change-Id: Iace0af9f7ee0d9fa424ea4f27035894499f4aa8c
2016-07-28 11:11:27 -07:00
Dan Albert
a88921b897 Add a couple scripts to fixup version scripts.
We need to turn the information we have here into annotations in
version scripts for ndk_library.

Change-Id: Ibae6943adbf4bf69b45ff457b0aeccdd03329254
2016-07-28 00:40:06 -07:00
Jesse Hall
08c41d3399 Update Vulkan headers to 1.0.22.
Change-Id: Ibff15a1a8f0cac0aa27abffac6c65403d9198ee0
2016-07-26 14:15:14 -07:00
Dan Albert
27f936e0b9 Remove __NDK_FPABI__ from all definitions.
There's no such thing as the hard float ABI any more.

Change-Id: I94edfc1f12e93286b87febfd9b8486f2f3df051e
2016-07-15 11:30:28 -07:00
Dan Albert
b6ef7b6664 Add a script to unify each platform level.
Change-Id: Ia40d7761e070fdb40b99719b4bd2b536d49925ba
2016-07-14 16:03:35 -07:00
Chris Craik
2d201fc34b Add atrace and multinetwork symbols to android-23.
Bug: http://b/29936226
Change-Id: I1ee1ee05888beead305b3b330d8f94f8037bd5d4
2016-07-06 11:33:49 -07:00
Dan Albert
36aa91084a Copy libandroid.so symbols from L to M.
We need to update these for the multinetwork and atrace APIs. Copy
the baseline android-21 into place first to make the review simpler.

Bug: http://b/29936226
Change-Id: Ieb6d9f68b0474f0ec86a79b43bbd9f682d3b6aea
2016-07-06 11:15:59 -07:00
Dan Albert
9274b9c85f Revert "Add atrace and multinetwork symbols to NDK"
I did a bad job of reviewing this. This is libandroid.so, not a new
library. We need to keep all the old symbols here too. I'll copy in
android-21 first, then add these back.

This reverts commit 00b322bb05.

Bug: http://b/29936226
Change-Id: Ia3d7762599c29cc97add0c3f8a93b9562bed53f6
2016-07-06 11:15:55 -07:00
Chris Craik
00b322bb05 Add atrace and multinetwork symbols to NDK
bug:29936226

Change-Id: I19b5b42fcf626e972d0c4c13dda90003f4e651f0
2016-07-01 17:20:14 -07:00