Commit graph

9 commits

Author SHA1 Message Date
Nikita Iashchenko
45f2d03ae5 Eliminate ICU's .dat lookup from bionic
Before this CL bionic did the following:

 * Finds the ICU .dat file with scandir()
 * Extracts the ICU version number from the file name. e.g. _63
 * dlopen() libicuuc
 * dlsym() necessary symbols, e.g. <symbol name>_<icu version>

Right now such ICU symbols are stored in libandroidicu.so and suffixed
with "_android", so it is responsible for "redirecting" to functions
with approriate version and we do not need to lookup the version on our
own. libicuuc is still available for NDK (and apps), and libandroidicu is
a subset of libicuuc and libicui18n.

After this CL bionic will do the following:

 * dlopen() libandroiicu
 * dlsym() <symbol_name>_android (without specific version suffix)

Bug: 122822987
Test: cts-tradefed run cts-dev -m CtsBionicTestCases
Change-Id: Iabd9f35b9c3462739fd2b18e60dcdc3e202031ac
2019-02-06 20:49:03 +00:00
Neil Fuller
62d8d9fc8f Track movement of ICU .dat file
Track movement of ICU .dat file into the runtime module

This reverts commit b9e7b699a2.
This is a reapply of commit 68c6bd8b43

Bug: 120853401
Bug: 119293618
Test: build / boot
Change-Id: I69e0dde2756da64ac0b17f1726145dccacf5961f
2019-01-09 15:27:02 +00:00
Alex Light
ecb95b8a15 Check return value of scandir in icu.cpp
We could cause illegal memory access due to not checking the scanddir
return value.

Test: run linux-bionic dex2oat to build boot.oat
Bug: 119332362
Change-Id: Ic5824e0373b9b99d8f892b4fcf22e742c6f792da
2019-01-02 15:30:50 -08:00
Neil Fuller
b9e7b699a2 Revert "Track movement of ICU .dat file"
This reverts commit 68c6bd8b43.

Reason for revert: Broke ART test environments and emulator devices.

Bug: 119293618
Change-Id: I1b0531d13c6565ce83801d93c78813af592eec1a
2018-12-11 20:11:58 +00:00
Neil Fuller
68c6bd8b43 Track movement of ICU .dat file
Track movement of ICU .dat file into the runtime module.

Bug: 119293618
Test: build / boot
Change-Id: I595c0c94ea7f693810fbe323d7966d9fdf4a07e6
2018-12-09 15:01:43 +00:00
Elliott Hughes
5cec377f49 Address a bunch of clang-tidy complaints.
There were a bunch more unreasonable/incorrect ones, but these ones
seemed legit. Nothing very interesting, though.

Bug: N/A
Test: ran tests, benchmarks
Change-Id: If66971194d4a7b4bf6d0251bedb88e8cdc88a76f
2018-01-19 15:56:12 -08:00
Dan Albert
1c78cb0fee Add missing includes.
Test: mma
Bug: None
Change-Id: I0221b213e08d07cc5ac0b704a86e98ae8c0f456f
2017-10-11 11:25:52 -07:00
Christopher Ferris
7a3681e5b6 Move libc_log code into libasync_safe.
This library is used by a number of different libraries in the system.
Make it easy for platform libraries to use this library and create
an actual exported include file.

Change the names of the functions to reflect the new name of the library.

Run clang_format on the async_safe_log.cpp file since the formatting is
all over the place.

Bug: 31919199

Test: Compiled for angler/bullhead, and booted.
Test: Ran bionic unit tests.
Test: Ran the malloc debug tests.
Change-Id: I8071bf690c17b0ea3bc8dc5749cdd5b6ad58478a
2017-05-03 08:50:43 -07:00
Elliott Hughes
a57ca0da69 Use icu4c to implement <wctype.h>.
Pretty useless, because the POSIX APIs are useless for actually
internationalization, but it lets us put this to bed for good.

Bug: http://b/18492914
Test: bionic tests
Change-Id: I4dd0aff66c44b5547039be3ffea806c865b9014a
2016-11-29 19:19:30 +00:00