OSDN Git Service
Treehugger Robot [Thu, 3 Aug 2017 02:23:53 +0000 (02:23 +0000)]
Merge "linker: the global group is added to all built-in namespaces"
Elliott Hughes [Wed, 2 Aug 2017 19:28:38 +0000 (19:28 +0000)]
Merge "Add some <sched.h> tests."
Jiyong Park [Fri, 19 May 2017 16:01:24 +0000 (01:01 +0900)]
linker: the global group is added to all built-in namespaces
With ld.config.txt, we now have multiple built-in namespaces other than
the default namespace. Libs (and their dependents) listed in LD_PRELOAD
must be visible to those additional namespaces as well.
This also adds a debugging only feature: path to the linker config file
can be customized via LD_CONFIG_FILE environment variable. This works
only for debuggable builds.
Bug:
38114603
Bug:
62815515
Test: 1. ./external/compiler-rt/lib/asan/scripts/asan_device_setup --lib
prebuilts/clang/host/linux-x86/clang-stable/lib64/clang/5.0/lib/linux
2. enable talkback shortcut
3. in the home screen, hold vol-up/down together
4. device does not reboots and talkback shortcut is toggled
Test: bionic-unit-tests and linker-unit-tests successful
Change-Id: I9a03591053f4a9caea82f0dcb23e7a3d324bb9bd
Elliott Hughes [Wed, 2 Aug 2017 06:02:48 +0000 (23:02 -0700)]
Add some <sched.h> tests.
I was intending to change our behavior to match POSIX, but reality convinced
me otherwise.
Also add missing argument names to the header file on the assumption they'll
be shown in Studio one day.
Bug: http://b/
26203902
Test: ran tests
Change-Id: I2aaea48a88d408a32925033fc8f17448fb63252e
Elliott Hughes [Wed, 2 Aug 2017 15:00:38 +0000 (15:00 +0000)]
Merge "Finish <stdio_ext.h>."
Treehugger Robot [Wed, 2 Aug 2017 08:06:20 +0000 (08:06 +0000)]
Merge "libc fortify: make fcntl.h use diagnose_if"
Treehugger Robot [Wed, 2 Aug 2017 07:37:46 +0000 (07:37 +0000)]
Merge "libc fortify: make socket.h and stdlib.h use diagnose_if"
Treehugger Robot [Wed, 2 Aug 2017 07:27:23 +0000 (07:27 +0000)]
Merge "libc fortify: make stdio.h use diagnose_if"
Treehugger Robot [Wed, 2 Aug 2017 06:44:41 +0000 (06:44 +0000)]
Merge "libc fortify: make poll.h and stat.h use diagnose_if"
George Burgess IV [Tue, 1 Aug 2017 04:21:10 +0000 (21:21 -0700)]
libc fortify: make socket.h and stdlib.h use diagnose_if
Since realpath no longer needs to be overloaded, we can restore the
upstream source to purity. We'll be able to do this with most of the
other functions when we pull a newer clang in.
Bug:
12231437
Test: m checkbuild on bionic internal master; CtsBionicTestCases show
no new failures.
Change-Id: I484221bba0b291273fece23d2be2f5f9fd713d2c
George Burgess IV [Tue, 1 Aug 2017 04:23:34 +0000 (21:23 -0700)]
libc fortify: make stdio.h use diagnose_if
This also throws in some reformatting to match the GCC FORTIFY style in
this file (e.g. 4 space standard indent).
Per b/
36984245, some function protos are unwrapped beyond 100 chars, as
well.
Bug:
12231437
Test: m checkbuild on bionic internal master; CtsBionicTestCases show
no new failures.
Change-Id: I6dce60ec14d5cd703d9e724699634a197ca11023
George Burgess IV [Tue, 1 Aug 2017 04:16:05 +0000 (21:16 -0700)]
libc fortify: make poll.h and stat.h use diagnose_if
Bug:
12231437
Test: m checkbuild on bionic internal master; CtsBionicTestCases show
no new failures.
Change-Id: I7dbdeca12c46d1ee3804f13546b11c3f3b3a7596
George Burgess IV [Tue, 1 Aug 2017 04:39:33 +0000 (21:39 -0700)]
libc fortify: make fcntl.h use diagnose_if
Bug:
12231437
Test: m checkbuild on bionic internal master; CtsBionicTestCases show
no new failures.
Change-Id: I4a31d9e65ed5820a581261a7e8f63a83e44936c3
Treehugger Robot [Tue, 1 Aug 2017 23:11:12 +0000 (23:11 +0000)]
Merge "Mark new/delete as weak in the NDK stubs."
Treehugger Robot [Tue, 1 Aug 2017 23:06:09 +0000 (23:06 +0000)]
Merge "libc fortify: make unistd.h use diagnose_if"
Elliott Hughes [Tue, 1 Aug 2017 22:46:40 +0000 (22:46 +0000)]
Merge "Remove nullability specifications."
Elliott Hughes [Tue, 1 Aug 2017 22:16:36 +0000 (15:16 -0700)]
Finish <stdio_ext.h>.
Implement __freading and __fwriting, and clarify the documentation that was
the cause of these not being implemented for years.
Bug: http://b/
17157253
Test: ran tests
Change-Id: I89542c8131b13889e2585417a024050ecf2abcb7
George Burgess IV [Tue, 1 Aug 2017 04:30:47 +0000 (21:30 -0700)]
libc fortify: make unistd.h use diagnose_if
Also:
- remove a NULL check. The bug that's been working around has been
fixed since clang r298431, and our compiler is built from r300080, and
- unwrap some function prototypes, per b/
36984245.
If you're interested, here's what a new error versus an old one looks
like: https://drive.google.com/file/d/0B-8OBPboNJ_4MVdlYXdJbUFBYUk/view
Bug:
12231437
Test: m checkbuild on bullhead internal master; CtsBionicTestCases show
no new failures.
Change-Id: Ibafe61198988b4c8bee8391bcdf01bcbc04233de
Treehugger Robot [Tue, 1 Aug 2017 20:48:56 +0000 (20:48 +0000)]
Merge "Clean up linker fatals slightly."
Elliott Hughes [Tue, 1 Aug 2017 20:24:40 +0000 (13:24 -0700)]
Remove nullability specifications.
Bug: http://b/
64251432
Test: builds
Change-Id: I5b1613484783f7478d30b5e694007f77fa626659
Treehugger Robot [Tue, 1 Aug 2017 19:51:32 +0000 (19:51 +0000)]
Merge "Consistently say va_arg rather than __va_arg."
Elliott Hughes [Tue, 1 Aug 2017 18:09:02 +0000 (18:09 +0000)]
Merge "Clean up some <stdio.h> constants."
Elliott Hughes [Tue, 1 Aug 2017 17:48:08 +0000 (10:48 -0700)]
Consistently say va_arg rather than __va_arg.
Bug: http://b/
64250392
Test: builds
Change-Id: I435242f620245d825b8a68365c71c99a60aba625
Elliott Hughes [Tue, 1 Aug 2017 17:44:19 +0000 (17:44 +0000)]
Merge "Remove restrict/__restrict."
Elliott Hughes [Mon, 31 Jul 2017 18:43:34 +0000 (11:43 -0700)]
Clean up linker fatals slightly.
Use __linker_cannot_link more consistently, and fix a comment.
Bug: http://b/
22798163
Test: ran tests
Change-Id: Id6d868f459997eaa67b8cbbf85b0b0f2749bf43d
Elliott Hughes [Tue, 1 Aug 2017 15:28:46 +0000 (08:28 -0700)]
Remove restrict/__restrict.
We've never really used __restrict: only <string.h> and <stdio.h> (which
are still very similar to upstream BSD headers) consistently have these
annotations. Neither clang nor GCC warns for trivial cases, and there's
little obvious documentation benefit.
Bug: http://b/
30833514
Test: builds
Change-Id: I3e4384281865475d0c55d764b546d8166419ee31
Treehugger Robot [Tue, 1 Aug 2017 02:32:33 +0000 (02:32 +0000)]
Merge "libc: Add diagnose_if macros to cdefs."
Treehugger Robot [Tue, 1 Aug 2017 02:03:52 +0000 (02:03 +0000)]
Merge "libc: Split FORTIFY into its own headers"
Elliott Hughes [Tue, 1 Aug 2017 00:20:18 +0000 (17:20 -0700)]
Clean up some <stdio.h> constants.
And actually test an assertion rather than just state it in a comment.
Bug: N/A
Test: ran tests
Change-Id: I07699483aca4aac4e089d8b99123cb5bde9b3c63
George Burgess IV [Mon, 31 Jul 2017 23:57:15 +0000 (16:57 -0700)]
libc: Add diagnose_if macros to cdefs.
I plan on having one review per file for the enable_if->diagnose_if
FORTIFY migration. Having this in means that no one review is dependent
on another.
Bug:
12231437
Test: m.
Change-Id: Ic0b07d7f7f6782e371c8792eb1e40cdfa32d3e35
Treehugger Robot [Mon, 31 Jul 2017 15:57:00 +0000 (15:57 +0000)]
Merge "Allow calling v?dprintf for any target API level."
Christopher Ferris [Sat, 29 Jul 2017 21:04:00 +0000 (21:04 +0000)]
Merge "Move back to the previous version of ion.h."
Christopher Ferris [Sat, 29 Jul 2017 20:42:28 +0000 (13:42 -0700)]
Move back to the previous version of ion.h.
The new kernel headers changed this and lots of parts of the tree
want the old definition, so restore the previous version.
Test: Builds.
Change-Id: I725e56bb7c51c9fcd23ebc4b67eac33d66e196e7
Christopher Ferris [Sat, 29 Jul 2017 19:03:09 +0000 (19:03 +0000)]
Merge "Remove workaround in <sys/epoll.h>."
Christopher Ferris [Sat, 29 Jul 2017 19:03:09 +0000 (19:03 +0000)]
Merge "Update to kernel headers v4.12.3."
Treehugger Robot [Sat, 29 Jul 2017 16:36:33 +0000 (16:36 +0000)]
Merge "versioner: compile with `clang -include foo.h -`."
Elliott Hughes [Sat, 29 Jul 2017 14:56:02 +0000 (14:56 +0000)]
Merge "POSIX getlogin_r/LOGIN_NAME_MAX/TTY_NAME_MAX."
Treehugger Robot [Sat, 29 Jul 2017 07:01:32 +0000 (07:01 +0000)]
Merge "Fix the sysconf _SC_2_VERSION test."
Elliott Hughes [Fri, 28 Jul 2017 23:53:32 +0000 (16:53 -0700)]
Fix the sysconf _SC_2_VERSION test.
Not sure how this ended up broken. Too many branches!
Bug: N/A
Test: ran tests
Change-Id: Ieef1e8170c9aaf139d9e0664475ccb08b8fcdeba
Elliott Hughes [Fri, 28 Jul 2017 23:27:49 +0000 (16:27 -0700)]
POSIX getlogin_r/LOGIN_NAME_MAX/TTY_NAME_MAX.
Bug: N/A
Test: ran tests
Change-Id: I97c8ecc82fb09c3fa4bb5e6f000d46f04f3d1702
Elliott Hughes [Fri, 28 Jul 2017 21:42:13 +0000 (21:42 +0000)]
Merge "Implement wcwidth(3) in terms of icu4c."
Treehugger Robot [Fri, 28 Jul 2017 20:14:57 +0000 (20:14 +0000)]
Merge "Actually turn on -Werror for crtbegin."
Josh Gao [Fri, 28 Jul 2017 19:53:36 +0000 (12:53 -0700)]
versioner: compile with `clang -include foo.h -`.
At least one warning only triggers in files that are included, instead
of being passed directly. Switch to compiling with -include, and fix
the resulting warnings.
Bug: https://github.com/android-ndk/ndk/issues/474
Test: mma -j && versioner
Test: python tools/versioner/run_tests.py
Change-Id: I784698c18540c9cc30f372f279a1cec1d75721ea
Dan Albert [Fri, 28 Jul 2017 18:00:51 +0000 (11:00 -0700)]
Mark new/delete as weak in the NDK stubs.
Test: make ndk
Bug: None
Change-Id: I76eef4f0265e87ddbad84ac8c5d56225aa240239
Elliott Hughes [Fri, 28 Jul 2017 00:08:08 +0000 (17:08 -0700)]
Implement wcwidth(3) in terms of icu4c.
Based on com.google.i18n.CharWidth by the icu-team folks.
Bug: N/A
Test: ran tests
Change-Id: Ia9d818ec4ae60f2f3978533195330d00699397c5
George Burgess IV [Mon, 24 Jul 2017 22:05:05 +0000 (15:05 -0700)]
libc: Split FORTIFY into its own headers
This patch cleans up our standard headers by moving most of the FORTIFY
cruft out in to its own sandbox. In order to include the *_chk and
*_real declarations, you can either enable FORTIFY, or `#define
__BIONIC_DECLARE_FORTIFY_HELPERS`.
Both sys/select.h and strings.h are explicitly ignored by this patch.
Both of these files have very small __BIONIC_FORTIFY blocks, and don't
define any actual FORTIFY'ed functions (just macros, and 3 *_chk
functions).
This patch also makes the versioner ignore the FORTIFY implementation
headers, since we're guaranteed to pick the FORTIFY'ed headers up when
looking at the regular headers. (...Not to mention that making the
FORTIFY'ed headers freestanding would be annoying to do and maintain for
~no benefit).
We bake the knowledge of where FORTIFY headers live directly into the
versioner. We could go with a more general approach (e.g. adding an -X
IGNORED_FILE flag that tells the versioner to ignore
$HEADER_PATH/$IGNORED_FILE), but we'd then have to repeat that for every
test, every manual invocation of the versioner, etc. for no benefit
that's obvious to me.
Bug:
12231437
Test: m checkbuild on bullhead internal master + CtsBionicTestCases. no
new errors.
Change-Id: Iffc0cc609009b33d989cdaddde0a809282131a5b
Elliott Hughes [Thu, 27 Jul 2017 23:39:02 +0000 (16:39 -0700)]
Actually turn on -Werror for crtbegin.
And then -Wno-gcc-compat in the right place this time. (But leaving the
other one because I don't care in the non-crtbegin code either.)
Bug: N/A
Test: builds without warnings now
Change-Id: Id2cfa3392ee80c045644ebfdf92c6d341db90964
Dan Albert [Wed, 26 Jul 2017 21:09:45 +0000 (14:09 -0700)]
Allow calling v?dprintf for any target API level.
Old versions of Android called these fdprintf and vfdprintf out of
fears that the glibc names would collide with user debug printfs.
Allow users to just use dprintf and vfdprintf on any version by
renaming those calls to their legacy equivalents if needed.
Test: built trivial NDK module targeting android-14 and using dprintf
Test: make checkbuild
Bug: https://github.com/android-ndk/ndk/issues/72
Change-Id: I90de149278f931380418536abaef47c5cee5c195
Christopher Ferris [Wed, 26 Jul 2017 20:12:53 +0000 (13:12 -0700)]
Update to kernel headers v4.12.3.
Test: Built angler.
Change-Id: Icbcf4fac2334de8409b049ed7a3b4c24b4e98ce9
Elliott Hughes [Thu, 27 Jul 2017 22:14:52 +0000 (15:14 -0700)]
Remove workaround in <sys/epoll.h>.
Linux 4.12 has a better fix: https://lkml.org/lkml/2017/2/23/416 and
https://lkml.org/lkml/2017/2/23/417.
Bug: N/A
Test: builds
Change-Id: I9cbf0c60817332142c48297899062f1a25f2b082
Elliott Hughes [Thu, 27 Jul 2017 15:33:30 +0000 (15:33 +0000)]
Merge "Use O_APPEND for stdio append mode."
Treehugger Robot [Thu, 27 Jul 2017 02:40:40 +0000 (02:40 +0000)]
Merge "Fix error condition on strtof inline."
Dan Albert [Wed, 26 Jul 2017 21:59:24 +0000 (14:59 -0700)]
Fix error condition on strtof inline.
Test: make checkbuild
Test: pull into ndk, ./run_tests.py
Bug: https://github.com/android-ndk/ndk/issues/415
Change-Id: I1575f799c9e849d66456c785208a36709a7b8122
Treehugger Robot [Wed, 26 Jul 2017 23:47:38 +0000 (23:47 +0000)]
Merge "Add __ANDROID_NDK__ to identify using the NDK."
Dan Albert [Wed, 26 Jul 2017 21:27:43 +0000 (14:27 -0700)]
Add __ANDROID_NDK__ to identify using the NDK.
I've added some things like __ANDROID_MAJOR__ to an ndk-version.h, but
that is only in the NDK itself and so doesn't help the platform. Add
__ANDROID_NDK__ to identify that you're building for the NDK and not
the platform.
Test: make checkbuild
Bug: https://github.com/android-ndk/ndk/issues/407
Change-Id: I2d1f1c28e3764e4e658cf675b290b7a17253ee33
Treehugger Robot [Wed, 26 Jul 2017 02:44:21 +0000 (02:44 +0000)]
Merge "libc: Move FORTIFY into one file; make style fixups"
Elliott Hughes [Wed, 26 Jul 2017 01:06:46 +0000 (18:06 -0700)]
Use O_APPEND for stdio append mode.
"Although not explicitly required by this volume of POSIX.1-2008, a good
implementation of append (a) mode would cause the O_APPEND flag to be set."
Yeah, about that...
Bug: N/A
Test: ran tests
Change-Id: I23c4bc5c1ebc92e0cb44025d2d313f321f9ffa68
George Burgess IV [Tue, 25 Jul 2017 18:43:39 +0000 (11:43 -0700)]
libc: Move FORTIFY into one file; make style fixups
This addresses post-commit feedback from
I88c39ca166bacde0b692aa3063e743bb046a5d2f. With this, our FORTIFY impl
now sits in one file.
Bug:
12231437
Test: mma; no new CtsBionicTestCases failures on bullhead internal
master.
Change-Id: I6f9ff81c3e86cf9d6a0efa650eb5765f1e2fa09c
Treehugger Robot [Tue, 25 Jul 2017 21:03:26 +0000 (21:03 +0000)]
Merge "Build crtbegin with clang too."
Treehugger Robot [Tue, 25 Jul 2017 20:18:51 +0000 (20:18 +0000)]
Merge "Create global seccomp policy."
Elliott Hughes [Mon, 24 Jul 2017 23:53:11 +0000 (16:53 -0700)]
Build crtbegin with clang too.
If _start_main is static, clang optimizes it out and then generates an
undefined reference from the inline assembler, so let's explicitly tell
the compiler it's used.
Bug: N/A
Test: ran tests
Change-Id: Iba3d9c63abae9a0dc32f236b01783515f0190956
Treehugger Robot [Tue, 25 Jul 2017 18:05:42 +0000 (18:05 +0000)]
Merge "Split our FORTIFY implementation into libc_fortify"
Elliott Hughes [Tue, 25 Jul 2017 14:51:32 +0000 (14:51 +0000)]
Merge "tests: clean up bionic-unit-tests-static linking"
Elliott Hughes [Mon, 24 Jul 2017 23:22:17 +0000 (16:22 -0700)]
tests: clean up bionic-unit-tests-static linking
Adding libc++_static explicitly is not needed when it is specified
via stl:, and was the real reason we needed --allow-multiple-definition.
Bug: N/A
Test: ran static tests (32- and 64-bit)
Change-Id: I254a4b8c4f7955a17c970d31b427b05c1a2e0acf
Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
George Burgess IV [Fri, 21 Jul 2017 20:28:42 +0000 (13:28 -0700)]
Split our FORTIFY implementation into libc_fortify
As requested in the bug. This also rips __memcpy_chk out of memcpy.S,
which lets us cut down on copypasta (all of the implementations look
identical).
Bug:
12231437
Test: mma on aosp_{arm,arm64,mips,x86,x86_64} internal master;
checkbuild on bullhead internal master; CtsBionicTestCases on bullhead.
No new failures.
Change-Id: I88c39ca166bacde0b692aa3063e743bb046a5d2f
Treehugger Robot [Mon, 24 Jul 2017 21:05:37 +0000 (21:05 +0000)]
Merge "Remove the HASLB and FREEUB macros."
Elliott Hughes [Mon, 24 Jul 2017 20:51:18 +0000 (20:51 +0000)]
Merge "Make xfail passes not failures."
Elliott Hughes [Mon, 24 Jul 2017 20:36:16 +0000 (20:36 +0000)]
Merge "Replace fmemopen."
Elliott Hughes [Mon, 24 Jul 2017 20:18:34 +0000 (20:18 +0000)]
Merge "Apply recent strto* fix, add new tests."
Elliott Hughes [Mon, 24 Jul 2017 20:16:40 +0000 (20:16 +0000)]
Merge "Replace killpg."
Treehugger Robot [Mon, 24 Jul 2017 19:23:36 +0000 (19:23 +0000)]
Merge "Switch to FreeBSD for wcsstr and wmemcpy."
Elliott Hughes [Fri, 21 Jul 2017 20:57:55 +0000 (13:57 -0700)]
Remove the HASLB and FREEUB macros.
Because we hate macros.
Bug: N/A
Test: ran tests
Change-Id: I2c94085ff502ec5ce6d8598ec6b3c10e7a4b5510
Elliott Hughes [Thu, 20 Jul 2017 00:20:24 +0000 (17:20 -0700)]
Replace fmemopen.
A new implementation starting from the FreeBSD fmemopen rather than the
OpenBSD one we used to use.
The tests were arrived at by translating each sentence in
http://pubs.opengroup.org/onlinepubs/
9699919799/functions/fmemopen.html,
plus http://man7.org/linux/man-pages/man3/fmemopen.3.html for historical
GNU bugs.
Bug: http://b/
31304889
Test: ran tests
Change-Id: Id8b168c9ecde638e9cdedbc3b8a0982fc83c7048
Steve Muckle [Thu, 20 Jul 2017 20:11:54 +0000 (13:11 -0700)]
Create global seccomp policy.
Enabling seccomp across all processes, rather than just zygote, is
useful for auditing the syscall usage of AOSP. Create a global seccomp
policy that can optionally be enabled by init.
Bug:
37960259
Test: confirm global seccomp by removing finit_module from policy and
observing modprobe fail, confirm regular seccomp unchanged by
comparing length of installed bpf
Change-Id: Iac53a42fa26a80b05126f262dd9525f4f66df558
Elliott Hughes [Sat, 22 Jul 2017 01:51:06 +0000 (18:51 -0700)]
Make xfail passes not failures.
Bug: http://b/
63703384
Test: ran tests
Change-Id: I02dfc92cfc0e07831b8f3a974803be384bc02f1e
Elliott Hughes [Sat, 22 Jul 2017 01:22:09 +0000 (01:22 +0000)]
Merge "Explain how to handle device-specific headers."
Treehugger Robot [Fri, 21 Jul 2017 21:35:37 +0000 (21:35 +0000)]
Merge "Remove outdated _FORTIFY_SOURCE #undefs"
George Burgess IV [Thu, 20 Jul 2017 22:13:09 +0000 (15:13 -0700)]
Remove outdated _FORTIFY_SOURCE #undefs
AFAICT, all of these were added prior to the new-style FORTIFY going
in. Because clang saw two definitions of the "same" function, it got
upset. (e.g.
35d937e4eb7b8e0a4e9a113d2f7434d55c0bc056)
Now that our FORTIFY functions are overloads of their library functions,
these undefs can be removed.
(This is a step toward making FORTIFY a library with -U_FORTIFY_SOURCE
on it, as requested in the bug.)
Bug:
12231437
Test: CtsBionicUnitTests. No new failures.
Change-Id: I844ff77106ee2bea72ae1cd0bb85d146939ecd05
Treehugger Robot [Thu, 20 Jul 2017 19:21:38 +0000 (19:21 +0000)]
Merge "Use __RENAME_IF_FILE_OFFSET64 where possible."
Elliott Hughes [Thu, 20 Jul 2017 17:36:27 +0000 (10:36 -0700)]
Explain how to handle device-specific headers.
Bug: N/A
Test: N/A
Change-Id: I12c41fcb4839ad86f5a1f62153a3348c3e40f90f
Elliott Hughes [Thu, 20 Jul 2017 17:00:28 +0000 (10:00 -0700)]
Use __RENAME_IF_FILE_OFFSET64 where possible.
It's not usable for cases where the off_t and off64_t functions became
available in different API levels, so it's not as big an improvement as
we'd hoped, but it cleans up several headers and should be usable for
any future additions (though recent Linux additions have _only_ supported
off64_t anyway).
Bug: N/A
Test: builds
Change-Id: I18b00f30666079d9d12d5b9c0ed916076d6c3641
Treehugger Robot [Wed, 19 Jul 2017 05:37:13 +0000 (05:37 +0000)]
Merge "Add __RENAME_IF_FILE_OFFSET64."
Elliott Hughes [Tue, 18 Jul 2017 18:04:25 +0000 (18:04 +0000)]
Merge "Document the intricacies of `_FILE_OFFSET_BITS=32` for LP32."
Elliott Hughes [Wed, 12 Jul 2017 22:02:20 +0000 (15:02 -0700)]
Document the intricacies of `_FILE_OFFSET_BITS=32` for LP32.
Bug: https://github.com/android-ndk/ndk/issues/453
Test: N/A
Change-Id: I5c00e63c861b19071229d2eae737dfbeb550e7e8
Elliott Hughes [Mon, 17 Jul 2017 21:45:46 +0000 (21:45 +0000)]
Merge "Make _scan_nan a bit less visible for libandroid_support users."
Dan Albert [Mon, 17 Jul 2017 21:05:44 +0000 (14:05 -0700)]
Add __RENAME_IF_FILE_OFFSET64.
Convenience macro for __RENAME if __USE_FILE_OFFSET64 mode. Lets us
avoid duplicating all the doxygen comments in frameworks headers.
Test: make checkbuild
Bug: https://github.com/android-ndk/ndk/issues/459
Change-Id: Ica44f22b2f1596e484694006c0926d94d16187b5
Elliott Hughes [Mon, 17 Jul 2017 18:23:02 +0000 (11:23 -0700)]
Make _scan_nan a bit less visible for libandroid_support users.
Bug: N/A
Test: readelf
Change-Id: Ibb5fbf09f6ae589a3e789107a641013fc6bc375b
Treehugger Robot [Sat, 15 Jul 2017 03:12:36 +0000 (03:12 +0000)]
Merge "Hide various mbstate implementation details."
Treehugger Robot [Sat, 15 Jul 2017 01:07:39 +0000 (01:07 +0000)]
Merge "Allow passing filenames to generate-NOTICE.py."
Elliott Hughes [Sat, 15 Jul 2017 00:00:05 +0000 (17:00 -0700)]
Hide various mbstate implementation details.
...by inlining them.
Also fix a couple of harmless bugs in passing. I've added tests, but in
both cases I don't think it was actually possible to hit the bad behavior:
we'd hit another test and fail immediately after in an externally
indistinguishable way.
Bug: N/A
Test: readelf
Change-Id: I8466050b0bfe2b7b94c76b383cf10c1d9d28debd
Elliott Hughes [Fri, 14 Jul 2017 17:00:32 +0000 (10:00 -0700)]
Allow passing filenames to generate-NOTICE.py.
For the libandroid_support NOTICE file, we need to combine all the files
in that directory, plus the specific files pulled from bionic.
Also cleaned up some of the Python style.
Bug: N/A
Test: used for libandroid_support
Change-Id: If433e3a0f0478f06d99a9b3556e99dde06a7e5e1
Treehugger Robot [Fri, 14 Jul 2017 22:09:50 +0000 (22:09 +0000)]
Merge "__cfi_slowpath[_diag] are available to NDK and VNDK clients"
Treehugger Robot [Fri, 14 Jul 2017 18:51:03 +0000 (18:51 +0000)]
Merge "libm symbol cleanup."
Elliott Hughes [Fri, 14 Jul 2017 00:30:06 +0000 (17:30 -0700)]
libm symbol cleanup.
Some of this code is used in the NDK libandroid_support now, as a static
library, so just being HIDDEN in the ELF sense isn't sufficient.
Rename digittoint to __libm_digittoint so we don't trample anyone's toes.
Also remove imprecise_powl and imprecise_tgammal. It turns out (to my
surprise) that we don't even have ld128 implementations of powl and tgammal,
so even LP64 was just using the "fake_long_double.c" hack in effect. Since
that's the case, let's *actually* do that because then we're not polluting
with the internal names in addition to the aliases.
Bug: N/A
Test: readelf
Change-Id: I273cc8fdc7ce53f9b8dfd4ef7796e358fe901837
Treehugger Robot [Thu, 13 Jul 2017 19:25:38 +0000 (19:25 +0000)]
Merge "Fix unistd._POSIX_macros_smoke test."
Treehugger Robot [Thu, 13 Jul 2017 19:21:11 +0000 (19:21 +0000)]
Merge "Move wchar _l functions out of wchar.cpp."
Dan Albert [Thu, 13 Jul 2017 17:29:20 +0000 (10:29 -0700)]
Move wchar _l functions out of wchar.cpp.
We don't need these in libandroid_support, but we do need the other
parts of wchar.cpp, and they're not really related.
Test: make checkbuild
Bug: None
Change-Id: I40f3089b034abfd4873e81c0b6216a7cfd977d8d
Elliott Hughes [Thu, 13 Jul 2017 17:20:41 +0000 (10:20 -0700)]
Fix unistd._POSIX_macros_smoke test.
We now claim _POSIX2_VERSION, but the test wasn't updated.
Bug: N/A
Test: ran tests
Change-Id: Idb3369b3df4b964f585597f0d37962ae619322d2
Elliott Hughes [Thu, 13 Jul 2017 16:45:00 +0000 (09:45 -0700)]
Switch to FreeBSD for wcsstr and wmemcpy.
Almost all of our w* functions come from FreeBSD already. The one downside is
that we can't take all our w* functions from FreeBSD because FreeBSD handles
locales very differently from us.
Bug: N/A
Test: ran tests
Change-Id: I177b4332499992babd5d5afe5b3f469f8c4345a5
Elliott Hughes [Thu, 13 Jul 2017 16:35:15 +0000 (09:35 -0700)]
Apply recent strto* fix, add new tests.
The behavior with "0xy" was wrong: we'd swallow the 'x'.
Bug: N/A
Test: ran tests
Change-Id: I2464d22a2408e99880303876306f18a25c390ad9