Commit graph

18839 commits

Author SHA1 Message Date
Elliott Hughes
63da3dfb70 Remove _KERNEL references from <machine/elf_machdep.h>.
Test: mm.
Change-Id: I9dff708dd05d4f9e52ccdfde96e096553c873054
2016-09-16 18:46:53 -07:00
Elliott Hughes
a9209d7a0e Fix some easy cases of __ANDROID__ versus __BIONIC__.
We need to make a clearer distinction for bionic on the host. This patch
doesn't fully address things like "should host bionic try to talk to netd?"
for now, but is a step in the right direction.

Bug: http://b/31559095
Test: bionic tests.
Change-Id: I49812f8b75d9d78c4fd8a8ddf5df1201d63771d6
2016-09-16 18:27:07 -07:00
Treehugger Robot
9d4d60b480 Merge "Make static library for loader tests" 2016-09-16 16:14:48 +00:00
Treehugger Robot
847fd9b315 Merge changes Iada279ee,Ic6089895,Ie2241b19,Ib0610707
* changes:
  versioner: turn on -Wundef.
  Fix BYTE_ORDER check in <netinet/ip6.h>.
  Fix instances of '#if __i386__'.
  Fix instances of '#if __LP64__'.
2016-09-15 23:40:12 +00:00
Dimitry Ivanov
c462c28afe Make static library for loader tests
1. Extract bionic loader tests to static library in
order to link it to bionic cts tests.
2. Make libpagemap dependency static to reduce dependencies
on internal native libraries.

Bug: http://b/22182538
Test: run bionic-unit-tests --gtest_filter=dl*:Dl*
Change-Id: I5decd5893e6338c84b3ab23e1d65d70bd75ad880
2016-09-15 16:25:31 -07:00
Josh Gao
ac3e564142 versioner: turn on -Wundef.
Poking around with -Wundef exposed a pretty horrifying bug, so we
should probably keep it turned on.

Bug: http://b/31496165
Change-Id: Iada279eec91ded0d59ff3841d5a3ce1a36e34c3a
2016-09-15 14:21:28 -07:00
Josh Gao
81b4aadb48 Fix BYTE_ORDER check in <netinet/ip6.h>.
Neither BYTE_ORDER nor BIG_ENDIAN were being defined anywhere, so they
were defaulting to zero, leading to BIG_ENDIAN values being used.

Bug: http://b/31496165
Change-Id: Ic6089895f39b86e7762bdb5b7d5b01feb0d2fd17
2016-09-15 14:21:28 -07:00
Josh Gao
cb728e6f63 Fix instances of '#if __i386__'.
Triggers -Wundef, which is on in -Weverything.

Bug: http://b/31496165
Change-Id: Ie2241b19abd6257bebf68baa3ecc4de8066c722e
2016-09-15 14:21:28 -07:00
Josh Gao
b36efa4343 Fix instances of '#if __LP64__'.
Triggers -Wundef, which is on in -Weverything.

Bug: http://b/31496165
Change-Id: Ib06107073f7dd1d584c19c222d0430da9d35630b
2016-09-15 14:21:28 -07:00
Josh Gao
5622837301 Merge "Initialize main thread TLS before the global stack guard." 2016-09-15 19:28:56 +00:00
Kenny Root
b32184eb84 Merge "Fix memory leak in test util" 2016-09-15 19:12:46 +00:00
Treehugger Robot
57a4e8d1fe Merge "Add missing uapi header module." 2016-09-15 05:36:52 +00:00
Treehugger Robot
be454614c2 Merge "Make getpagesize inline static." 2016-09-15 03:34:30 +00:00
Kenny Root
f0cccdbe19 Fix memory leak in test util
This shows up when you're doing make HOST_SANITIZE=address

Test: mmma bionic && out/host/linux-x86/bin/bionic_tests_zipalign (compare before and after)
Change-Id: Ia94790496327f3818d5fdb7b5ad07e14e60bcae1
2016-09-14 17:24:37 -07:00
Dan Albert
bae16ef1bb Add missing uapi header module.
Test: make checkbuild tests
Bug: http://b/30465923
Change-Id: I4000a9f7aa7ede03dfe799cea7c890bd5dcda575
2016-09-14 17:16:33 -07:00
Dan Albert
a39f5d8b95 Make getpagesize inline static.
Needed to avoid multiple definition errors.

Test: make checkbuild tests
Bug: None
Change-Id: Ife83e89f5232e98d363e2b2edd7a353ed61c4836
2016-09-14 17:16:33 -07:00
Josh Gao
db79694bda Merge "versioner: turn on -Wall -Wextra -Werror." 2016-09-15 00:03:40 +00:00
Treehugger Robot
93892add44 Merge "Add modules for NDK headers and libraries." 2016-09-14 22:32:23 +00:00
Josh Gao
bb96628f48 versioner: turn on -Wall -Wextra -Werror.
Change-Id: Ica47d0fa671934a1ea193869265de8986b012a58
Test: mma && versioner
2016-09-14 14:22:27 -07:00
Treehugger Robot
76fcad2a6f Merge "Expose some more function decls." 2016-09-13 23:24:42 +00:00
Treehugger Robot
8c1e2b9e38 Merge "linker: Refactoring step 3 of many" 2016-09-13 22:35:00 +00:00
Dan Albert
4238a35007 Add modules for NDK headers and libraries.
Test: make checkbuild
Bug: http://b/27533932
Change-Id: I285e483ba9fb80cc3baf0d025c85344e5b79a08b
2016-09-13 14:16:14 -07:00
Dan Albert
31d7037f2a Expose some more function decls.
Test: make checkbuild tests # for x86-eng this time
Bug: http://b/30465923
Change-Id: I98c5a8d09463e85ac22b05035c87edab04eaa200
2016-09-13 14:16:14 -07:00
Dimitry Ivanov
3f66057544 linker: Refactoring step 3 of many
Extract linker executable specific code to linker_main.cpp;
this part of code does not have a place in libdl.a/so.

Bug: http://b/14998480
Bug: http://b/30706810
Test: mm && run bionic-unit-tests
Change-Id: I90f7475e93a919b0f9525da22928089ad35b8f6c
2016-09-13 13:38:58 -07:00
Treehugger Robot
0f81dd3548 Merge "Move test libraries under /data/nativetests" 2016-09-09 18:58:34 +00:00
Treehugger Robot
ce4d419f7a Merge "[mips64] Fix ipc syscalls" 2016-09-09 17:19:54 +00:00
Nikola Veljkovic
23f088cd74 [mips64] Fix ipc syscalls
Mips defines CONFIG_ARCH_WANT_IPC_PARSE_VERSION for both 32 and 64-bit.
See arch/mips/Kconfig. Other supported arches do it for 32-bit only.
This translates in having to pass IPC_64 flag for mips32 and mips64.
We use __mips__ to pass the flag, which is also defined for both 32 and
64-bit.

Change fixes bionic smoke tests (sys_msg, sys_sem, sys_shm) for mips64.

Test: bionic-unit-tests --gtest_filter="sys_*.smoke"
Change-Id: I918e4ffafd2002bb3e62ee252406746778100031
2016-09-09 12:24:04 +02:00
Treehugger Robot
572791e027 Merge changes Id513b72a,I92cd0116,I62393b58,I90ac2224,I527f88ac
* changes:
  Provide fake definitions for libstdc++.
  Provide static inlines for in6addr things.
  Provide an inline __cmsg_nxthdr.
  Correct more fortify availability guards.
  Move strncpy fortify into android-21.
2016-09-09 01:13:27 +00:00
Treehugger Robot
247f318951 Merge changes Ib81bd82d,I9a57fca0
* changes:
  Run genversion-scripts.py.
  Annotate libm.map.txt.
2016-09-08 23:55:45 +00:00
Dan Albert
cb0b14385b Provide fake definitions for libstdc++.
libstdc++ needs to be able to `using ::foo` these in the various C++
wrapper headers for the C library. The NDK long ago added fake
definitions. We need to keep the same.

Test: make checkbuild
Bug: http://b/30465923
Change-Id: Id513b72a59eafcc823080631e07b21290d5e3b24
2016-09-08 16:13:28 -07:00
Dan Albert
69b26542de Provide static inlines for in6addr things.
mdnsresponder needs these and is built against a very old API level
since it is used in gmscore. The legacy NDK headers defined these
inline.

Test: make checkbuild
Bug: http://b/30465923
Change-Id: I92cd0116b3bde47e748ba648eaba94a7a3e3523e
2016-09-08 16:13:28 -07:00
Dan Albert
11f0e10c49 Provide an inline __cmsg_nxthdr.
This was defined as an inline in the legacy NDK headers. Keep that
here until we can get it into libandroid_support.

Test: make checkbuild
Bug: http://b/30465923
Change-Id: I62393b58e4fba3bc7337cc5ecf4ae1590b0e9917
2016-09-08 16:13:28 -07:00
Dan Albert
2990404206 Correct more fortify availability guards.
Test: make checkbuild
Bug: http://b/30465923
Change-Id: I90ac222483ecd39f1e7cc358babfb64e305cffcb
2016-09-08 16:13:27 -07:00
Treehugger Robot
482c6a0a1e Merge "Don't use an anonymous label in arm's __bionic_clone." 2016-09-08 22:05:18 +00:00
Elliott Hughes
2fc14a97e0 Don't use an anonymous label in arm's __bionic_clone.
All the other architectures name this label. Copy them.

(Following discussion of d30bc9e74b8ff3afceac973d334023564e64dbd2.)

Bug: https://llvm.org/bugs/show_bug.cgi?id=30308
Change-Id: I4f20163f569041180d87c79ce6ed856b70704271
2016-09-08 14:11:28 -07:00
Dan Albert
519a4f2c05 Run genversion-scripts.py.
Test: make checkbuild
Bug: None
Change-Id: Ib81bd82db1397a8fc628bc32d9c244188865d58a
2016-09-08 13:08:47 -07:00
Dan Albert
e5dd632e43 Move strncpy fortify into android-21.
__strncpy_chk2 wasn't added until android-21.

Test: make checkbuild
Bug: None
Change-Id: I527f88aca55ef5010e12ece18abbdce3d54ce252
2016-09-08 13:08:47 -07:00
Dan Albert
ea4717fceb Annotate libm.map.txt.
Test: make checkbuild
Bug: http://b/30465923
Change-Id: I9a57fca0b73fb9017914e8f9984886b7d0635d28
2016-09-08 13:08:47 -07:00
Josh Gao
3afa18104b Merge "versioner: add support for __VERSIONER_NO_GUARD." 2016-09-08 18:48:52 +00:00
Josh Gao
fff29fe17a versioner: add support for __VERSIONER_NO_GUARD.
Add an attribute that tells the preprocessor not to guard a
declaration, primarily for use with symbols that get reexported by
libc++ of the form `namespace std { using ::wctrans; }`.

Bug: http://b/28178111
Change-Id: I08c8751214797e37e8f26e7f7416a19e81c2bb4c
2016-09-07 18:34:39 -07:00
Dimitry Ivanov
bb148b7cee Merge "Silently ignore empty path elements" 2016-09-07 23:20:24 +00:00
Treehugger Robot
8327a1707b Merge "Fix sscanf/wcstod parsing of NaNs." 2016-09-07 22:58:09 +00:00
Elliott Hughes
7f0849fd11 Fix sscanf/wcstod parsing of NaNs.
The parsefloat routines -- which let us pass NaNs and infinities on to
strto(f|d|ld) -- come from NetBSD.

Also fix LP64's strtold to return a NaN, and fix all the architectures
to return quiet NaNs.

Also fix wcstof/wcstod/wcstold to use parsefloat so they support hex
floats.

Lots of new tests.

Bug: http://b/31101647
Change-Id: Id7d46ac2d8acb8770b5e8c445e87cfabfde6f111
2016-09-07 15:01:54 -07:00
Dimitry Ivanov
01fdb6ad57 Silently ignore empty path elements
resolve_paths function used to print a warning if an input path
was empty. This commit fixes this by explicitly skipping
empty paths during path resolution.

Test: Run adb shell LD_LIBRARY_PATH=: /system/bin/ping
Test: make sure there are no warnings
Bug: http://b/31346121
Change-Id: Ifd79040943dc62fc6e07d9828ff91d1050572809
2016-09-07 14:48:27 -07:00
Tamas Berghammer
a2b947e0a5 Merge "Fix unittests broken by 545808a" 2016-09-07 15:14:09 +00:00
Tamas Berghammer
4bef28161f Fix unittests broken by 545808a
Change-Id: I590af5958e4dcb772b710be965ed6c99cd1d9234
2016-09-07 16:12:02 +01:00
Treehugger Robot
52ea18658f Merge "Fix time.mktime_EOVERFLOW for LP32." 2016-09-06 22:38:26 +00:00
Elliott Hughes
47126edb90 Fix time.mktime_EOVERFLOW for LP32.
Times before 1901-12-13 *underflow* on LP32, making the year 1900 a bad
choice for success case.

Bug: http://b/31305222
Change-Id: I20d4885c80b57707225580db044abc8948a55fdc
2016-09-06 13:34:15 -07:00
Josh Gao
4159e866ab Initialize main thread TLS before the global stack guard.
The GCE breakage caused by 78a52f19bb was
due to TLS_SLOT_SELF being uninitialized before the use of errno by
syscall. Separate stack guard initialization from TLS initialization so
that stack guard initialization can make syscalls.

Bug: http://b/29622562
Bug: http://b/31251721
Change-Id: Id0e4379e0efb7194a2df7bd16211ff11c6598033
2016-09-06 12:12:19 -07:00
Treehugger Robot
bfad958982 Merge "Fix "Unknown token error" when upstream clang is used." 2016-09-06 17:05:44 +00:00