Elliott Hughes
8623bf7b4d
Merge "Make <sys/param.h> more glibc-like."
2013-12-12 23:38:25 +00:00
Elliott Hughes
c2f082f655
Make <sys/param.h> more glibc-like.
...
In particular, add MAX and MIN, needed by elfutils.
Bug: 11864683
Change-Id: I1b876732cdf68cdf5b930319e5ef5b5647586718
2013-12-12 15:31:35 -08:00
Christopher Ferris
802a0a7285
Add ioprio.h.
...
Change-Id: I153d05c5b6e9d640e319d65acb48b9cb12b6dafb
2013-12-12 15:23:22 -08:00
Elliott Hughes
7b6d74f1a9
am 8d290516
: am 2894204d
: am 5aad083f
: Merge "PTHREAD_KEYS_MAX cleanup."
...
* commit '8d290516620b6ccd9c86fa5d4ad76049e7ea2c04':
PTHREAD_KEYS_MAX cleanup.
2013-12-12 21:08:02 +00:00
Elliott Hughes
1887621de8
PTHREAD_KEYS_MAX cleanup.
...
I fixed this bug a while back, but didn't remove it from the list,
could have added a better test, and could have written clearer code
that didn't require a comment.
Change-Id: Iebdf0f9a54537a7d5cbca254a5967b1543061f3d
2013-12-12 12:51:08 -08:00
Elliott Hughes
e2d10b2a32
am 19e845ec
: am 1336cd6d
: am 38fcbbb3
: Merge "AArch64: Fix mmap64() definition for AArch64, X86_64"
...
* commit '19e845ec73dc2cdb4f2ca11cd6dd56a0c6c0284a':
AArch64: Fix mmap64() definition for AArch64, X86_64
2013-12-12 19:12:16 +00:00
Serban Constantinescu
ed76a9361c
AArch64: Fix mmap64() definition for AArch64, X86_64
...
For 64bit Architectures mmap() is equivalent to mmap64(). This patch
maps mmap64() to mmap() in a similar way to other syscalls that differ
based on the size of off_t and off64_t
Change-Id: If21b21ef71120bad23d9a608d02d4a7de5220a87
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-12 10:41:52 -08:00
Elliott Hughes
034c084e81
am 7105f406
: am 5362e8d2
: am 7bd08153
: Merge "Remove harmful attempts to be helpful in pthread_mutex functions."
...
* commit '7105f40649310177ceef1028a39e428d7cf7a71a':
Remove harmful attempts to be helpful in pthread_mutex functions.
2013-12-11 23:59:42 +00:00
Elliott Hughes
1a6aea8a05
am fcee65c4
: am 200fcb26
: am 73ef27cd
: Merge "Clarify a comment."
...
* commit 'fcee65c4c46481eb953bb3b3502a85a369c29fb4':
Clarify a comment.
2013-12-11 23:05:01 +00:00
Elliott Hughes
dff7203ee9
Remove harmful attempts to be helpful in pthread_mutex functions.
...
Most callers won't check for EINVAL, so it's best to fail early.
GCC takes the nonnull attribute as a guarantee that an argument
won't be NULL, so these hacks were already ineffective, which is
how we found that at least one commercial game was using NULL
as if it's a mutex, but actually getting no-op behavior.
Bug: 11971278
Change-Id: I89646e043d931778805a8b692e07a34d076ee6bf
2013-12-11 14:54:00 -08:00
Robert Greenwalt
feb8dbf3c2
am 7c2ada7f
: am f2e4f8fd
: am 2e359155
: Merge "Fix dns search domain use in gethostbyname."
...
* commit '7c2ada7f98ef640e4adeb7e03062bb2de0a96dd9':
Fix dns search domain use in gethostbyname.
2013-12-11 22:21:07 +00:00
Elliott Hughes
960ee37f2a
Clarify a comment.
...
Change-Id: Iad2e33fb059170f808023ce3d17e9b8c13191f42
2013-12-11 12:41:54 -08:00
Robert Greenwalt
2e3591557f
Merge "Fix dns search domain use in gethostbyname."
2013-12-11 19:32:37 +00:00
Robert Greenwalt
c11f6f0f39
Fix dns search domain use in gethostbyname.
...
Need to load search domain data before we attempt to use it.
bug:6799630
Change-Id: Ib228f4ca260339f71a2e28d5930c0a722bd43c92
2013-12-11 11:30:09 -08:00
Christopher Ferris
a0a8bb060c
am 381bf3f0
: am b3959928
: Merge "Do not clear tids on detached threads."
...
* commit '381bf3f06acef22fd90ac6aced8f0a25ee51f78b':
Do not clear tids on detached threads.
2013-12-09 18:34:28 +00:00
Christopher Ferris
101fb7d963
Do not clear tids on detached threads.
...
Make sure that the kernel isn't going to try and clear the tid of
freed memory.
Bug: 11963327
Change-Id: I95d02340bfbe92f56036d2cc58dbf0e3079eb7c3
2013-12-06 23:00:44 -08:00
Christopher Ferris
9d5f2d72c9
am df4e7ad8
: am 0b4246b5
: Merge "Add cfi directives to all arm assembly."
...
* commit 'df4e7ad88fd3578fc12016f44c754298f5fbd8e8':
Add cfi directives to all arm assembly.
2013-12-03 20:42:00 +00:00
Christopher Ferris
ed45970ac5
Add cfi directives to all arm assembly.
...
Since the ENTRY/END macros now have .cfi_startproc/.cfi_endproc, most of the
custom arm assembly has no unwind information. Adding the proper cfi directives
for these and removing the arm directives.
Update the gensyscalls.py script to add these cfi directives for the generated
assembly. Also fix the references to non-uapi headers to the proper uapi
header.
In addition, remove the kill.S, tkill.S, tgkill.S for arm since they are not
needed at all. The unwinder (libunwind) is able to properly unwind using the
normal abort.
After this change, I can unwind through the system calls again.
Bug: 11559337
Bug: 11825869
Bug: 11321283
Change-Id: I18b48089ef2d000a67913ce6febc6544bbe934a3
2013-12-02 19:13:12 -08:00
Elliott Hughes
d1214a7ec5
am c566f35a
: am ab0b0cdf
: Merge "Finish <sys/user.h>."
...
* commit 'c566f35af462de45d119fb3b024e3db56d76927a':
Finish <sys/user.h>.
2013-11-27 16:55:35 +00:00
Elliott Hughes
867e25105d
am 3b9aba55
: am 98c910fb
: Merge "Fix the order of arguments to sys_clone for x86."
...
* commit '3b9aba55490ad4bc97c17c4a4e9acd51de1d8958':
Fix the order of arguments to sys_clone for x86.
2013-11-27 16:55:34 +00:00
Elliott Hughes
bef09fac15
am cb88d966
: am 6ae2f22d
: Merge "Work around CLONE_SETTLS being weird on x86."
...
* commit 'cb88d966b0b4c643ddd8c108f75478db7aa4f5f9':
Work around CLONE_SETTLS being weird on x86.
2013-11-27 16:55:34 +00:00
Elliott Hughes
15a7a13ecf
am a1d1a46e
: am 1c057607
: Merge "Fix _exit_with_stack_teardown for x86."
...
* commit 'a1d1a46ef635e559bbc4a4548ae28c84102d6f0b':
Fix _exit_with_stack_teardown for x86.
2013-11-27 16:55:34 +00:00
Elliott Hughes
ab797cb4fd
Finish <sys/user.h>.
...
Change-Id: I1d97d7fa3d5be2ff4728571ed5376705a27091ec
2013-11-26 17:57:31 -08:00
Elliott Hughes
99c393dff3
Fix the order of arguments to sys_clone for x86.
...
Unlike x86-64, x86's arguments are just like every other
architecture's.
Change-Id: Ic6da23f2a70599683b68e7e12ab9ba061e0b349c
2013-11-26 16:20:50 -08:00
Elliott Hughes
80906141f7
Work around CLONE_SETTLS being weird on x86.
...
Unlike other architectures, on x86 (but not x86-64), CLONE_SETTLS
takes a pointer to a struct user_desc instead of a pointer to the
TLS itself. Rather than have to deal with this here, let's just use
the old __set_tls mechanism we used to use (and still use for the
main thread on all architectures, so it's not going away any time
soon).
Bug: 11826724
Change-Id: I02a27939a73ae6cea1134a3f4c1dd7eafea479da
2013-11-26 13:57:21 -08:00
Elliott Hughes
9dec707bd6
Fix _exit_with_stack_teardown for x86.
...
Change-Id: Ife8f9c538c86f7c0017143015d5ee849a99b625b
2013-11-26 13:48:24 -08:00
Elliott Hughes
ca80f099a2
Merge "Regenerate the bionic headers to match external/kernel-headers."
2013-11-25 22:19:23 +00:00
Elliott Hughes
1c9d30540e
am 6fcdba7a
: am a98fff25
: Merge "Make <sys/timerfd.h> standalone."
...
* commit '6fcdba7a12eb1fdca200d725d09d27a69ee7b78a':
Make <sys/timerfd.h> standalone.
2013-11-25 14:09:32 -08:00
Elliott Hughes
356a4e4a32
Regenerate the bionic headers to match external/kernel-headers.
...
(This undoes the AOSP-only ion.h hack.)
Bug: 11859767
Change-Id: Id863c70d63b2716ae22cafd7ddb1163bbc7a3d11
2013-11-25 14:09:12 -08:00
Elliott Hughes
ee6b6f167a
am aee38bc0
: am 5a52bd34
: Merge "Regenerate the bionic kernel headers to match external/kernel-headers."
...
* commit 'aee38bc05ff0cd1294d079909c27732249507abd':
Regenerate the bionic kernel headers to match external/kernel-headers.
2013-11-25 14:05:10 -08:00
Elliott Hughes
e96d4bffe5
Make <sys/timerfd.h> standalone.
...
There's no uapi timerfd.h.
Bug: 11559337
Change-Id: I77a4b1365fdcf2c9f18673b11341a165e54b4bbd
2013-11-25 13:58:38 -08:00
Elliott Hughes
c43d16a458
Regenerate the bionic kernel headers to match external/kernel-headers.
...
Bug: 11859767
Change-Id: I3d746188a1c4bdf8db1358521438435d3e63dbac
2013-11-25 13:50:55 -08:00
Christopher Ferris
2884789cfa
am cf8500fd
: am cda0c61d
: am 14d6be45
: Merge "Delete non-uapi headers."
...
* commit 'cf8500fd4359bd026829bdfd0dc4968ed07cc842':
Delete non-uapi headers.
2013-11-24 00:27:51 -08:00
Christopher Ferris
cda0c61dc7
am 14d6be45
: Merge "Delete non-uapi headers."
...
* commit '14d6be45b960f8fbb039bd946e22ce406e8b65c3':
Delete non-uapi headers.
2013-11-24 00:20:23 -08:00
Christopher Ferris
7b29d586bb
am 76115fe9
: am dd1d4f1c
: am 985c3fbb
: Merge "Move arm user.h definitions to sys/user.h."
...
* commit '76115fe9a0a8a2a7f57abcc3fea4e2be079cb2e6':
Move arm user.h definitions to sys/user.h.
2013-11-23 12:41:04 -08:00
Christopher Ferris
59a6012367
am 30aebed9
: am 038919d3
: am 507f95e2
: Merge "Update script to copy in extra generated files."
...
* commit '30aebed98ab66329d62e0884209fd9d04a8b056f':
Update script to copy in extra generated files.
2013-11-23 12:41:04 -08:00
Christopher Ferris
dd1d4f1cfd
am 985c3fbb
: Merge "Move arm user.h definitions to sys/user.h."
...
* commit '985c3fbb3b1dabfa799e2a8c102867349bcb5a76':
Move arm user.h definitions to sys/user.h.
2013-11-23 08:02:04 -08:00
Christopher Ferris
e5a9200534
Delete non-uapi headers.
...
Update headers and delete non-uapi headers that have been removed from
external/kernel-headers project.
Change-Id: I9ed9632a941095fe1bf3b207bafe1151f00de033
2013-11-23 08:01:25 -08:00
Christopher Ferris
985c3fbb3b
Merge "Move arm user.h definitions to sys/user.h."
2013-11-23 15:59:57 +00:00
Christopher Ferris
363390eaff
Move arm user.h definitions to sys/user.h.
...
There is no uapi user.h file for arm, it was included by accident.
Move the user struct definition into the file to follow the pattern
used by the other architectures.
Change-Id: Ib9cea0deca551c9268382ddd6de9202fd32ef941
2013-11-22 18:00:09 -08:00
Christopher Ferris
038919d37c
am 507f95e2
: Merge "Update script to copy in extra generated files."
...
* commit '507f95e22b39fb58b9ffbba38ab593475b926af5':
Update script to copy in extra generated files.
2013-11-22 17:22:10 -08:00
Christopher Ferris
b4091e69f1
Update script to copy in extra generated files.
...
There are files in generated/asm that simply include asm-generic files. The
script now copies any file in generated/asm that also exists in asm-generic.
Change-Id: I075161c68624e9e9e81797224831988ce02220eb
2013-11-22 17:04:34 -08:00
The Android Open Source Project
f00c938c7f
Merge commit '811b0cdb2d6e4a697dbc63a678712759dd0db242' into HEAD
...
Change-Id: I786944f80fb1a2d502fed51dc2c391ed5db66761
2013-11-22 13:38:33 -08:00
Christopher Ferris
bbbf505c1d
am e3bc2254
: am a626e4d8
: am 26f0e54a
: Merge "Script to grab uapi headers from android kernel."
...
* commit 'e3bc2254138e92d1b4746709ec355a5bd43bbccd':
Script to grab uapi headers from android kernel.
2013-11-21 23:00:03 -08:00
Elliott Hughes
6211255a6b
am 68a4187c
: am 50f6b836
: am fa7b48bf
: Merge "Regenerate uapi header files."
...
* commit '68a4187c4a88a885b36412607797e7ca65662968':
Regenerate uapi header files.
2013-11-21 23:00:02 -08:00
Elliott Hughes
3eba84eee0
am 81768e18
: am 5e818b33
: am 880d0e6c
: Merge "Remove hidden __reboot from header"
...
* commit '81768e18bb2e7c29917e1f4c188285c64498f61d':
Remove hidden __reboot from header
2013-11-21 23:00:01 -08:00
Elliott Hughes
6bc95b6906
am 8acd5dd2
: am 84336795
: am eec57b37
: Merge "Add support for the ternary operator to the header scrubber."
...
* commit '8acd5dd2f82ecbf57c275528d5f2e5db0ef60a34':
Add support for the ternary operator to the header scrubber.
2013-11-21 23:00:01 -08:00
Elliott Hughes
5d352e6acd
am 5a2526ac
: am cb478f23
: am d4143c8e
: Merge "Fix useconds_t for LP64."
...
* commit '5a2526ac629802ff22f71d516f7979f1f4a4c34d':
Fix useconds_t for LP64.
2013-11-21 23:00:00 -08:00
Elliott Hughes
57f4718cfc
am 03adedfc
: am a18a01f5
: am 15a64948
: Merge "Remove obsolete kernel/arch-mips headers."
...
* commit '03adedfc3c8d25939d8799ed2ce9292b063d8bc7':
Remove obsolete kernel/arch-mips headers.
2013-11-21 22:59:59 -08:00
Elliott Hughes
15428215c6
am b749a010
: am 8637bb53
: am b135f6e5
: Merge "Remove the unused arch-x86 and arch-x86-64 kernel headers."
...
* commit 'b749a010a3cf6b1544d1e27b360ffcb98ae1cdbc':
Remove the unused arch-x86 and arch-x86-64 kernel headers.
2013-11-21 22:59:59 -08:00
Elliott Hughes
5df692fd4e
am a38dcc02
: am 70d37e34
: am ca045a19
: Merge "Switch to upstream sleep(3) and usleep(3)."
...
* commit 'a38dcc0210ad2f75aac72e2c3bef357bddb7b564':
Switch to upstream sleep(3) and usleep(3).
2013-11-21 20:08:22 -08:00
Christopher Ferris
e3bc225413
am a626e4d8
: am 26f0e54a
: Merge "Script to grab uapi headers from android kernel."
...
* commit 'a626e4d8bc3d59cc328942fc30ffc04981b154ed':
Script to grab uapi headers from android kernel.
2013-11-21 18:43:58 -08:00
Elliott Hughes
68a4187c4a
am 50f6b836
: am fa7b48bf
: Merge "Regenerate uapi header files."
...
* commit '50f6b8363e1429316311450f2a3041040977d67c':
Regenerate uapi header files.
2013-11-21 18:43:57 -08:00
Elliott Hughes
81768e18bb
am 5e818b33
: am 880d0e6c
: Merge "Remove hidden __reboot from header"
...
* commit '5e818b331430c34c42259a1405a75cc4106a27d0':
Remove hidden __reboot from header
2013-11-21 18:43:51 -08:00
Elliott Hughes
8acd5dd2f8
am 84336795
: am eec57b37
: Merge "Add support for the ternary operator to the header scrubber."
...
* commit '843367953f40ee84bcc53e08a60c82215303e1fb':
Add support for the ternary operator to the header scrubber.
2013-11-21 18:43:48 -08:00
Elliott Hughes
5a2526ac62
am cb478f23
: am d4143c8e
: Merge "Fix useconds_t for LP64."
...
* commit 'cb478f23cc3765e3193beaf83fb35dd2d353d301':
Fix useconds_t for LP64.
2013-11-21 18:43:47 -08:00
Elliott Hughes
03adedfc3c
am a18a01f5
: am 15a64948
: Merge "Remove obsolete kernel/arch-mips headers."
...
* commit 'a18a01f553ce5350923c470c144dca87dfc8e992':
Remove obsolete kernel/arch-mips headers.
2013-11-21 18:43:47 -08:00
Elliott Hughes
b749a010a3
am 8637bb53
: am b135f6e5
: Merge "Remove the unused arch-x86 and arch-x86-64 kernel headers."
...
* commit '8637bb5345bce20374ed345490d6de80cb874554':
Remove the unused arch-x86 and arch-x86-64 kernel headers.
2013-11-21 18:43:46 -08:00
Elliott Hughes
a38dcc0210
am 70d37e34
: am ca045a19
: Merge "Switch to upstream sleep(3) and usleep(3)."
...
* commit '70d37e343aa0c8c771e01259377c98958fbfd3ee':
Switch to upstream sleep(3) and usleep(3).
2013-11-21 17:15:03 -08:00
Elliott Hughes
3bc173dfad
am 7c883327
: am 556c7402
: am 39bc7ecd
: Merge "Fix <signal.h> for mips uapi."
...
* commit '7c88332701cc9aa2ed95148bed40f50c54adb36b':
Fix <signal.h> for mips uapi.
2013-11-21 17:12:04 -08:00
Elliott Hughes
7c88332701
am 556c7402
: am 39bc7ecd
: Merge "Fix <signal.h> for mips uapi."
...
* commit '556c740298a07e586c423480328231cfd50966b6':
Fix <signal.h> for mips uapi.
2013-11-21 17:07:47 -08:00
Christopher Ferris
26f0e54ae0
Merge "Script to grab uapi headers from android kernel."
2013-11-21 22:20:14 +00:00
Christopher Ferris
e994d41578
Script to grab uapi headers from android kernel.
...
Change-Id: Ia140e3ab27fbfee6b02f04c085f3e0e351bbe68d
2013-11-21 14:09:54 -08:00
Elliott Hughes
8cb52b056c
Regenerate uapi header files.
...
Change-Id: Idc934ed8ae17aba3300e4022e9b42177b0907e9d
2013-11-21 13:43:23 -08:00
Elliott Hughes
880d0e6c64
Merge "Remove hidden __reboot from header"
2013-11-21 20:37:26 +00:00
Pavel Chupin
811cba00af
Remove hidden __reboot from header
...
This change is required:
https://android-review.googlesource.com/#/c/70570
Change-Id: Idb991f96a424aa5b0f9e06d9fb787fe8c8530750
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-11-22 00:19:34 +04:00
Elliott Hughes
1198fd3864
Add support for the ternary operator to the header scrubber.
...
Used in various uapi headers.
Change-Id: Id0f862d2adc7ddc9727e8a29160d5435f8d547c3
2013-11-21 11:12:34 -08:00
Elliott Hughes
b55bc155f6
am 0b4ca7e3
: am 004ecb39
: am db1dec1e
: Merge "Clean up pthread_internal_t."
...
* commit '0b4ca7e3ce59e6993b47cb7856e74c3c46b44c9b':
Clean up pthread_internal_t.
2013-11-21 10:15:35 -08:00
Christopher Ferris
96a2e56fad
am 47580cc0
: am 3c6d1b88
: am 2a34009f
: Merge "Add .cfi_startproc/.cfi_endproc to ENTRY/END."
...
* commit '47580cc01768dcb67ab152915a2e78a98e36b463':
Add .cfi_startproc/.cfi_endproc to ENTRY/END.
2013-11-21 10:15:34 -08:00
Elliott Hughes
07f35d9596
am 3eb08b0e
: am f4e03b03
: am bf652a5f
: Merge "Provide <sys/user.h>."
...
* commit '3eb08b0e298e5b283add3a6a1abf0026d7cbcd98':
Provide <sys/user.h>.
2013-11-21 10:15:33 -08:00
Elliott Hughes
0b4ca7e3ce
am 004ecb39
: am db1dec1e
: Merge "Clean up pthread_internal_t."
...
* commit '004ecb39e1cc0aed57b6185d4adf015b61b2d0c6':
Clean up pthread_internal_t.
2013-11-21 10:12:26 -08:00
Christopher Ferris
47580cc017
am 3c6d1b88
: am 2a34009f
: Merge "Add .cfi_startproc/.cfi_endproc to ENTRY/END."
...
* commit '3c6d1b887692ecc7198e5292d49e3635b68fa95c':
Add .cfi_startproc/.cfi_endproc to ENTRY/END.
2013-11-21 10:12:25 -08:00
Elliott Hughes
3eb08b0e29
am f4e03b03
: am bf652a5f
: Merge "Provide <sys/user.h>."
...
* commit 'f4e03b03656527caf88b9e582ab5ca19ae697700':
Provide <sys/user.h>.
2013-11-21 10:12:24 -08:00
Elliott Hughes
d4143c8e4c
Merge "Fix useconds_t for LP64."
2013-11-21 17:05:04 +00:00
Elliott Hughes
15a6494856
Merge "Remove obsolete kernel/arch-mips headers."
2013-11-21 17:04:44 +00:00
Elliott Hughes
b135f6e58c
Merge "Remove the unused arch-x86 and arch-x86-64 kernel headers."
2013-11-21 17:04:24 +00:00
Elliott Hughes
9c67d4307c
Fix useconds_t for LP64.
...
Change-Id: I869e60484999c1feda3dcdb86bee5b5373e6b3df
2013-11-21 08:55:46 -08:00
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
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
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
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
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
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
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
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
d8482b6c7e
Fix <signal.h> for mips uapi.
...
Bug: 11559337
Change-Id: I4c6080f162d74ee78c81d698c7b50470b0e09586
2013-11-20 12:51:52 -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
507cfe2e10
Add .cfi_startproc/.cfi_endproc to ENTRY/END.
...
Bug: 10414953
Change-Id: I711718098b9f3cc0ba8277778df64557e9c7b2a0
2013-11-19 16:31:24 -08: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
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
Elliott Hughes
318e86ed88
Merge "bionic: call stdio cleanup on exit"
2013-11-19 04:01:55 +00: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
e372ec8cf9
Pull in cleaned version.h header.
...
Change-Id: Ia917af9336b63ed5a10147770a8110134cb274cb
2013-11-15 16:29:28 -08:00
Elliott Hughes
e48b68570d
Clean up the pthread_create trampoline.
...
Bug: 8206355
Bug: 11693195
Change-Id: I35cc024d5b6ebd19d1d2e45610db185addaf45df
2013-11-15 14:57:45 -08:00
Elliott Hughes
70b24b1cc2
Switch pthread_create over to __bionic_clone.
...
Bug: 8206355
Bug: 11693195
Change-Id: I04aadbc36c87e1b7e33324b9a930a1e441fbfed6
2013-11-15 14:41:19 -08:00
Elliott Hughes
24cbf1991a
am 04b4339a
: am 60a67a0c
: am 05ec00bf
: Merge "[MIPS] Reimplement syscall to invoke the system call directly"
...
* commit '04b4339ad5396690329877df10fbe568bd4dd600':
[MIPS] Reimplement syscall to invoke the system call directly
2013-11-14 17:09:48 -08:00
Elliott Hughes
04b4339ad5
am 60a67a0c
: am 05ec00bf
: Merge "[MIPS] Reimplement syscall to invoke the system call directly"
...
* commit '60a67a0c7e44dfc47b9b4271ea4ae2dbf336849a':
[MIPS] Reimplement syscall to invoke the system call directly
2013-11-14 17:07:13 -08:00
Chris Dearman
effaa7824d
[MIPS] Reimplement syscall to invoke the system call directly
...
Some MIPS kernels do not correctly restart interrupted system calls that
have been invoked using the indirect syscall (NR_syscall).
The simplest workaround is to handle the indirection in userland and then
call the required system call directly.
Change-Id: I8385399621529db9a52b463c96925f6decaaca30
2013-11-14 16:53:15 -08:00
Elliott Hughes
ad7e42d6bd
am 1b782289
: am 5a70acd1
: am ae5c3dd7
: Merge "Remove the mips regdef.h and fpregdef.h old kernel headers."
...
* commit '1b782289f4f89434693e3e906df9c9cf43b4d277':
Remove the mips regdef.h and fpregdef.h old kernel headers.
2013-11-13 18:47:59 -08:00
Elliott Hughes
1b782289f4
am 5a70acd1
: am ae5c3dd7
: Merge "Remove the mips regdef.h and fpregdef.h old kernel headers."
...
* commit '5a70acd176a792868a61c94169d5e6c0679202f2':
Remove the mips regdef.h and fpregdef.h old kernel headers.
2013-11-13 16:28:37 -08:00
Elliott Hughes
007eced93b
Remove the mips regdef.h and fpregdef.h old kernel headers.
...
Bug: 11559337
Change-Id: I6352cac9c4ef425cb21e34d0299223711ec079af
2013-11-13 16:13:01 -08:00
Elliott Hughes
5ebfaf84df
am 5c56512e
: am cdd6fdec
: am 6768c1ee
: Merge "Add a temporary uapi/linux/compiler.h until upstream has one."
...
* commit '5c56512eebc14558a2b3b83cdca09f04084d609c':
Add a temporary uapi/linux/compiler.h until upstream has one.
2013-11-08 16:03:52 -08:00
Elliott Hughes
41392e2802
am e9664fea
: am 5b6290bc
: am ff5b0fc8
: Merge "Remove the dependency on the non-uapi __kernel_nlink_t."
...
* commit 'e9664fea54d21f765c906006db27b8e275c4a198':
Remove the dependency on the non-uapi __kernel_nlink_t.
2013-11-08 16:03:51 -08:00
Elliott Hughes
5c56512eeb
am cdd6fdec
: am 6768c1ee
: Merge "Add a temporary uapi/linux/compiler.h until upstream has one."
...
* commit 'cdd6fdec6c8175b4b9f132a2b11c1fc5f20e8869':
Add a temporary uapi/linux/compiler.h until upstream has one.
2013-11-08 15:25:38 -08:00
Elliott Hughes
e9664fea54
am 5b6290bc
: am ff5b0fc8
: Merge "Remove the dependency on the non-uapi __kernel_nlink_t."
...
* commit '5b6290bcfb47ffb27a66450c9cc3258021e259fa':
Remove the dependency on the non-uapi __kernel_nlink_t.
2013-11-08 15:17:19 -08:00
Elliott Hughes
740531354e
Add a temporary uapi/linux/compiler.h until upstream has one.
...
Bug: 11559337
Change-Id: I205974b1a26e4f85d0e11503afa80669195d211c
2013-11-08 15:13:54 -08:00
Elliott Hughes
2ecc164ae9
Remove the dependency on the non-uapi __kernel_nlink_t.
...
The kernel doesn't have an nlink_t; it just uses the equivalent of
uint32_t. We already had a usable __nlink_t in the C library, so
let's just define our nlink_t in terms of __nlink_t, which is what
__nlink_t was meant for anyway.
Note that our struct stat just follows the kernel, and doesn't refer
to nlink_t anyway.
Change-Id: I2a56e418e42404b1741b08c50554b03c11caebae
2013-11-08 14:38:12 -08:00
Elliott Hughes
0538d38a30
am 26d8853a
: am cac7eec5
: am 68723453
: Merge "Generate the uapi headers for mips and x86/x86_64."
...
* commit '26d8853ab5d3c42654a90bf31e54bb851f3b083c':
Generate the uapi headers for mips and x86/x86_64.
2013-11-08 14:28:57 -08:00
Elliott Hughes
26d8853ab5
am cac7eec5
: am 68723453
: Merge "Generate the uapi headers for mips and x86/x86_64."
...
* commit 'cac7eec55a4853abfcd5b8d7bce35d79ab330132':
Generate the uapi headers for mips and x86/x86_64.
2013-11-08 14:23:38 -08:00
Elliott Hughes
abd626117c
Generate the uapi headers for mips and x86/x86_64.
...
Bug: 11559337
Change-Id: I23b1a43e7bfa8fa6f9df7e59d2e731a0ec52dafc
2013-11-08 11:46:03 -08:00
Elliott Hughes
fae1b3d1a2
am b92de381
: am 99a38fcf
: am 486c8616
: Merge "Prepare to switch to the uapi <linux/signal.h>."
...
* commit 'b92de38170e3d3aeb2b05449909fb76c96954062':
Prepare to switch to the uapi <linux/signal.h>.
2013-11-07 15:13:24 -08:00
Elliott Hughes
693cd7ff65
am 81c24a1a
: am c9c84992
: am 266eb4a4
: Merge "Stop using the non-uapi <linux/err.h> header file."
...
* commit '81c24a1a49ada6fa86ea51070a6202fce7036f36':
Stop using the non-uapi <linux/err.h> header file.
2013-11-07 15:12:59 -08:00
Elliott Hughes
b92de38170
am 99a38fcf
: am 486c8616
: Merge "Prepare to switch to the uapi <linux/signal.h>."
...
* commit '99a38fcf33d220524e41979a3f9d842399fd638d':
Prepare to switch to the uapi <linux/signal.h>.
2013-11-07 12:45:33 -08:00
Elliott Hughes
61fb3fc770
Prepare to switch to the uapi <linux/signal.h>.
...
<time.h> didn't need to copy the cruft from <signal.h>, and
<signal.h> only needs the uid_t hack when it's not using
uapi headers.
pthread_exit.cpp should include what it uses.
Change-Id: I836c36abe0f0a781d41fc425b249d1c7686bb124
2013-11-07 12:29:07 -08:00
Elliott Hughes
81c24a1a49
am c9c84992
: am 266eb4a4
: Merge "Stop using the non-uapi <linux/err.h> header file."
...
* commit 'c9c84992fb9ccbf32580c93967356383f58d9687':
Stop using the non-uapi <linux/err.h> header file.
2013-11-07 10:48:29 -08:00
Elliott Hughes
ed74484dcb
Stop using the non-uapi <linux/err.h> header file.
...
We only need it for MAX_ERRNO, and it's time we had somewhere to put
the little assembler utility macros we've been putting off writing.
Change-Id: I9354d2e0dc47c689296a34b5b229fc9ba75f1a83
2013-11-07 10:31:05 -08:00
Rom Lemarchand
d1cd2392c9
Merge "Refresh libc/kernel/common/linux/ion.h"
2013-11-07 13:29:57 +00:00
Elliott Hughes
2a6e13064f
am 6fc4a1cd
: am a034e1d3
: Merge "Remove pathconf\'s dependencies on non-uapi header files."
...
* commit '6fc4a1cd3aecca409766e82d333f9cb127a85593':
Remove pathconf's dependencies on non-uapi header files.
2013-11-06 17:38:12 -08:00
Elliott Hughes
07ddeb0901
am dc9b54c1
: am f945732e
: Merge "Fix a TODO; we\'ve had SOCK_CLOEXEC for a while now."
...
* commit 'dc9b54c11c3b20fe5d1dc5c591ff058788e7b376':
Fix a TODO; we've had SOCK_CLOEXEC for a while now.
2013-11-06 17:21:35 -08:00
Elliott Hughes
7250d2e5b4
Remove pathconf's dependencies on non-uapi header files.
...
Change-Id: I597996e4b141b009916f7ad2866dd100e08aa4d3
2013-11-06 17:21:09 -08:00
Elliott Hughes
a4e281a549
am 76833a7c
: am 9e63e03d
: Merge "Clean up the 32-bit kernel support, fix LP64 fcntl declaration."
...
* commit '76833a7c575ca372b41cb6e2a964918d69fc0dbe':
Clean up the 32-bit kernel support, fix LP64 fcntl declaration.
2013-11-06 17:07:35 -08:00
Elliott Hughes
9be07fa527
Fix a TODO; we've had SOCK_CLOEXEC for a while now.
...
Change-Id: I4bc39b57f3c33441ead74127f576bf5a4e311566
2013-11-06 17:04:56 -08:00
Elliott Hughes
9e63e03d34
Merge "Clean up the 32-bit kernel support, fix LP64 fcntl declaration."
2013-11-07 01:02:55 +00:00
Elliott Hughes
062092543f
Clean up the 32-bit kernel support, fix LP64 fcntl declaration.
...
In practice, thanks to all the registers the stubs don't actually change,
but it's confusing to have an incorrect declaration.
I suspect that fcntl remains broken for aarch64; it happens to work for
x86_64 because the first vararg argument gets placed in the right register
anyway, but I have no reason to believe that's true for aarch64.
This patch adds a unit test, though, so we'll be able to tell when we get
as far as running the unit tests.
Change-Id: I58dd0054fe99d7d51d04c22781d8965dff1afbf3
2013-11-06 16:33:39 -08:00
Ben Cheng
64aca718ee
am 99205dc9
: am af10f9e9
: Merge "Add processed uapi kernel headers for ARM."
...
* commit '99205dc987735e1d57f2e1b8446448f655808ab5':
Add processed uapi kernel headers for ARM.
2013-11-06 16:10:15 -08:00
Elliott Hughes
c606294b93
am 3721a7e7
: am 7115c802
: Merge "Fix pread/pwrite for LP64."
...
* commit '3721a7e71fc831f6d58b7253627043d0658ad977':
Fix pread/pwrite for LP64.
2013-11-06 16:10:14 -08:00
Elliott Hughes
a047e0ab51
am afc51b92
: am c4dbc16e
: Merge "Make cpp.py less braindead."
...
* commit 'afc51b92a0e531f05e0e5477ea857a8669e5e5d1':
Make cpp.py less braindead.
2013-11-06 16:10:12 -08:00
Ben Cheng
af10f9e927
Merge "Add processed uapi kernel headers for ARM."
2013-11-06 23:55:25 +00:00
Ben Cheng
a6b53f03c7
Add processed uapi kernel headers for ARM.
...
Change-Id: Id34de841b7b4b5a1bf7d22eb793860f92f24a6e5
2013-11-06 15:51:05 -08:00
Elliott Hughes
8fbf8deb34
Fix pread/pwrite for LP64.
...
Unlike on 32-bit systems where off_t is 32-bit, we don't want to
throw away the top 32 bits of an LP64 system's 64-bit off_t.
Change-Id: Ib2e0daeb4fc0b8ab3d1b983d0b371d8f81033b50
2013-11-06 13:10:37 -08:00
Elliott Hughes
40596aa005
Make cpp.py less braindead.
...
The old code ignored operator precedence (!), despite having two tables
of operator precedence. The code's still pretty awful, but I've cleaned
it up enough to fix this, the most important bug.
This patch lets us correctly clean the uapi unistd.h, stat.h, and swab.h files,
and also fixes the mess we were already making of various old kernel
header files. I've added a bunch more tests, fixed the existing tests that
the existing script was already failing (!), and changed the script so that
the tests are run every time the script is run.
We can probably remove some of the old kernel header files that we were
parsing incorrectly, but we can worry about that later.
Bug: 11253477
Change-Id: Ie66c65b3a7ae13b4e98ed8038a6a534f06eae0e5
2013-11-06 12:04:48 -08:00
Rom Lemarchand
ea699f0cf4
Refresh libc/kernel/common/linux/ion.h
...
Change-Id: Ibd2bf99224b31bbad7b3a9b0d82bfef19162db7b
2013-11-06 09:55:03 -08:00
Elliott Hughes
c76ba85e16
am ffe06880
: am f1258672
: Merge "Fix <sys/select.h> for LP64, clean up <time.h>."
...
* commit 'ffe068808909c9825807dbaf8679b9f9efc2c690':
Fix <sys/select.h> for LP64, clean up <time.h>.
2013-11-05 14:01:49 -08:00
Elliott Hughes
3503ce2177
Fix <sys/select.h> for LP64, clean up <time.h>.
...
The 64-bit uapi headers don't define FD_CLR and friends, so this
patch updates libc/kernel/common/linux/time.h after the change
b934bbec145e9e084bf48149a3a94ae3dd132157 in external/kernel-headers,
then fixes <sys/select.h> to work in this new world, and removes
some now-unnecessary duplication from <time.h> (with other cruft
cleaned up while I'm here).
Change-Id: Ifd26f901b4d200c65065b3e6ef1b74055127e052
2013-11-05 13:28:36 -08:00
Elliott Hughes
a0352c60ec
am 3c5d651c
: am 9b9f0d0c
: Merge "Remove unnecessary #include."
...
* commit '3c5d651c051e56e7fb48214e334600cd3f361460':
Remove unnecessary #include.
2013-11-05 12:06:58 -08:00
Elliott Hughes
6fa79c5cf5
Remove unnecessary #include.
...
Change-Id: I99dade0b3803272ee29eba2ad36b0311f8a24c31
2013-11-05 11:59:06 -08:00
Elliott Hughes
748ad3d3f5
am 00889af0
: am 943cc1b5
: Merge "Refresh libc/kernel/common/linux/uinput.h"
...
* commit '00889af038359e0a7e97384bad25a809e8887857':
Refresh libc/kernel/common/linux/uinput.h
2013-10-31 16:07:39 -07:00
Scott Anderson
126f66a601
Refresh libc/kernel/common/linux/uinput.h
...
Change-Id: Icd830af5aee63276554ebf7bfe8192965209cc59
Signed-off-by: Scott Anderson <saa@google.com>
2013-10-31 15:45:32 -07:00
Elliott Hughes
8441e0312c
am 61ec6a62
: am cc9b7456
: Merge "Move the pthread debugging flags to the right place."
...
* commit '61ec6a621c699d68246a3dfe724fa13f0555ecf4':
Move the pthread debugging flags to the right place.
2013-10-31 14:26:46 -07:00
Elliott Hughes
66759d6041
Move the pthread debugging flags to the right place.
...
Change-Id: Ie805bd837d1f72cdf1818e056c0baeb0857e4e84
2013-10-31 14:09:39 -07:00
Elliott Hughes
26e9e3c76a
am 1658691e
: am 0360e3ab
: Merge "<pthread.h> fixes and pthread cleanup."
...
* commit '1658691e0cfe2eb221bee837649de1907a579a0b':
<pthread.h> fixes and pthread cleanup.
2013-10-31 13:43:18 -07:00
Elliott Hughes
c3f114037d
<pthread.h> fixes and pthread cleanup.
...
<pthread.h> was missing nonnull attributes, noreturn on pthread_exit,
and had incorrect cv qualifiers for several standard functions.
I've also marked the non-standard stuff (where I count glibc rather
than POSIX as "standard") so we can revisit this cruft for LP64 and
try to ensure we're compatible with glibc.
I've also broken out the pthread_cond* functions into a new file.
I've made the remaining pthread files (plus ptrace) part of the bionic code
and fixed all the warnings.
I've added a few more smoke tests for chunks of untested pthread functionality.
We no longer need the libc_static_common_src_files hack for any of the
pthread implementation because we long since stripped out the rest of
the armv5 support, and this hack was just to ensure that __get_tls in libc.a
went via the kernel if necessary.
This patch also finishes the job of breaking up the pthread.c monolith, and
adds a handful of new tests.
Change-Id: Idc0ae7f5d8aa65989598acd4c01a874fe21582c7
2013-10-31 12:31:16 -07:00
Elliott Hughes
b0b2e29d4e
am 9be24f71
: am d0d0b52d
: Merge "Remove an obsolete ARM gdb hack."
...
* commit '9be24f71604d4e667bf23d77bb953a29737b3f2d':
Remove an obsolete ARM gdb hack.
2013-10-30 14:42:59 -07:00
Elliott Hughes
b5b97f20a8
Remove an obsolete ARM gdb hack.
...
Experiment shows that the claim in the makefile was false: gdb works fine
setting breakpoints in these functions when compiled without special treatment.
Change-Id: Ibdf4dd5a14d171c954b8c2089daaf28e1c310be9
2013-10-30 14:32:42 -07:00
Elliott Hughes
0f3973bdb5
am 6cf34775
: am 47a73363
: Merge "Factor out some of the makefile cruft."
...
* commit '6cf34775513859dd48b986162e761aff57df82fb':
Factor out some of the makefile cruft.
2013-10-29 19:18:56 -07:00
Elliott Hughes
8695949391
am ee99ebbc
: am 7a8e20c9
: Merge "Explain the sigprocmask in pthread_exit."
...
* commit 'ee99ebbc8f0447880f316a10b2249f813f964172':
Explain the sigprocmask in pthread_exit.
2013-10-29 18:31:06 -07:00
Elliott Hughes
2f287bc728
Factor out some of the makefile cruft.
...
I really don't want to add yet another copy for aarch64.
Also sort arm, mips, and x86.
Also silence the "TARGET_ARCH_VARIANT" warning for non-ARM; Intel and MIPS
have both complained about it.
Change-Id: I32c592a90c0cf0cdae250d84035b3e4655543781
2013-10-29 16:59:54 -07:00
Elliott Hughes
2b6e43e00e
Explain the sigprocmask in pthread_exit.
...
Also remove the SIGSEGV special case, which was probably because
hand-written __exit_with_stack_teardown stubs used to try to cause
SIGSEGV if the exit system call returned (which it never does, so
that dead code disappeared).
Also move the sigprocmask into the only case where it's necessary ---
the one where we unmap the stack that would be used by a signal
handler.
Change-Id: Ie40d20c1ae2f5e7125131b6b492cba7a2c6d08e9
2013-10-29 16:11:06 -07:00
Elliott Hughes
5abb9b15d1
am 3030157f
: am 8e6e7cda
: Merge "Update <sys/exec_elf.h> to include EM_AARCH64."
...
* commit '3030157f82e012612ef4c6d999878be2f65116dd':
Update <sys/exec_elf.h> to include EM_AARCH64.
2013-10-29 08:57:41 -07:00
Elliott Hughes
126405039e
Update <sys/exec_elf.h> to include EM_AARCH64.
...
Upstream added the constant for us.
Change-Id: I197e32d2e5b3fd499d069546ccfcc1d35d65e0a0
2013-10-28 21:28:40 -07:00
Elliott Hughes
bb9a819857
am e89d16d2
: am 6e504fda
: Merge "AArch64: Add support for AArch64 to stdlib/strtod.c"
...
* commit 'e89d16d24bb9d07856c7cc95464bfae970f4e847':
AArch64: Add support for AArch64 to stdlib/strtod.c
2013-10-28 16:36:46 -07:00
Elliott Hughes
8d7297538c
am d4e28c23
: am 830de5cb
: Merge "AArch64: Autogenerated syscalls for AArch64"
...
* commit 'd4e28c236b592a4968bff354ad7ad192d5a3f36d':
AArch64: Autogenerated syscalls for AArch64
2013-10-28 16:25:47 -07:00
Serban Constantinescu
65ca282ecd
AArch64: Add support for AArch64 to stdlib/strtod.c
...
This patch adds support for AArch64 to strtod.c definitions.
Change-Id: I9491c4371d921c00e73ae169877a9a71225731fb
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-28 16:24:51 -07:00
Elliott Hughes
61f8f7b510
am 48e0ee8a
: am 93b7b819
: Merge "AArch64: Add support for AArch64 to the syscall interface"
...
* commit '48e0ee8a0900e820b2fb1bae6347e0d39da62096':
AArch64: Add support for AArch64 to the syscall interface
2013-10-28 16:22:26 -07:00
Elliott Hughes
87de1a0154
am 5911e25b
: am 07d3c6ce
: Merge "Fix the *rand48 functions on LP64."
...
* commit '5911e25bfc8ef3815d0e1ab4f5829ff74a523088':
Fix the *rand48 functions on LP64.
2013-10-28 16:19:02 -07:00
Serban Constantinescu
7f8863dc07
AArch64: Autogenerated syscalls for AArch64
...
This patch adds AArch64 syscalls, autogenerated using:
./libc/tools/gensyscalls.py
Change-Id: I1cc60430423ecb52a35448bf2c358b82136b2f16
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-28 16:18:42 -07:00
Serban Constantinescu
feaa89a1bc
AArch64: Add support for AArch64 to the syscall interface
...
This patch adds support for AArch64 to the syscall interface. The kernel
implementation exports a set of canonical syscalls, therefore some of
the userspace exported syscalls are implemented as stubs based on the
canonical set.
Change-Id: Ia965d71e97769b8be9d7655193fc40303964c4df
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-28 16:16:34 -07:00
Elliott Hughes
60fd3450bf
Fix the *rand48 functions on LP64.
...
I reported the mrand48 bug upstream, and 'matt' fixed the whole family
of functions!
Change-Id: I07fbc034e86499ce89599c3026a741738fd0cfc0
2013-10-28 15:24:26 -07:00
Elliott Hughes
85d8536f34
am 6ec070a0
: am 020bcdae
: Merge "Update <sys/exec_elf.h> to get the DF_* flags."
...
* commit '6ec070a01509c3477be6d36cd46b81c9b3876733':
Update <sys/exec_elf.h> to get the DF_* flags.
2013-10-28 15:06:58 -07:00
Elliott Hughes
74ce45972d
Update <sys/exec_elf.h> to get the DF_* flags.
...
Change-Id: Ia9e785f6b95122f94ee3b01a312db1d5bb91a72e
2013-10-28 14:59:41 -07:00
Elliott Hughes
92c6e988cd
am 224aee2f
: am 486d99f0
: Merge "Don\'t allow text relocations on 64-bit."
...
* commit '224aee2f5cebcccf832c8a204163192bc752c5a1':
Don't allow text relocations on 64-bit.
2013-10-28 14:41:45 -07:00
Elliott Hughes
e4d792adb8
Don't allow text relocations on 64-bit.
...
I've also updated our <sys/exec_elf.h> to match upstream.
Change-Id: I52f9fce3167541811208d273ff23ceaa112f7135
2013-10-28 14:34:56 -07:00
Elliott Hughes
d1c7766aea
am e9f6c480
: am 3ec5d895
: Merge "Fix utime/utimes when passed a NULL pointer."
...
* commit 'e9f6c4800816df3acec0d5683667b5aac290f049':
Fix utime/utimes when passed a NULL pointer.
2013-10-28 13:34:32 -07:00
Elliott Hughes
27586ebe1a
Fix utime/utimes when passed a NULL pointer.
...
Bug: 11383777
Change-Id: If944a42f3adfa8a6ce91c167c249e009ed63300a
2013-10-28 13:21:06 -07:00
Elliott Hughes
7ef84c7d3d
am d9916301
: am f7f6b268
: Merge "Upgrade to tzdata2013h."
...
* commit 'd9916301a926c925439efa3cd1bba53e49f10dfc':
Upgrade to tzdata2013h.
2013-10-28 10:03:20 -07:00
Elliott Hughes
3df3879bd6
Upgrade to tzdata2013h.
...
From the release notes:
Changes affecting current and future time stamps:
Libya has switched its time zone back to UTC+2 without DST,
instead of UTC+1 with DST. (Thanks to Even Scharning.)
Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules.
(Thanks to Gwillim Law.)
Changes affecting future time stamps:
Acre and (we guess) western Amazonas will switch from UTC-4 to UTC-5
on 2013-11-10. This affects America/Rio_Branco and America/Eirunepe.
(Thanks to Steffen Thorsen.)
Add entries for DST transitions in Morocco in the year 2038.
This avoids some year-2038 glitches introduced in 2013g.
(Thanks to Yoshito Umaoka for reporting the problem.)
Change-Id: Ic855df19773e3fbf13b941b5bfa91dcee9e181e1
2013-10-28 09:38:00 -07:00
Elliott Hughes
5332746383
am 155f5c5f
: am ad8fb26a
: Merge "Fix the exit syscall stub\'s name."
...
* commit '155f5c5ff9a86ed5319570ae13cc9a061930b0cb':
Fix the exit syscall stub's name.
2013-10-25 09:29:38 -07:00
Elliott Hughes
6b53c2349a
Fix the exit syscall stub's name.
...
I've left the exit_group syscall as _exit because otherwise we'd have to
convince the compiler that our _exit (which just calls __exit_group) is
actually "noreturn", and it seems like that would be less clean than just
cutting out the middleman.
We'll just have to trust ourselves not to add anything to SYSCALLS.TXT
that ought to be private but that only has a single leading underscore.
Hopefully we can manage that.
Change-Id: Iac47faea9f516186e1774381846c54cafabc4354
2013-10-24 22:41:50 -07:00
Elliott Hughes
de2df5421d
am fa262c13
: am bbefbf1a
: Merge "Use hidden visibility for generated stubs whose names begin with underscores."
...
* commit 'fa262c13d9115cd84545ad4a0898d18770702e15':
Use hidden visibility for generated stubs whose names begin with underscores.
2013-10-24 17:26:22 -07:00
Elliott Hughes
0a9d0db6b3
am c2404f6c
: am d60a625d
: Merge "Start moving 32-bit cruft somewhere it won\'t pollute 64-bit."
...
* commit 'c2404f6c1d29a47c0bc6cdf510c91e43f8a1e424':
Start moving 32-bit cruft somewhere it won't pollute 64-bit.
2013-10-24 17:22:35 -07:00
Elliott Hughes
bbefbf1a75
Merge "Use hidden visibility for generated stubs whose names begin with underscores."
2013-10-25 00:20:24 +00:00
Elliott Hughes
567a8de3ca
Start moving 32-bit cruft somewhere it won't pollute 64-bit.
...
Change-Id: I03a6a50a5243f29e50fb58a3cf8b5e7198640baa
2013-10-24 17:14:55 -07:00
Elliott Hughes
fff6e272e9
Use hidden visibility for generated stubs whose names begin with underscores.
...
Change-Id: Idb39fd04b7a14114801624e744e76e0e7913d951
2013-10-24 17:03:20 -07:00
Elliott Hughes
c55f980d23
am 4b832714
: am 97288549
: Merge "Let the compiler worry about implementing ffs(3)."
...
* commit '4b83271437727fcc2b2400b5c81dc4d3cbb7391e':
Let the compiler worry about implementing ffs(3).
2013-10-24 16:41:34 -07:00
Elliott Hughes
bf425680e4
Let the compiler worry about implementing ffs(3).
...
It does at least as good a job as our old hand-written assembly anyway.
Change-Id: If7c4a1ac508bace0b71ee7b67808caa6eabf11d2
2013-10-24 16:29:40 -07:00
Elliott Hughes
557a5e08c6
am e4ab1b67
: am f8dfb6f2
: Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls."
...
* commit 'e4ab1b6795e325fe346c792e6254592a8db16d4e':
Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.
2013-10-24 15:56:17 -07:00
Elliott Hughes
f8dfb6f249
Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls."
2013-10-24 22:49:49 +00:00
Elliott Hughes
11952073af
Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.
...
(aarch64 kernels don't have these system calls.)
Change-Id: I6f64075aa412f71520f2df71c3d69b647f91c1ca
2013-10-24 15:48:32 -07:00
Ben Cheng
112b7088e7
am 8b113f75
: am fcb37b87
: Merge "Add __EXPORTED_HEADERS__ as predefined macro."
...
* commit '8b113f75b3e3835da00d0af61f033410fc29a8ca':
Add __EXPORTED_HEADERS__ as predefined macro.
2013-10-23 15:54:04 -07:00
Ben Cheng
fcb37b876e
Merge "Add __EXPORTED_HEADERS__ as predefined macro."
2013-10-23 22:47:21 +00:00
Ben Cheng
460fa7033b
Add __EXPORTED_HEADERS__ as predefined macro.
...
To weed out stuff like this in uapi/linux/types.h
ifndef __EXPORTED_HEADERS__
warning "Attempt to use kernel headers from user space, see
http://kernelnewbies.org/KernelHeaders "
endif /* __EXPORTED_HEADERS__ */
Change-Id: I6506cea6248f7a3b44a839b98e91bdd0d3a6c4cd
2013-10-23 14:44:38 -07:00
Elliott Hughes
977f91f5bf
am ae61f49b
: am cdac5f73
: Merge "MIPS\' pipe(2) is weird, but MIPS\' pipe2(2) is the same as everyone else\'s."
...
* commit 'ae61f49b130e65997750f4ffb84f22512e055c5f':
MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's.
2013-10-23 11:33:24 -07:00
Elliott Hughes
c410e75c68
am 0e1faa2e
: am 1370854c
: Merge "Fix header file dependencies."
...
* commit '0e1faa2e00a4f1d4508b26a6411ac1daa1ce8b6d':
Fix header file dependencies.
2013-10-23 11:33:23 -07:00
Elliott Hughes
cdac5f73ac
Merge "MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's."
2013-10-23 18:27:35 +00:00
Elliott Hughes
93de3d881d
Fix header file dependencies.
...
MIPS' asm/fcntl.h assumes a bunch of __kernel_* types are already declared.
Change-Id: Iff701bbb5ede9667a78230c2de3a8f4fe41371c5
2013-10-23 11:25:54 -07:00
Elliott Hughes
b8cf18b4dd
MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's.
...
arch/mips/kernel/syscall.c has a special sysm_pipe wrapper, but there's
no special treatment of pipe2 because it carries no historical baggage.
Change-Id: I892c0f690b21992c8a48276a9b732126f18fc0ee
2013-10-23 11:21:36 -07:00
Elliott Hughes
623fcf1e98
am db7f8eb0
: am 97dc3309
: Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls."
...
* commit 'db7f8eb011db18c69ec872823906e5f9660deaf7':
Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls.
2013-10-23 10:34:03 -07:00
Elliott Hughes
cac7b9d6ec
Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls.
...
(aarch64 kernels only have the newer system calls.)
Also expose the new functionality that's exposed by glibc in our header files.
Change-Id: I45d2d168a03f88723d1f7fbf634701006a4843c5
2013-10-23 09:48:29 -07:00
Elliott Hughes
e514d2fe66
resolved conflicts for merge of 1dbf56aa
to klp-dev-plus-aosp
...
Change-Id: Ia1d1467065320941d6dc3a50f7ea85eb4dbf3841
2013-10-22 16:41:42 -07:00
Elliott Hughes
f8fcfbc85a
Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls.
...
Modern architectures only get the *at(2) system calls. For example,
aarch64 doesn't have open(2), and expects userspace to use openat(2)
instead.
Change-Id: I87b4ed79790cb8a80844f5544ac1a13fda26c7b5
2013-10-22 16:31:01 -07:00