OSDN Git Service

android-x86/bionic.git
7 years agoversioner: turn on -Wundef.
Josh Gao [Thu, 15 Sep 2016 21:16:15 +0000 (14:16 -0700)]
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

7 years agoFix BYTE_ORDER check in <netinet/ip6.h>.
Josh Gao [Thu, 15 Sep 2016 20:57:19 +0000 (13:57 -0700)]
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

7 years agoFix instances of '#if __i386__'.
Josh Gao [Thu, 15 Sep 2016 20:56:37 +0000 (13:56 -0700)]
Fix instances of '#if __i386__'.

Triggers -Wundef, which is on in -Weverything.

Bug: http://b/31496165
Change-Id: Ie2241b19abd6257bebf68baa3ecc4de8066c722e

7 years agoFix instances of '#if __LP64__'.
Josh Gao [Thu, 15 Sep 2016 20:55:41 +0000 (13:55 -0700)]
Fix instances of '#if __LP64__'.

Triggers -Wundef, which is on in -Weverything.

Bug: http://b/31496165
Change-Id: Ib06107073f7dd1d584c19c222d0430da9d35630b

7 years agoMerge "Initialize main thread TLS before the global stack guard."
Josh Gao [Thu, 15 Sep 2016 19:28:56 +0000 (19:28 +0000)]
Merge "Initialize main thread TLS before the global stack guard."

7 years agoMerge "Fix memory leak in test util"
Kenny Root [Thu, 15 Sep 2016 19:12:46 +0000 (19:12 +0000)]
Merge "Fix memory leak in test util"

7 years agoMerge "Add missing uapi header module."
Treehugger Robot [Thu, 15 Sep 2016 05:36:51 +0000 (05:36 +0000)]
Merge "Add missing uapi header module."

7 years agoMerge "Make getpagesize inline static."
Treehugger Robot [Thu, 15 Sep 2016 03:34:30 +0000 (03:34 +0000)]
Merge "Make getpagesize inline static."

7 years agoFix memory leak in test util
Kenny Root [Thu, 15 Sep 2016 00:14:42 +0000 (17:14 -0700)]
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

7 years agoAdd missing uapi header module.
Dan Albert [Thu, 15 Sep 2016 00:15:48 +0000 (17:15 -0700)]
Add missing uapi header module.

Test: make checkbuild tests
Bug: http://b/30465923
Change-Id: I4000a9f7aa7ede03dfe799cea7c890bd5dcda575

7 years agoMake getpagesize inline static.
Dan Albert [Thu, 15 Sep 2016 00:10:26 +0000 (17:10 -0700)]
Make getpagesize inline static.

Needed to avoid multiple definition errors.

Test: make checkbuild tests
Bug: None
Change-Id: Ife83e89f5232e98d363e2b2edd7a353ed61c4836

7 years agoMerge "versioner: turn on -Wall -Wextra -Werror."
Josh Gao [Thu, 15 Sep 2016 00:03:40 +0000 (00:03 +0000)]
Merge "versioner: turn on -Wall -Wextra -Werror."

7 years agoMerge "Add modules for NDK headers and libraries."
Treehugger Robot [Wed, 14 Sep 2016 22:32:23 +0000 (22:32 +0000)]
Merge "Add modules for NDK headers and libraries."

7 years agoversioner: turn on -Wall -Wextra -Werror.
Josh Gao [Wed, 14 Sep 2016 21:21:56 +0000 (14:21 -0700)]
versioner: turn on -Wall -Wextra -Werror.

Change-Id: Ica47d0fa671934a1ea193869265de8986b012a58
Test: mma && versioner

7 years agoMerge "Expose some more function decls."
Treehugger Robot [Tue, 13 Sep 2016 23:24:41 +0000 (23:24 +0000)]
Merge "Expose some more function decls."

7 years agoMerge "linker: Refactoring step 3 of many"
Treehugger Robot [Tue, 13 Sep 2016 22:34:59 +0000 (22:34 +0000)]
Merge "linker: Refactoring step 3 of many"

7 years agoAdd modules for NDK headers and libraries.
Dan Albert [Tue, 28 Jun 2016 18:18:05 +0000 (11:18 -0700)]
Add modules for NDK headers and libraries.

Test: make checkbuild
Bug: http://b/27533932
Change-Id: I285e483ba9fb80cc3baf0d025c85344e5b79a08b

7 years agoExpose some more function decls.
Dan Albert [Tue, 13 Sep 2016 21:15:21 +0000 (14:15 -0700)]
Expose some more function decls.

Test: make checkbuild tests # for x86-eng this time
Bug: http://b/30465923
Change-Id: I98c5a8d09463e85ac22b05035c87edab04eaa200

7 years agolinker: Refactoring step 3 of many
Dimitry Ivanov [Fri, 9 Sep 2016 17:00:39 +0000 (10:00 -0700)]
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

7 years agoMerge "Move test libraries under /data/nativetests"
Treehugger Robot [Fri, 9 Sep 2016 18:58:33 +0000 (18:58 +0000)]
Merge "Move test libraries under /data/nativetests"

7 years agoMerge "[mips64] Fix ipc syscalls"
Treehugger Robot [Fri, 9 Sep 2016 17:19:54 +0000 (17:19 +0000)]
Merge "[mips64] Fix ipc syscalls"

7 years ago[mips64] Fix ipc syscalls
Nikola Veljkovic [Fri, 9 Sep 2016 00:01:01 +0000 (02:01 +0200)]
[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

7 years agoMerge changes Id513b72a,I92cd0116,I62393b58,I90ac2224,I527f88ac
Treehugger Robot [Fri, 9 Sep 2016 01:13:27 +0000 (01:13 +0000)]
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.

7 years agoMerge changes Ib81bd82d,I9a57fca0
Treehugger Robot [Thu, 8 Sep 2016 23:55:45 +0000 (23:55 +0000)]
Merge changes Ib81bd82d,I9a57fca0

* changes:
  Run genversion-scripts.py.
  Annotate libm.map.txt.

7 years agoProvide fake definitions for libstdc++.
Dan Albert [Tue, 6 Sep 2016 23:51:00 +0000 (16:51 -0700)]
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

7 years agoProvide static inlines for in6addr things.
Dan Albert [Thu, 8 Sep 2016 23:09:22 +0000 (16:09 -0700)]
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

7 years agoProvide an inline __cmsg_nxthdr.
Dan Albert [Thu, 8 Sep 2016 23:12:09 +0000 (16:12 -0700)]
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

7 years agoCorrect more fortify availability guards.
Dan Albert [Thu, 8 Sep 2016 23:11:23 +0000 (16:11 -0700)]
Correct more fortify availability guards.

Test: make checkbuild
Bug: http://b/30465923
Change-Id: I90ac222483ecd39f1e7cc358babfb64e305cffcb

7 years agoMerge "Don't use an anonymous label in arm's __bionic_clone."
Treehugger Robot [Thu, 8 Sep 2016 22:05:18 +0000 (22:05 +0000)]
Merge "Don't use an anonymous label in arm's __bionic_clone."

7 years agoDon't use an anonymous label in arm's __bionic_clone.
Elliott Hughes [Thu, 8 Sep 2016 21:11:28 +0000 (14:11 -0700)]
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

7 years agoRun genversion-scripts.py.
Dan Albert [Tue, 6 Sep 2016 23:55:26 +0000 (16:55 -0700)]
Run genversion-scripts.py.

Test: make checkbuild
Bug: None
Change-Id: Ib81bd82db1397a8fc628bc32d9c244188865d58a

7 years agoMove strncpy fortify into android-21.
Dan Albert [Wed, 7 Sep 2016 23:43:59 +0000 (16:43 -0700)]
Move strncpy fortify into android-21.

__strncpy_chk2 wasn't added until android-21.

Test: make checkbuild
Bug: None
Change-Id: I527f88aca55ef5010e12ece18abbdce3d54ce252

7 years agoAnnotate libm.map.txt.
Dan Albert [Tue, 6 Sep 2016 23:54:45 +0000 (16:54 -0700)]
Annotate libm.map.txt.

Test: make checkbuild
Bug: http://b/30465923
Change-Id: I9a57fca0b73fb9017914e8f9984886b7d0635d28

7 years agoMerge "versioner: add support for __VERSIONER_NO_GUARD."
Josh Gao [Thu, 8 Sep 2016 18:48:52 +0000 (18:48 +0000)]
Merge "versioner: add support for __VERSIONER_NO_GUARD."

7 years agoversioner: add support for __VERSIONER_NO_GUARD.
Josh Gao [Thu, 8 Sep 2016 01:29:08 +0000 (18:29 -0700)]
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

7 years agoMerge "Silently ignore empty path elements"
Dimitry Ivanov [Wed, 7 Sep 2016 23:20:24 +0000 (23:20 +0000)]
Merge "Silently ignore empty path elements"

7 years agoMerge "Fix sscanf/wcstod parsing of NaNs."
Treehugger Robot [Wed, 7 Sep 2016 22:58:08 +0000 (22:58 +0000)]
Merge "Fix sscanf/wcstod parsing of NaNs."

7 years agoFix sscanf/wcstod parsing of NaNs.
Elliott Hughes [Fri, 26 Aug 2016 23:17:17 +0000 (16:17 -0700)]
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

7 years agoSilently ignore empty path elements
Dimitry Ivanov [Wed, 7 Sep 2016 21:48:27 +0000 (14:48 -0700)]
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

7 years agoMerge "Fix unittests broken by 545808a"
Tamas Berghammer [Wed, 7 Sep 2016 15:14:09 +0000 (15:14 +0000)]
Merge "Fix unittests broken by 545808a"

7 years agoFix unittests broken by 545808a
Tamas Berghammer [Fri, 2 Sep 2016 15:35:50 +0000 (16:35 +0100)]
Fix unittests broken by 545808a

Change-Id: I590af5958e4dcb772b710be965ed6c99cd1d9234

7 years agoMerge "Fix time.mktime_EOVERFLOW for LP32."
Treehugger Robot [Tue, 6 Sep 2016 22:38:25 +0000 (22:38 +0000)]
Merge "Fix time.mktime_EOVERFLOW for LP32."

7 years agoFix time.mktime_EOVERFLOW for LP32.
Elliott Hughes [Tue, 6 Sep 2016 20:25:53 +0000 (13:25 -0700)]
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

7 years agoInitialize main thread TLS before the global stack guard.
Josh Gao [Fri, 2 Sep 2016 05:58:44 +0000 (22:58 -0700)]
Initialize main thread TLS before the global stack guard.

The GCE breakage caused by 78a52f19bb207d1c736f1d5362e01f338d78645 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

7 years agoMerge "Fix "Unknown token error" when upstream clang is used."
Treehugger Robot [Tue, 6 Sep 2016 17:05:44 +0000 (17:05 +0000)]
Merge "Fix "Unknown token error" when upstream clang is used."

7 years agoFix "Unknown token error" when upstream clang is used.
MinSeong Kim [Tue, 6 Sep 2016 04:59:55 +0000 (05:59 +0100)]
Fix "Unknown token error" when upstream clang is used.

Simple fix for the above error caused by the location
of a label "1:"

Change-Id: I9b1c816871e95f9bcf8135a5e0cc88de65771315
Signed-off-by: MinSeong Kim <minseong.kim@linaro.org>
7 years agoMove test libraries under /data/nativetests
Dimitry Ivanov [Thu, 1 Sep 2016 18:37:39 +0000 (11:37 -0700)]
Move test libraries under /data/nativetests

Move libraries used in bionic-unit-tests out of system partition to
/data/nativetests../bionic-loader-test-libs

Bug: http://b/22182538
Test: build bionic and run bionic-unit-tests
Change-Id: I170177bef782839d0b4970ae4418bf54d0a77836

7 years agoMerge "Revert "Update getentropy_linux.c from upstream.""
Josh Gao [Fri, 2 Sep 2016 08:41:15 +0000 (08:41 +0000)]
Merge "Revert "Update getentropy_linux.c from upstream.""

7 years agoRevert "Update getentropy_linux.c from upstream."
Josh Gao [Fri, 2 Sep 2016 08:39:29 +0000 (08:39 +0000)]
Revert "Update getentropy_linux.c from upstream."

This reverts commit 5faef47e438d20600655e2f5ef473c2d63cbf2c0.

Bug: http://b/31251721
Change-Id: I20a091f385fb77ccc68b8d9fb1d2aee3dec0d0ff

7 years agoMerge "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""
Josh Gao [Fri, 2 Sep 2016 05:49:21 +0000 (05:49 +0000)]
Merge "Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used.""

7 years agoRevert "Attempt to use arc4random where getauxval(AT_RANDOM) is used."
Josh Gao [Fri, 2 Sep 2016 05:48:11 +0000 (05:48 +0000)]
Revert "Attempt to use arc4random where getauxval(AT_RANDOM) is used."

This reverts commit 78a52f19bb207d1c736f1d5362e01f338d78645f.

Change-Id: Ia72501ad0b81e894d67e5ce59b597397c11acfa5

7 years agoMerge changes I6932803a,Ia65c038e
Josh Gao [Thu, 1 Sep 2016 22:40:12 +0000 (22:40 +0000)]
Merge changes I6932803a,Ia65c038e

* changes:
  Attempt to use arc4random where getauxval(AT_RANDOM) is used.
  Update getentropy_linux.c from upstream.

7 years agoMerge "cc_test_library now creates shared libraries too"
Treehugger Robot [Thu, 1 Sep 2016 01:27:00 +0000 (01:27 +0000)]
Merge "cc_test_library now creates shared libraries too"

7 years agoAttempt to use arc4random where getauxval(AT_RANDOM) is used.
Josh Gao [Sat, 25 Jun 2016 00:14:14 +0000 (17:14 -0700)]
Attempt to use arc4random where getauxval(AT_RANDOM) is used.

When arc4random can get entropy (which is true for basically everyone
but init on kernels that don't support getrandom), use it instead of
AT_RANDOM.

Bug: http://b/29622562
Change-Id: I6932803af2c477e65562ff531bd959f199fad1df

7 years agoUpdate getentropy_linux.c from upstream.
Josh Gao [Fri, 24 Jun 2016 02:06:35 +0000 (19:06 -0700)]
Update getentropy_linux.c from upstream.

Bug: http://b/29622562
Change-Id: Ia65c038effa6e806c325a8e93c1fe80c50a9f2c9

7 years agocc_test_library now creates shared libraries too
Dan Willemsen [Wed, 31 Aug 2016 23:35:01 +0000 (16:35 -0700)]
cc_test_library now creates shared libraries too

Make these compile as static libraries by properly declaring their
dependencies.

I turned off the shared version of libBionicTests because it produces
this linker warning (treated as error):

external/libcxx/include/sstream:859: warning: relocation refers to
discarded section

Change-Id: I2e1448b47a441b273d208ebd068d0d22e340a0ff

7 years agoMerge "List failing tests last, to reduce the amount of scrolling."
Treehugger Robot [Wed, 31 Aug 2016 23:13:29 +0000 (23:13 +0000)]
Merge "List failing tests last, to reduce the amount of scrolling."

7 years agoList failing tests last, to reduce the amount of scrolling.
Elliott Hughes [Wed, 31 Aug 2016 20:30:14 +0000 (13:30 -0700)]
List failing tests last, to reduce the amount of scrolling.

On actual devices, we have a lot of slow tests. Warnings about those
cause cause the failed tests to scroll off the display.

Also replace the made-up word "warnline".

Change-Id: I6b579521a21b56da8a1add08cd34888fc902646e

7 years agoMerge "Remove $(module)_install_to_out_data flag from test makefile"
Treehugger Robot [Tue, 30 Aug 2016 21:16:33 +0000 (21:16 +0000)]
Merge "Remove $(module)_install_to_out_data flag from test makefile"

7 years agoMerge "Fix SysV IPC test failures on Android devices."
Elliott Hughes [Tue, 30 Aug 2016 19:35:04 +0000 (19:35 +0000)]
Merge "Fix SysV IPC test failures on Android devices."

7 years agoRemove $(module)_install_to_out_data flag from test makefile
Dimitry Ivanov [Mon, 29 Aug 2016 20:15:38 +0000 (13:15 -0700)]
Remove $(module)_install_to_out_data flag from test makefile

Use non-empty $(module)_install_to_out_data_dir as indication
of custom target dir for a library.

Bug: http://b/22182538
Test: build and run bionic-unit-tests --gtest_filter=dl*:Dl*
Change-Id: Ibfc87f45084a6fe2f487ca1b17a7625a8d8ec707

7 years agoMerge "Update to kernel headers v4.7.2."
Christopher Ferris [Mon, 29 Aug 2016 19:14:09 +0000 (19:14 +0000)]
Merge "Update to kernel headers v4.7.2."

7 years agoUpdate to kernel headers v4.7.2.
Christopher Ferris [Wed, 24 Aug 2016 19:15:38 +0000 (12:15 -0700)]
Update to kernel headers v4.7.2.

Modify the kernel header update script to rename C++ keyword
struct members to something else. This fixes problems when including
these kernel files in C++ code.

Also, make a manual change to linux/fib_rules.h and comment out the
value FRA_PAD since it conflicts with a special android kernel value
FRA_UID_START that has not been upstreamed yet.

Test: Built aosp_angler, aosp_x86_64, aosp_mips (bionic only)
Test: Booted on angler and ran bionic unit tests
Test: Built these changes in internal master

Change-Id: Ia22b7e3ca409404696dba76311f49157f4a9ceed

7 years agoMerge "Fix pty.bug_28979140 test in Bionic"
Treehugger Robot [Sat, 27 Aug 2016 18:57:47 +0000 (18:57 +0000)]
Merge "Fix pty.bug_28979140 test in Bionic"

7 years agoFix pty.bug_28979140 test in Bionic
Alex Vakulenko [Tue, 12 Jul 2016 00:26:35 +0000 (17:26 -0700)]
Fix pty.bug_28979140 test in Bionic

The test relies on the fact/assumes that CPU 0 is available to the
test process. This is not necessarily the case. Instead of allocating
CPU 0 to the main thread, find the first available CPU and use that
instead.

BUG=b/29991929
TEST=All Bionic unit tests pass

(cherrypick of 766275e7f697c30164678e1fed55b2a2fcbf8546.)

Change-Id: I36b311cdba57112d663d652757fd5114183fc780

7 years agoFix SysV IPC test failures on Android devices.
Elliott Hughes [Sat, 27 Aug 2016 01:33:19 +0000 (18:33 -0700)]
Fix SysV IPC test failures on Android devices.

SysV IPC has been compiled out of all our kernels.

Change-Id: I1294459697ed7dff4f21af5c7b04c8b3d3649329

7 years agoMerge "Initialize __abort_message_ptr in linker's copy of libc"
Treehugger Robot [Sat, 27 Aug 2016 01:22:09 +0000 (01:22 +0000)]
Merge "Initialize __abort_message_ptr in linker's copy of libc"

7 years agoInitialize __abort_message_ptr in linker's copy of libc
Dimitry Ivanov [Fri, 26 Aug 2016 22:45:05 +0000 (15:45 -0700)]
Initialize __abort_message_ptr in linker's copy of libc

The linker calls to __libc_fatal resulted in tombstones
with missing abort message. This commit fixes it by
initializing __abort_message_ptr for the linker's copy
of libc.

Bug: http://b/31095185
Change-Id: I883d654d7fd0ef309c80f8021202b6bfd5d5cea5

7 years agoMerge "Fix a typo in the debug malloc usage info"
Christopher Ferris [Fri, 26 Aug 2016 17:58:09 +0000 (17:58 +0000)]
Merge "Fix a typo in the debug malloc usage info"

7 years agoMerge "Revert "Switch back to the BSD exec for now.""
Treehugger Robot [Fri, 26 Aug 2016 17:54:48 +0000 (17:54 +0000)]
Merge "Revert "Switch back to the BSD exec for now.""

7 years agoRevert "Switch back to the BSD exec for now."
Elliott Hughes [Fri, 26 Aug 2016 16:15:57 +0000 (16:15 +0000)]
Revert "Switch back to the BSD exec for now."

This reverts commit 18c31d7f4c93309a0f316412fcc6a829e41eaaae.

63615066d9f0b0b1c653c91a9b305e6c292c835a fixed the bug.

Change-Id: I1d59c4be6ad1a05b23dce0198737f0789d7e034a

7 years agoMerge "Fix execvp/execvpe behavior with absolute paths and ENOEXEC."
Elliott Hughes [Fri, 26 Aug 2016 16:14:52 +0000 (16:14 +0000)]
Merge "Fix execvp/execvpe behavior with absolute paths and ENOEXEC."

7 years agoFix a typo in the debug malloc usage info
Tamas Berghammer [Fri, 26 Aug 2016 11:34:16 +0000 (12:34 +0100)]
Fix a typo in the debug malloc usage info

Change-Id: I010fdc6c228a5f64edfef1c267cde7a2eef5190b

7 years agoMerge "linker: stat /proc/self/exe instead of executable_path"
Treehugger Robot [Fri, 26 Aug 2016 04:32:53 +0000 (04:32 +0000)]
Merge "linker: stat /proc/self/exe instead of executable_path"

7 years agolinker: stat /proc/self/exe instead of executable_path
Dimitry Ivanov [Thu, 25 Aug 2016 21:53:35 +0000 (14:53 -0700)]
linker: stat /proc/self/exe instead of executable_path

The absolute path to an executable may no longer be valid for
example when the file is unlinked immediately after exec.
Using /proc/self/exe instead of absolute path solves this problem.

Bug: http://b/31084669
Test: Run the app from http://b/31084669 make sure executable starts
Test: by checking ps and /proc/<pid>/exe
Change-Id: I5c819f39ef0fc4fc71b05de71e8af9ede611f04c
(cherry picked from commit 7da4bbbe87a7eca742c6c45a76aaf191aa70d948)

7 years agoMerge "Switch back to the BSD exec for now."
Treehugger Robot [Fri, 26 Aug 2016 01:44:28 +0000 (01:44 +0000)]
Merge "Switch back to the BSD exec for now."

7 years agoFix execvp/execvpe behavior with absolute paths and ENOEXEC.
Elliott Hughes [Fri, 26 Aug 2016 00:40:27 +0000 (17:40 -0700)]
Fix execvp/execvpe behavior with absolute paths and ENOEXEC.

Bug: http://b/31091962
Change-Id: Id0b3d41868f5e3ed1ccf618bfefb46609367bc9a

7 years agoSwitch back to the BSD exec for now.
Elliott Hughes [Thu, 25 Aug 2016 23:52:04 +0000 (16:52 -0700)]
Switch back to the BSD exec for now.

Bug: http://b/31091962
Change-Id: Ia155c4aa0d6db7b91d7486433c3c01a841b0e509

7 years agoMerge "Fix execvpe ENOEXEC behavior."
Elliott Hughes [Thu, 25 Aug 2016 16:18:24 +0000 (16:18 +0000)]
Merge "Fix execvpe ENOEXEC behavior."

7 years agoFix execvpe ENOEXEC behavior.
Elliott Hughes [Thu, 25 Aug 2016 02:27:04 +0000 (19:27 -0700)]
Fix execvpe ENOEXEC behavior.

The special case for absolute paths wasn't handling ENOEXEC.

Also add more extensive tests for execvpe.

Also switch to manually doing the fork in ExecTestHelper::Run because
ASSERT_EXIT doesn't actually return, meaning we were only running the
first part of each test.

Bug: http://b/31073104
Change-Id: I7a4640afc6d290c51ba2e66fc1b9bb6b0fc174f7

7 years agoMerge "Rewrite the exec family."
Treehugger Robot [Wed, 24 Aug 2016 21:21:43 +0000 (21:21 +0000)]
Merge "Rewrite the exec family."

7 years agoRewrite the exec family.
Elliott Hughes [Thu, 18 Aug 2016 17:11:36 +0000 (10:11 -0700)]
Rewrite the exec family.

* Removes duplication.
* Removes fixed PATH_MAX limit.
* Adds basic tests.

Bug: http://b/30032507
Change-Id: I4087a9de3e53884ac3297ebafbec4e6f8a9871b6

7 years agoMerge "Don't warn about DT_FLAGS_1 containing DF_1_PIE"
Dimitry Ivanov [Mon, 22 Aug 2016 20:43:31 +0000 (20:43 +0000)]
Merge "Don't warn about DT_FLAGS_1 containing DF_1_PIE"
am: 42d24ca818

Change-Id: I10e5d9f9c06592fb6e11ce2766afd665c66d185e

7 years agoMerge "Don't warn about DT_FLAGS_1 containing DF_1_PIE"
Dimitry Ivanov [Mon, 22 Aug 2016 20:31:16 +0000 (20:31 +0000)]
Merge "Don't warn about DT_FLAGS_1 containing DF_1_PIE"

7 years agoDon't warn about DT_FLAGS_1 containing DF_1_PIE
Bernhard Rosenkränzer [Fri, 19 Aug 2016 19:57:12 +0000 (21:57 +0200)]
Don't warn about DT_FLAGS_1 containing DF_1_PIE

DF_1_PIE is set in PIE code built with gcc 6.x. The flag is purely
informational and the linker doesn't need to do anything about it,
so Bionic handles it correctly - no need to warn.

Change-Id: If99c1742fe22f8842a84818909ed961716ef5ca5
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
7 years agoMerge "Fix mips build."
Elliott Hughes [Fri, 19 Aug 2016 02:44:09 +0000 (02:44 +0000)]
Merge "Fix mips build."
am: 685ed4467c

Change-Id: If3bc475a3397c79ba1b7583110eb92b3c1ff8ba7

7 years agoMerge "Fix mips build."
Treehugger Robot [Fri, 19 Aug 2016 02:40:21 +0000 (02:40 +0000)]
Merge "Fix mips build."

7 years agoFix mips build.
Elliott Hughes [Fri, 19 Aug 2016 01:25:07 +0000 (18:25 -0700)]
Fix mips build.

Tests still pass on arm/aarch64/x86/x86-64.

Change-Id: I6a17b5bca356dbc7273b5427c68d538c0dd6deed

7 years agoMerge "Flesh out <sys/msg.h>, <sys/sem.h>, <sys/shm.h>."
Elliott Hughes [Fri, 19 Aug 2016 00:03:27 +0000 (00:03 +0000)]
Merge "Flesh out <sys/msg.h>, <sys/sem.h>, <sys/shm.h>."
am: 7d4e28a486

Change-Id: Idbf296a5a4342b4a9816f6cd3a4db896a80854a5

7 years agoMerge "Flesh out <sys/msg.h>, <sys/sem.h>, <sys/shm.h>."
Elliott Hughes [Thu, 18 Aug 2016 23:58:42 +0000 (23:58 +0000)]
Merge "Flesh out <sys/msg.h>, <sys/sem.h>, <sys/shm.h>."

7 years agoFlesh out <sys/msg.h>, <sys/sem.h>, <sys/shm.h>.
Elliott Hughes [Wed, 17 Aug 2016 01:14:26 +0000 (18:14 -0700)]
Flesh out <sys/msg.h>, <sys/sem.h>, <sys/shm.h>.

Also fix <sys/ipc.h>.

Not useful except to systems/bringup folks for testing. Trivial tests
added, and double-checked under strace to see that things look right.

x86 -- which works differently to everything else -- tested on the host.

Bug: http://b/27952303
Change-Id: I328534e994ae9e90755f545478fba03038c0bb94

7 years agoMerge "[mips] Add missing linker shdr tests"
Dimitry Ivanov [Wed, 17 Aug 2016 19:00:02 +0000 (19:00 +0000)]
Merge "[mips] Add missing linker shdr tests"
am: fc9958ce76

Change-Id: I621c6e98dac498e12552281b87374a7ba4578e71

7 years agoMerge "[mips] Add missing linker shdr tests"
Dimitry Ivanov [Wed, 17 Aug 2016 18:29:52 +0000 (18:29 +0000)]
Merge "[mips] Add missing linker shdr tests"

7 years agoMerge "Be more restrictive about max frame size."
Elliott Hughes [Wed, 17 Aug 2016 17:39:57 +0000 (17:39 +0000)]
Merge "Be more restrictive about max frame size."
am: a6b73d36ef

Change-Id: I635cae0c7147aad3d6e6a36e889ddc90e1db44d6

7 years agoMerge "Be more restrictive about max frame size."
Treehugger Robot [Wed, 17 Aug 2016 17:29:25 +0000 (17:29 +0000)]
Merge "Be more restrictive about max frame size."

7 years agoMerge "Document that our getnameinfo(3) prototype is unfixably wrong."
Elliott Hughes [Wed, 17 Aug 2016 00:32:50 +0000 (00:32 +0000)]
Merge "Document that our getnameinfo(3) prototype is unfixably wrong."
am: f74eb2609f

Change-Id: Ie9bd6e383ba5143242453a467234d91cb77a04a0

7 years agoMerge "Document that our getnameinfo(3) prototype is unfixably wrong."
Treehugger Robot [Wed, 17 Aug 2016 00:17:24 +0000 (00:17 +0000)]
Merge "Document that our getnameinfo(3) prototype is unfixably wrong."

7 years agoBe more restrictive about max frame size.
Elliott Hughes [Tue, 16 Aug 2016 22:57:47 +0000 (15:57 -0700)]
Be more restrictive about max frame size.

exec and realpath both have PATH_MAX buffers (which is a bug in its own
right, since PATH_MAX isn't a real limit). The printf/scanf implementation
has a few large functions, and the DNS implementation is a complete 1970s
C nightmare.

Bug: http://b/30032507
Change-Id: I4b9daa552123c16bbe84f0632b2b32eba17a9dbd

7 years agoMerge "Add missing <sys/stat.h> macros."
Elliott Hughes [Tue, 16 Aug 2016 22:18:20 +0000 (22:18 +0000)]
Merge "Add missing <sys/stat.h> macros."
am: fe4ab7dc30

Change-Id: Iebe7bd3970e16796493b2804b11621d744108baa

7 years agoMerge "Fix various <sys/socket.h> prototypes."
Elliott Hughes [Tue, 16 Aug 2016 22:18:17 +0000 (22:18 +0000)]
Merge "Fix various <sys/socket.h> prototypes."
am: c8476bb7ad

Change-Id: I383ececb2f1757b15c804737dc0ceba6ec80e056