Commit Graph

6548 Commits

Author SHA1 Message Date
Elliott Hughes
0e309c87ab am 0df47ece: am d5a59aa7: am 1b2d214b: Merge "Clean up forking and cloning."
* commit '0df47ece78b2e596dde3a2369b44917842bbbd4b':
  Clean up forking and cloning.
2013-11-21 08:12:58 -08:00
Narayan Kamath
241776e21e am 6e5fda6b: am 22b8c53e: am 9d70ddc4: Merge "Add test case for 1^NaN"
* commit '6e5fda6b6d2b15155d8ca1ef586cf8ce6e04a067':
  Add test case for 1^NaN
2013-11-21 08:12:57 -08:00
Elliott Hughes
7a7429b4f7 am 67026112: am 8154f010: am 318e86ed: Merge "bionic: call stdio cleanup on exit"
* commit '67026112a00b94f9d13c3adea2ffbb4fb83d55c5':
  bionic: call stdio cleanup on exit
2013-11-21 08:12:57 -08:00
Elliott Hughes
9280a859a6 am 86ae0ff1: am 044d4655: am 303fe0cb: Merge "Fix pthread_join."
* commit '86ae0ff135456b2b695f49cf40ccc4e8ebc60f51':
  Fix pthread_join.
2013-11-21 08:12:56 -08:00
Christopher Ferris
54b98c638a am 37e5c6ba: am 750668f5: am 862faa12: Merge "Pull in cleaned version.h header."
* commit '37e5c6ba89b9daca67b1c09e2b73b4c6eac805a5':
  Pull in cleaned version.h header.
2013-11-21 08:12:55 -08:00
Christopher Ferris
7dd95f4fc5 am e4bc301a: am da12e64f: am be8344bb: Merge "Modify tests for another glibc difference."
* commit 'e4bc301aa50071d09d268f661be72647a491a8c0':
  Modify tests for another glibc difference.
2013-11-21 08:12:55 -08:00
Elliott Hughes
0a0fb39e8a am a8276f64: am 18368fc8: am f246c589: Merge "Clean up the pthread_create trampoline."
* commit 'a8276f64b203a01d1b393a11dc9c492d1a6557e3':
  Clean up the pthread_create trampoline.
2013-11-21 08:12:54 -08:00
Christopher Ferris
7bbc82d620 am b343d221: am 862c32b4: am e39e3a77: Merge "Add new tests for memory/string routines."
* commit 'b343d221103432f67df366a95c06a69d23ddbd1b':
  Add new tests for memory/string routines.
2013-11-21 08:12:53 -08:00
Elliott Hughes
6442706d42 am 00f25edc: am 5b524852: am 645d4269: Merge "Switch pthread_create over to __bionic_clone."
* commit '00f25edccace521bc4cbc3cfe3d05e8e1a9b6652':
  Switch pthread_create over to __bionic_clone.
2013-11-21 08:12:53 -08:00
Elliott Hughes
0df47ece78 am d5a59aa7: am 1b2d214b: Merge "Clean up forking and cloning."
* commit 'd5a59aa767d4d87738b53995d73461be2778b9ee':
  Clean up forking and cloning.
2013-11-21 08:10:07 -08:00
Narayan Kamath
6e5fda6b6d am 22b8c53e: am 9d70ddc4: Merge "Add test case for 1^NaN"
* commit '22b8c53ef6fffdc83bd730563c30eb8ce93e46df':
  Add test case for 1^NaN
2013-11-21 08:10:04 -08:00
Elliott Hughes
67026112a0 am 8154f010: am 318e86ed: Merge "bionic: call stdio cleanup on exit"
* commit '8154f010a1c017b56ec7de3014e3ddf958f92536':
  bionic: call stdio cleanup on exit
2013-11-21 08:10:03 -08:00
Elliott Hughes
86ae0ff135 am 044d4655: am 303fe0cb: Merge "Fix pthread_join."
* commit '044d4655b7c06c9d5988f7dc604e59f76e098f5d':
  Fix pthread_join.
2013-11-21 08:10:02 -08:00
Christopher Ferris
37e5c6ba89 am 750668f5: am 862faa12: Merge "Pull in cleaned version.h header."
* commit '750668f5abd9813bea6f33cb84d941ae306afea8':
  Pull in cleaned version.h header.
2013-11-21 08:09:59 -08:00
Christopher Ferris
e4bc301aa5 am da12e64f: am be8344bb: Merge "Modify tests for another glibc difference."
* commit 'da12e64f1770deee4f5d0b4c41d5530a98b21073':
  Modify tests for another glibc difference.
2013-11-21 08:09:57 -08:00
Elliott Hughes
a8276f64b2 am 18368fc8: am f246c589: Merge "Clean up the pthread_create trampoline."
* commit '18368fc8e696c54adbd1537bf2d7c5c217210957':
  Clean up the pthread_create trampoline.
2013-11-21 08:09:46 -08:00
Christopher Ferris
b343d22110 am 862c32b4: am e39e3a77: Merge "Add new tests for memory/string routines."
* commit '862c32b4bd73f2348ebd9b1267e2880afcf3be1b':
  Add new tests for memory/string routines.
2013-11-21 08:09:44 -08:00
Elliott Hughes
00f25edcca am 5b524852: am 645d4269: Merge "Switch pthread_create over to __bionic_clone."
* commit '5b5248526b0295e54f51dcc2fec6c1d8e5a3b9e2':
  Switch pthread_create over to __bionic_clone.
2013-11-21 08:09:43 -08:00
Elliott Hughes
b867fd6825 Remove obsolete kernel/arch-mips headers.
Bug: 11559337
Change-Id: I70e205ff1f5acd07fddd7d82367e818b13847acd
2013-11-20 18:09:34 -08:00
Elliott Hughes
70d37e343a am ca045a19: Merge "Switch to upstream sleep(3) and usleep(3)."
* commit 'ca045a19234a9323ea0e7eccbe3aefd74f9c1bab':
  Switch to upstream sleep(3) and usleep(3).
2013-11-20 16:44:59 -08:00
Elliott Hughes
ca045a1923 Merge "Switch to upstream sleep(3) and usleep(3)." 2013-11-21 00:41:30 +00:00
Elliott Hughes
ab61eb366a Switch to upstream sleep(3) and usleep(3).
Also fix the signature of usleep, and the definition of useconds_t which
should be unsigned, as the 'u' in its name implies.

This patch also cleans up the existing FreeBSD hacks by moving the libm
stuff from <sys/cdefs.h> to a libm-private header, and adding comments
about the hacks we use to build FreeBSD source.

Change-Id: Ibe5067a380502df94a0a3a7901969b35411085b6
2013-11-20 16:24:16 -08:00
Elliott Hughes
556c740298 am 39bc7ecd: Merge "Fix <signal.h> for mips uapi."
* commit '39bc7ecd45700e9edac0b29d33cc211383ebb107':
  Fix <signal.h> for mips uapi.
2013-11-20 12:57:19 -08:00
Elliott Hughes
39bc7ecd45 Merge "Fix <signal.h> for mips uapi." 2013-11-20 20:54:03 +00:00
Elliott Hughes
d8482b6c7e Fix <signal.h> for mips uapi.
Bug: 11559337
Change-Id: I4c6080f162d74ee78c81d698c7b50470b0e09586
2013-11-20 12:51:52 -08:00
Elliott Hughes
004ecb39e1 am db1dec1e: Merge "Clean up pthread_internal_t."
* commit 'db1dec1ed4fac8bdb312a53e63ba8afeb3c9dea3':
  Clean up pthread_internal_t.
2013-11-19 17:25:54 -08:00
Elliott Hughes
db1dec1ed4 Merge "Clean up pthread_internal_t." 2013-11-20 01:23:33 +00:00
Elliott Hughes
cef3faec0e Clean up pthread_internal_t.
Bug: 11755300
Change-Id: Ib509e8c5ec6b23513aa78b5ac5141d7c34ce2dc8
2013-11-19 17:22:22 -08:00
Elliott Hughes
5cb66cfdc2 Remove the unused arch-x86 and arch-x86-64 kernel headers.
x86-64 already used uapi headers, and x86 can too now.

Bug: 11559337
Change-Id: I1196d2500f06ad40f2488b96fc8ccc7e02c7d5c0
2013-11-19 16:57:42 -08:00
Christopher Ferris
3c6d1b8876 am 2a34009f: Merge "Add .cfi_startproc/.cfi_endproc to ENTRY/END."
* commit '2a34009f109a504d3623abf75d7087a0d6474e59':
  Add .cfi_startproc/.cfi_endproc to ENTRY/END.
2013-11-19 16:48:20 -08:00
Christopher Ferris
2a34009f10 Merge "Add .cfi_startproc/.cfi_endproc to ENTRY/END." 2013-11-20 00:45:24 +00:00
Christopher Ferris
507cfe2e10 Add .cfi_startproc/.cfi_endproc to ENTRY/END.
Bug: 10414953
Change-Id: I711718098b9f3cc0ba8277778df64557e9c7b2a0
2013-11-19 16:31:24 -08:00
Elliott Hughes
f4e03b0365 am bf652a5f: Merge "Provide <sys/user.h>."
* commit 'bf652a5f5c1249471cb6a60b5bda5ddf1e94a635':
  Provide <sys/user.h>.
2013-11-19 16:25:22 -08:00
Elliott Hughes
bf652a5f5c Merge "Provide <sys/user.h>." 2013-11-20 00:21:29 +00:00
Elliott Hughes
e888de81df Provide <sys/user.h>.
strace wants this, for example.

Change-Id: Icb4d64bde392abbc091fa3375a4fa19b2707b12c
2013-11-19 15:32:31 -08:00
Elliott Hughes
d5a59aa767 am 1b2d214b: Merge "Clean up forking and cloning."
* commit '1b2d214b62ad7bf46f37c79442a69d930aa29027':
  Clean up forking and cloning.
2013-11-19 14:12:38 -08:00
Elliott Hughes
1b2d214b62 Merge "Clean up forking and cloning." 2013-11-19 22:09:54 +00:00
Elliott Hughes
36d6188f8c Clean up forking and cloning.
The kernel now maintains the pthread_internal_t::tid field for us,
and __clone was only used in one place so let's inline it so we don't
have to leave such a dangerous function lying around. Also rename
files to match their content and remove some useless #includes.

Change-Id: I24299fb4a940e394de75f864ee36fdabbd9438f9
2013-11-19 14:08:54 -08:00
Narayan Kamath
22b8c53ef6 am 9d70ddc4: Merge "Add test case for 1^NaN"
* commit '9d70ddc466ed0bdb36908d69b1fe849904150eb7':
  Add test case for 1^NaN
2013-11-19 01:59:28 -08:00
Narayan Kamath
9d70ddc466 Merge "Add test case for 1^NaN" 2013-11-19 09:56:53 +00:00
Elliott Hughes
8154f010a1 am 318e86ed: Merge "bionic: call stdio cleanup on exit"
* commit '318e86ed887e04e593f3db9b84b402d5501ced9b':
  bionic: call stdio cleanup on exit
2013-11-18 20:05:09 -08:00
Elliott Hughes
318e86ed88 Merge "bionic: call stdio cleanup on exit" 2013-11-19 04:01:55 +00:00
Elliott Hughes
044d4655b7 am 303fe0cb: Merge "Fix pthread_join."
* commit '303fe0cb38def66aa438b9caac32e5af298f840a':
  Fix pthread_join.
2013-11-18 19:51:34 -08:00
Elliott Hughes
303fe0cb38 Merge "Fix pthread_join." 2013-11-19 03:49:00 +00:00
Elliott Hughes
877ec6d904 Fix pthread_join.
Let the kernel keep pthread_internal_t::tid updated, including
across forks and for the main thread. This then lets us fix
pthread_join to only return after the thread has really exited.

Also fix the thread attributes of the main thread so we don't
unmap the main thread's stack (which is really owned by the
dynamic linker and contains things like environment variables),
which fixes crashes when joining with an exited main thread
and also fixes problems reported publicly with accessing environment
variables after the main thread exits (for which I've added a new
unit test).

In passing I also fixed a bug where if the clone(2) inside
pthread_create(3) fails, we'd unmap the child's stack and TLS (which
contains the mutex) and then try to unlock the mutex. Boom! It wasn't
until after I'd uploaded the fix for this that I came across a new
public bug reporting this exact failure.

Bug: 8206355
Bug: 11693195
Bug: https://code.google.com/p/android/issues/detail?id=57421
Bug: https://code.google.com/p/android/issues/detail?id=62392
Change-Id: I2af9cf6e8ae510a67256ad93cad891794ed0580b
2013-11-18 19:48:11 -08:00
Pawit Pornkitprasan
652289942d bionic: call stdio cleanup on exit
As of 61e699a133, stdio clean up
functions are no longer registered in atexit and must be called
manually via __cleanup.

The issue this fixes is some static binaries linked against bionic
cannot output properly when piped or redirected because the buffer
is not flushed before closing.

This is done by pulling in exit.c (and other dependencies) from
netbsd.

Change-Id: I193e54a6d08900f291550029fe75ce76394d9e22
2013-11-19 09:49:17 +07:00
Christopher Ferris
750668f5ab am 862faa12: Merge "Pull in cleaned version.h header."
* commit '862faa12928038759e1bbdbc394a7d58b560f128':
  Pull in cleaned version.h header.
2013-11-18 15:29:38 -08:00
Christopher Ferris
862faa1292 Merge "Pull in cleaned version.h header." 2013-11-18 23:26:59 +00:00
Christopher Ferris
da12e64f17 am be8344bb: Merge "Modify tests for another glibc difference."
* commit 'be8344bb068183715f808768341bce7fb69d5a70':
  Modify tests for another glibc difference.
2013-11-18 13:38:12 -08:00
Christopher Ferris
be8344bb06 Merge "Modify tests for another glibc difference." 2013-11-18 21:35:21 +00:00