| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Bug: http://b/31665213
Test: wine adb.exe
Test: wine fastboot.exe
Change-Id: I6d6ff69f0c016e2654119a09161685841cbccc7e
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Prototypes in the bionic headers are annotated with `__INTRODUCED_IN`
tags that are processed by bionic/tools/versioner into their usable
form (tags replaced with `#if __ANDROID_API__ >= foo` guards). We've
previously done this as a periodic manual step with the results
checked in to prebuilts/ndk, but that's been a huge hassle for me.
Make the tool a part of the build instead.
Test: make checkbuild
Bug: http://b/35673791
Change-Id: I2f5c1aeae239ac4ab6616eb5c71360e3055f86d5
|
|
|
|
|
|
|
|
|
| |
And support the reverse translation in androidmk.
Test: Use a cc_library_headers using LOCAL_HEADER_LIBRARIES in make
Test: androidmk with LOCAL_HEADER_LIBRARIES
Test: androidmk with soong's Android-*.mk file for BUILD_HEADER_LIBRARIES
Change-Id: I17adedb62151f62e67e2168b09ad87f1d5648df6
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Header libraries were building an empty .a file but setting
LOCAL_MODULE_CLASS := SHARED_LIBRARIES. Make the static and shared
checks in libraryDecorator.AndroidMk explicit.
Bug: 35228396
Test: builds, examine out/soong/Android-${TARGET_PRODUCT}.mk
Change-Id: I5653ae92bb41d440d8c3ff4b6d509be188feb961
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds the -fsanitize-blacklist option for CFI, using the built in
blacklist at external/compiler-rt/lib/cfi/cfi_blacklist.txt.
Also refactors the CFI cflags and ldflags into cc/makevars.go to
ensure they're consistent across Soong and make projects.
Bug: 30227045
Test: ENABLE_CFI=true m -j40 builds and boots.
Test: The blacklist prevents runtime errors that otherwise occur.
Change-Id: I91c5420478e7290061d89338a86abdef69c67fe2
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: 32749731
Test: m -j
Change-Id: Icb6ca0d846cba0ca842d3fb12dde1f1e8701cf5d
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
library.static() was being used to determine if a library was static,
shared, or header only, which resulted in header only libraries
behaving like shared libraries, when they should be treated as static
libraries with no sources. Explicitly use library.static(),
library.shared(), and library.header() instead.
Bug: 35228396
Test: builds, manually examine changes to build.ninja and Android.mk
Change-Id: I51729992cc6338deda1396b86f12bc9f73e674d8
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is configured the same as make -- a global NATIVE_COVERAGE=true
flag to allow native coverage, then COVERAGE_PATHS=path1,path2,... to
turn it on for certain paths.
There are .gcnodir files exported to Make and saved in $OUT/coverage/...
files which are `ar` archives containing all of the compiler-produced
.gcno files for a particular executable / shared library.
Unlike the Make implementation, this only passes links the helper
library (automatically through --coverage) when one of the object files
or static libraries being used actually has coverage enabled.
Host support is currently disabled, since we set -nodefaultlibs, which
prevents libclang_rt.profile-*.a from being picked up automatically.
Bug: 32749731
Test: NATIVE_COVERAGE=true COVERAGE_PATHS=system/core/libcutils m -j libbacktrace libutils tombstoned
$OUT/coverage/system/lib*/libcutils.gcnodir looks correct (self)
$OUT/coverage/system/lib*/libbacktrace.gcnodir looks correct (static)
$OUT/coverage/system/lib*/libutils.gcnodir doesn't exist (shared)
$OUT/coverage/system/bin/tombstoned.gcnodir looks correct (executable)
Test: NATIVE_COVERAGE=true COVERAGE_PATHS=external/libcxxabi m -j libc++
Confirm that $OUT/coverage/system/lib*/libc++.gcnodir looks correct (whole_static_libs)
Change-Id: I48aaa0ba8d76e50e9c2d1151421c0c6dc8ed79a9
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This CL disables CFI for 32-bit ARM processes, which is broken due to
a compiler error in the most recent version of clang.
Bug: 35157333
Test: ENABLE_CFI=true m -j40 does not enable CFI for 32-bit processes
Change-Id: I52ccf60d91ff1a2af4cf024376b7d70f87040674
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| |
| | |
Test: make -j64 from top of tree.
Change-Id: I9e853e64924f26719c0cd7ae8de4958fe97ca04e
|
| |
| |
| |
| |
| |
| |
| | |
Properly process CFlags featuring quotes and double quotes.
Test: on libui and libgui
Change-Id: I8581cef9ccc595b6e05d77bee7bea82f2efd219b
|
| |
| |
| |
| |
| |
| | |
Test: Manually generated CMakeLists.txt for gui/ui/aapt2.
Change-Id: I7dedc300c1e50b8e39bc58091b650c0bbe2c62da
|
|/
|
|
|
|
|
|
|
| |
The "required" field within "phony" module in .bp file has to be
non-empty. And "phony" module doesn't contain any "src" files.
Bug: b/32981153
Test: make -j out/soong/build.ninja
Change-Id: Iaa2009467c44702572b97ca9cbd02c1d368c8d83
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Allow tests to specify a data property that lists files or filegroup
modules that will be packaged alongside the test. Also add a path
property to filegroup modules to allow shifting the path of the
packaged files, and add ExpandSourcesSubDir to expand the filegroup
sources while including a shifted relative path in the Paths objects.
Test: soong tests, manually adding data to a module
Change-Id: I52a48942660e12755d313ef13279313361b4fc35
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Test: Checked showcommands ouput for each setting.
Bug: None
Change-Id: Ibe02352f19ca2777b9a419136270e5c4390f1149
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Mips toolchain does not have ld.gold.
ARM change is a workaround for LLVM r290384.
Bug: 33678192
Test: make ENABLE_CFI=1
Change-Id: I189ffd42760f0ea8d151717337b9355b37cb207b
|
|/
|
|
|
| |
Test: NFC
Change-Id: I63a1b1ee244c2ab015914e1879aefc3ba8f886b0
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Bug: http://b/31532493
Test: Manual validation.
Change-Id: I386c7fc06bd4ca092535365bccbed0a898eb69da
|
|/
|
|
|
|
|
|
|
|
|
|
| |
-pie triggers a bug in glibc's linker when used with goma
(https://sourceware.org/bugzilla/show_bug.cgi?id=16381). Allow
the clang build to disable -pie for host modules through the
DISABLE_HOST_PIE environment variable so it can produce a toolchain
that works with goma.
Bug: 15814177
Bug: 34722791
Change-Id: Ic664a1b821aaeaf2bde14b0afa1a1975e31300cb
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The linker uses libc++_static but needs to avoid the libc.a
dependency. It does this by setting `stl: "none"` and manually
linking libc++. This behavior matches make.
A better approach would probably be to generalize system_shared_libs
to system_libs and apply those to static executables the same way we
do for dynamic ones, but that's a patch for another day.
Test: make checkbuild
Bug: http://b/34740564
Change-Id: Ie9da0d49a453a220593e8ec2ee721e9af9378007
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
c++_shared and c++_static are named libc++ and libc++_static in every
other mode. Allow the same names so targets which are built for both
host and device with SDK may specify a single name for the STL.
Test: external/boringssl is able to use "libc++_static" as the STL.
Change-Id: Ibc579c7e24ddb8de12fbfc6e1b5d80648efa589e
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 1d7513decd988163f340bc3856ecc35852dae692.
Reason for revert: <INSERT REASONING HERE>
Change-Id: Ida39c91bfc70ba60b2a3113544ec43c566b6c494
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Bug: http://b/31532493
Test: Manual validation.
Change-Id: I9891e817342e45f16afa4acb57d2d136e16161a6
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
With SANITIZE_TARGET="address coverage", if a module disables ASan
(address: false), it is left with just coverage, which is not
supported. In that case, disable coverage as well.
Bug: 33091541
Test: see above
Change-Id: Idcd04dad8cab7c7e2644d2408b1b8a381490e5af
|
| |/
|/|
| |
| |
| |
| | |
Bug: 22033465
Test: bionic device tests
Change-Id: I672ccc970309631fa895b7134a32c0d403a2151e
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This CL ensures that locally enabling CFI in a .bp file is not honored
unless it is enabled globally using ENABLE_CFI=true first, effectively
hiding it behind a flag.
Bug: 30227045
Bug: 22033465
Test: m -j40 works and device boots
Test: cfi is correctly honored only when the global flag is set.
Change-Id: Iccc6e4bf5e7828ab8ce6056f3e40922712faa0d8
|
|/
|
|
|
|
|
|
| |
So that make can tell the difference.
Bug: 32177952
Test: Diff build-aosp_arm64.ninja before/after
Change-Id: Icd98ea5f5b4127bf84197c6b651a72708eec57f1
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since most system libraries aren't actually versioned yet, we
shouldn't be building the stub libraries with version info just yet.
Setting `unversioned_until: "current"` will not use the version
script for anything but android-current (this way when the version
script is applied, we'll immediately catch it if they don't match).
Test: Updated frameworks/wilhelp to use this, make ndk
Bug: https://github.com/android-ndk/ndk/issues/278
Change-Id: I0dab7fd21bb0f063c39368d37feaa3f822e908ce
|
|
|
|
|
|
|
|
|
|
|
|
| |
This defaults to the value of first_version, and should almost never
be used. This is only needed to work around platform bugs like
https://github.com/android-ndk/ndk/issues/265.
Test: Set `unversioned_until: "24"` for libGLESv3.ndk, readelf on the
android-23 and android-24 outputs to check for version info.
Bug: https://github.com/android-ndk/ndk/issues/265
Change-Id: Ie44b170daad692fdc98e7d7c5f10f9077930b8a9
|
|
|
|
|
|
| |
Test: nose2
Bug: https://github.com/android-ndk/ndk/issues/265
Change-Id: I4c22cb8069f41861613ecf01f7e1adbe1d3118a9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some external test suites (LTP in this case), have their own expected
layout, and don't fit well with our
/data/nativetest/<testname>/<testname> layout, nor do they work with
test_per_src.
So allow setting no_named_install_directory along with
relative_module_path to specify a custom test path:
no_named_install_directory: true,
relative_module_path: "ltp/testcases/bin",
Test: Convert LTP
Change-Id: Ib002c058674e8b960a4fdc3af1a25c8bcaeb1d63
|
|
|
|
|
|
|
|
|
|
| |
filegroup is a module that contains a list of files, and can be used
to export files across package boundaries. filegroups (and genrules)
can be referenced from srcs properties of other modules using the
syntax ":module".
Test: m -j
Change-Id: I3d6fc4819c0b4225b474e0ad42f0d947f55a5961
|
|
|
|
|
|
|
|
| |
It is empty now.
Bug: 33630870
Test: m -j native
Change-Id: I8f41b56594241aced0f874af2fa73207b51ff8d6
|
|
|
|
|
| |
Test: m -j native
Change-Id: Ia0e5b28495e049ba8037884d2c498a1b59012bbe
|
|\ |
|
| |
| |
| |
| |
| | |
Test: m -j libc; check out/soong/make_vars-*.mk
Change-Id: Ic29407d8b2ecc69f8d95102bca81bec3f0c5012b
|
|\ \
| |/
|/| |
|