Commit Graph

7000 Commits

Author SHA1 Message Date
Elliott Hughes
dcbef06ce6 Remove the useless indirection in mips' __set_tls.
Change-Id: I12e9d6716c42ccbccc9a186441aca0736bb22d05
2014-05-12 16:11:06 -07:00
Elliott Hughes
4b57305afe Merge "Bring in google3-style DISALLOW_* macros." 2014-05-10 03:32:28 +00:00
Elliott Hughes
8eac9af24e Bring in google3-style DISALLOW_* macros.
I've been meaning to do this for a very long time...

Change-Id: Ia8c16eee7c026c3c9505399948485fb778fb0152
2014-05-09 19:12:08 -07:00
Elliott Hughes
b2c3c803f0 Merge "Align the child stack in clone(2)." 2014-05-10 00:38:51 +00:00
Elliott Hughes
0d236aa3f1 Align the child stack in clone(2).
Also let clone(2) set the TLS for x86.

Also ensure we initialize the TLS before we clone(2) for all architectures.

Change-Id: Ie5fa4466e1c9ee116a281dfedef574c5ba60c0b5
2014-05-09 17:06:51 -07:00
Elliott Hughes
8fa5c2528c Merge "Align arm64 stacks to 16 bytes in __bionic_clone." 2014-05-09 21:28:05 +00:00
Christopher Ferris
b222097dae Merge "Use larger neon instructions for moving data." 2014-05-09 21:09:55 +00:00
Elliott Hughes
fff3c0fdcf Align arm64 stacks to 16 bytes in __bionic_clone.
Also ensure that arm64/x86-64/x86 assembler uses local labels.
(There are are so many non-local labels in arm that fixing them
seems out of scope.)

Also synchronize the __bionic_clone.S comments.

Change-Id: I03b4f84780d996b54d6637a074638196bbb01cd4
2014-05-09 12:16:20 -07:00
Christopher Ferris
2146d142b2 Use larger neon instructions for moving data.
Included is a new target generic-neon that will use neon instructions
on 64 bit platforms where appropriate.

Change-Id: Iaf71b768780aa9240a24539cd87666ca9298e4c6
2014-05-09 11:29:37 -07:00
Elliott Hughes
55b4c8a4a1 Merge "Hide the __bionic_clone and __bionic_clone_entry implementation details." 2014-05-09 16:13:52 +00:00
Elliott Hughes
adfc007dbf Merge "Declare sincos/sincosf/sincosl in <math.h>." 2014-05-09 04:33:31 +00:00
Elliott Hughes
b4f2f28054 Declare sincos/sincosf/sincosl in <math.h>.
Change-Id: If7b98f98c7ab4d3d77d310be082bff64512d51a8
2014-05-08 21:19:12 -07:00
Elliott Hughes
954cf0d4e2 Hide the __bionic_clone and __bionic_clone_entry implementation details.
clone(2) is the public symbol.

Also switch a test from __bionic_clone to clone; testing public API
means the test now works on glibc too.

Change-Id: If59def26a00c3afadb8a6cf9442094c35a59ffde
2014-05-08 19:00:23 -07:00
Dmitriy Ivanov
29d10e3de8 Merge "Test dlopen with symlinked .so files" 2014-05-09 00:52:08 +00:00
Elliott Hughes
170daa042c Merge "wchar_test.cpp: fix error between comparison signed and unsigned integer" 2014-05-08 23:52:59 +00:00
Dmitriy Ivanov
7db180919c Test dlopen with symlinked .so files
Bug: 9741592
Change-Id: I68c59d6f4e690136395c3dc3de13f99ce38de528
2014-05-08 14:28:34 -07:00
Dmitriy Ivanov
b696452488 Merge "Remove support for non-PIE executables" 2014-05-08 20:52:10 +00:00
Nick Kralevich
2aebf5429b Remove support for non-PIE executables
Don't support the dynamic linker loading ET_EXEC executables. Only
support ET_DYN executables.

Bug: 14566672
Change-Id: Ia1f2bfffe7ea867c1cd62e67d7fd637c60c0728d
2014-05-08 13:17:17 -07:00
Yongqin Liu
a5c6b2ecb5 wchar_test.cpp: fix error between comparison signed and unsigned integer
when compile the cts package with aarch64 gcc4.9, will get following error:
bionic/tests/wchar_test.cpp:253:3: required from here
external/gtest/include/gtest/gtest.h:1448:16:
    error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]

this change fix it by using static_cast<wchar_t> as suggested by Calin Juravle

Change-Id: I7fb9506e7b84b8a12b9d003458d4f0e78554c3cd
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-05-09 00:57:47 +08:00
Elliott Hughes
a3ce6bdb63 Merge "Fix LOG_ID_CRASH build failure." 2014-05-08 00:13:26 +00:00
Elliott Hughes
ae0a62b014 Fix LOG_ID_CRASH build failure.
Change-Id: I66517e30c568d7f36f6bf6b1e4507ecf14f01226
2014-05-07 17:12:40 -07:00
Elliott Hughes
1ee18d0eb0 Merge "Send bionic's fatal logging to the crash log." 2014-05-07 23:40:28 +00:00
Elliott Hughes
3b96803284 Merge "Add basic tests for fsync/fdatasync." 2014-05-07 23:40:11 +00:00
Elliott Hughes
011101905d Send bionic's fatal logging to the crash log.
Bug: 14159417
Change-Id: I7aa986fb8e11660035221f9bb4fe0bc40ac36c58
2014-05-07 16:35:59 -07:00
Elliott Hughes
a62a28d1d9 Add basic tests for fsync/fdatasync.
Bug: 14613980
Change-Id: Ie8002c2a1abae07295b7bdb33772764767c03d37
2014-05-07 14:30:33 -07:00
Dmitriy Ivanov
f837cbdc27 Merge "Add missing test for atexit test suite." 2014-05-07 20:49:00 +00:00
Elliott Hughes
8ec38997ef Merge "Give bionic's __ANDROID_API__ a more reasonable value." 2014-05-07 19:58:21 +00:00
Elliott Hughes
4aa2e6a32a Give bionic's __ANDROID_API__ a more reasonable value.
This matches what frameworks/base does with Build.VERSION and means that
bionic's version number will always sort >= than any released version.
This should prevent confusion in code that builds both against bionic
and the NDK.

(Note that <sys/cdefs.h> drags this in, so it's always in the namespace.)

Bug: 14613709
Change-Id: I91fb745920e848a6b20f2f5797c0a7d6cde6c032
2014-05-07 12:57:51 -07:00
Dmitriy Ivanov
6396da98cb Add missing test for atexit test suite.
Change-Id: I3d14d7df1da53ccef534c106633593551ab6a7cb
2014-05-07 12:29:54 -07:00
Calin Juravle
837abf0466 Merge "Fix bionic-unit-tests-glibc-run target" 2014-05-07 18:31:11 +00:00
Calin Juravle
0e9d7fccb9 Fix bionic-unit-tests-glibc-run target
Configure multilib for bionic-unit-tests-glibc-run target (the path to
the host executable was already patched to support multilib build but
the multilib itself wasn't configured).

Change-Id: If533fbdb19bc737e543cf85a0787505458f24579
2014-05-07 19:06:30 +01:00
Torne (Richard Coles)
35cff760df Merge "Test that relro sharing actually saves memory." 2014-05-07 15:25:44 +00:00
Calin Juravle
e292875cf5 Merge "Reserve some space in sem_t for the future." 2014-05-07 14:04:32 +00:00
Calin Juravle
b6c48b20e4 Merge "Allow for better utmp logging." 2014-05-07 14:04:22 +00:00
Calin Juravle
fc2af0ca47 Merge "Fix ino_t and suseconds_t" 2014-05-07 14:04:12 +00:00
Calin Juravle
764a888218 Merge "Leave more space for extensions in pthread_rwlockattr_t" 2014-05-07 14:04:01 +00:00
Elliott Hughes
6ad9cd41bc Merge "Change the interface for fatal logging." 2014-05-07 04:04:28 +00:00
Elliott Hughes
c78368f04f Change the interface for fatal logging.
This more general interface lets liblog give us any fatal log message,
regardless of source. This means we can remove the special case for
LOG_ALWAYS_FATAL with a simpler scheme that automatically works for
the VM too.

Change-Id: Ia6dbf7c3dbabf223081bd5159294835d954bb067
2014-05-06 20:37:22 -07:00
Elliott Hughes
e05df25145 Merge "Fix a gethnamaddr.c warning that's already fixed upstream." 2014-05-06 20:42:10 +00:00
Elliott Hughes
89ca3c5aec Merge "Sync with upstream OpenBSD wcsftime.c." 2014-05-06 20:21:03 +00:00
Elliott Hughes
3e5f0c9849 Fix a gethnamaddr.c warning that's already fixed upstream.
We're still way out of sync, but this cleans up a tiny corner.

Change-Id: I51e76601785bf351d6418841b56e08a900a84d82
2014-05-06 11:23:40 -07:00
Elliott Hughes
2716f3e805 Sync with upstream OpenBSD wcsftime.c.
They removed the code nobody wants rather than fix the ""/L"" mixup.
Even better!

Change-Id: Ib4333acf5e90d69586805a218d2894c5dffcb82f
2014-05-06 11:12:34 -07:00
Calin Juravle
6726862e9a Fix ino_t and suseconds_t
Align ino_t and suseconds_t definitions with kernel
and OpenBSD upstream.

Bug: 14583346
Bug: 12875898
Change-Id: I0d97c6b4fc85b261472575290e6f6f2df1c8a36a
2014-05-06 18:41:26 +01:00
Elliott Hughes
100168abff Merge "Fix <math.h> to quieten most of our warnings." 2014-05-06 17:18:16 +00:00
Calin Juravle
0686d5e26f Reserve some space in sem_t for the future.
Reserve 12 more bytes in sem_t to give room for future implementation
improvements. This gets us to a 16 bytes sem_t. Glibc uses 32 bytes (16
actual use + 16 reserved), while OpenBSD has 16 bytes (out of which 4
are for padding).

Bug: 14587103
Bug: 12875898
Change-Id: Id835cc5abf874c651e6b5ad5b8f29c9d6ab08d5a
2014-05-06 16:24:27 +01:00
Calin Juravle
7d8f303353 Allow for better utmp logging.
Increase (UT_NAMESIZE,UT_LINESIZE,UT_HOSTSIZE) to (32,32,256).

Nobody writes utmp on Android but it would be nice to be aligned
with others who use 32,32,256 (like glibc). If ever used it will produce
nicer logging. There is no consensus in BSDs for these values.

Bug: 14584341
Bug: 12875898

Change-Id: I94af10b982b8f9fcaea897c4cf968563f38403f9
2014-05-06 15:44:14 +01:00
Calin Juravle
7b1a95bc76 Merge "Add include guard to fileext.h" 2014-05-06 13:47:19 +00:00
Calin Juravle
7c435f2415 Leave more space for extensions in pthread_rwlockattr_t
Change pthread_rwlockattr_t from int to long. On LP64 this gives us more
room for extensibility since longs are 8 bytes. glibc also reserves 8
bytes for this.

Bug: 14582681
Bug: 12875898
Change-Id: I55d599be0fdbbf0cb55957ec0ea62ab042bdee94
2014-05-06 13:40:24 +01:00
Torne (Richard Coles)
2605261691 Test that relro sharing actually saves memory.
Spawn 20 child processes, have them all load the library, and compare
the total PSS used in the case where we use dlopen() and the case where
we use android_dlopen_ext() with relro sharing. We assume we will save
at least 10% of the memory; in practise this example saves 40% or more
so this should be a reasonable threshold.

Bug: 14299541
Change-Id: Idccf6b8b0eb137abae2200f1ce68fb76b3cbdd75
2014-05-06 11:38:53 +01:00
Torne (Richard Coles)
9b5ee4aa85 Merge "Handle empty relro segment or incorrectly sized file." 2014-05-06 10:16:18 +00:00