Compare commits

..

937 Commits

Author SHA1 Message Date
Christopher Ferris
b39599286d Merge "Do not clear tids on detached threads." 2013-12-07 16:38:09 +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
The Android Open Source Project
3377165387 Merge commit '04b4339ad5396690329877df10fbe568bd4dd600' into HEAD 2013-12-05 12:37:57 -08:00
Christopher Ferris
6afe8ab753 Merge "Add strcmp/memcmp testing." 2013-12-04 19:08:16 +00:00
Christopher Ferris
e5bbb6b6ab Add strcmp/memcmp testing.
Bug: 9797008
Change-Id: I11b1da060d29f7dacbb53f20a3e2082395b5bd8a
2013-12-03 18:42:41 -08:00
Christopher Ferris
0b4246b561 Merge "Add cfi directives to all arm assembly." 2013-12-03 20:28:09 +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
ab0b0cdf1b Merge "Finish <sys/user.h>." 2013-11-27 04:51:35 +00:00
Elliott Hughes
ab797cb4fd Finish <sys/user.h>.
Change-Id: I1d97d7fa3d5be2ff4728571ed5376705a27091ec
2013-11-26 17:57:31 -08:00
Elliott Hughes
98c910fb21 Merge "Fix the order of arguments to sys_clone for x86." 2013-11-27 00:34:44 +00: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
6ae2f22dc0 Merge "Work around CLONE_SETTLS being weird on x86." 2013-11-26 22:36:38 +00: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
1c057607d8 Merge "Fix _exit_with_stack_teardown for x86." 2013-11-26 21:51:48 +00:00
Elliott Hughes
9dec707bd6 Fix _exit_with_stack_teardown for x86.
Change-Id: Ife8f9c538c86f7c0017143015d5ee849a99b625b
2013-11-26 13:48:24 -08:00
Elliott Hughes
a98fff25c3 Merge "Make <sys/timerfd.h> standalone." 2013-11-25 22:00:10 +00: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
5a52bd34f1 Merge "Regenerate the bionic kernel headers to match external/kernel-headers." 2013-11-25 21:56:10 +00: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
cda0c61dc7 am 14d6be45: Merge "Delete non-uapi headers."
* commit '14d6be45b960f8fbb039bd946e22ce406e8b65c3':
  Delete non-uapi headers.
2013-11-24 00:20:23 -08:00
Christopher Ferris
14d6be45b9 Merge "Delete non-uapi headers." 2013-11-24 08:16:25 +00: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
507f95e22b Merge "Update script to copy in extra generated files." 2013-11-23 01:17:16 +00: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
a626e4d8bc am 26f0e54a: Merge "Script to grab uapi headers from android kernel."
* commit '26f0e54ae083727ee66ee35531ed00338570d792':
  Script to grab uapi headers from android kernel.
2013-11-21 14:22:49 -08:00
Christopher Ferris
26f0e54ae0 Merge "Script to grab uapi headers from android kernel." 2013-11-21 22:20:14 +00:00
Elliott Hughes
50f6b8363e am fa7b48bf: Merge "Regenerate uapi header files."
* commit 'fa7b48bf8753690bd15706a1fe3d23cf5c42782f':
  Regenerate uapi header files.
2013-11-21 14:11:39 -08: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
fa7b48bf87 Merge "Regenerate uapi header files." 2013-11-21 22:06:14 +00:00
Elliott Hughes
8cb52b056c Regenerate uapi header files.
Change-Id: Idc934ed8ae17aba3300e4022e9b42177b0907e9d
2013-11-21 13:43:23 -08:00
Elliott Hughes
5e818b3314 am 880d0e6c: Merge "Remove hidden __reboot from header"
* commit '880d0e6c64eb49736125648d1539726629308316':
  Remove hidden __reboot from header
2013-11-21 12:41:56 -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
843367953f am eec57b37: Merge "Add support for the ternary operator to the header scrubber."
* commit 'eec57b370642f1b83285883104f2e778f32eef73':
  Add support for the ternary operator to the header scrubber.
2013-11-21 11:34:47 -08:00
Elliott Hughes
eec57b3706 Merge "Add support for the ternary operator to the header scrubber." 2013-11-21 19:30:22 +00: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
cb478f23cc am d4143c8e: Merge "Fix useconds_t for LP64."
* commit 'd4143c8e4cd8b006d8f422883b53684881e0991a':
  Fix useconds_t for LP64.
2013-11-21 09:07:15 -08:00
Elliott Hughes
a18a01f553 am 15a64948: Merge "Remove obsolete kernel/arch-mips headers."
* commit '15a64948567e6e885f639070fa1cc56900dcbae0':
  Remove obsolete kernel/arch-mips headers.
2013-11-21 09:07:14 -08:00
Elliott Hughes
8637bb5345 am b135f6e5: Merge "Remove the unused arch-x86 and arch-x86-64 kernel headers."
* commit 'b135f6e58cc81a6de64c55017d25496003ebe547':
  Remove the unused arch-x86 and arch-x86-64 kernel headers.
2013-11-21 09:07:13 -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
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
Narayan Kamath
af64dad479 Add test case for 1^NaN
Should be 1.

Change-Id: I6cf723a419f51d3bda58286a538774b71276c7b5
2013-11-18 19:00:59 +00:00
Christopher Ferris
e372ec8cf9 Pull in cleaned version.h header.
Change-Id: Ia917af9336b63ed5a10147770a8110134cb274cb
2013-11-15 16:29:28 -08:00
Christopher Ferris
cbd85b9cc1 Modify tests for another glibc difference.
It turns out that when passing a closed file to getdelim or getline, the
functions in glibc will properly return a failure, but errno might not be
set. Skip the errno check except on bionic.

Change-Id: I8d625f15303d4c2d42e8d28491ea8a368aea4d32
2013-11-15 16:09:44 -08:00
Elliott Hughes
18368fc8e6 am f246c589: Merge "Clean up the pthread_create trampoline."
* commit 'f246c589d66e5dc0e3cddc3c37261fb0e3fc67e9':
  Clean up the pthread_create trampoline.
2013-11-15 15:31:28 -08:00
Elliott Hughes
f246c589d6 Merge "Clean up the pthread_create trampoline." 2013-11-15 23:27:36 +00: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
Christopher Ferris
862c32b4bd am e39e3a77: Merge "Add new tests for memory/string routines."
* commit 'e39e3a77d6e8cf681718a572bc754fd64dfc87ff':
  Add new tests for memory/string routines.
2013-11-15 14:51:02 -08:00
Elliott Hughes
5b5248526b am 645d4269: Merge "Switch pthread_create over to __bionic_clone."
* commit '645d4269d323acdcb20d1c31c15dbb4afbb9f46a':
  Switch pthread_create over to __bionic_clone.
2013-11-15 14:47:32 -08:00
Christopher Ferris
e39e3a77d6 Merge "Add new tests for memory/string routines." 2013-11-15 22:47:07 +00:00
Elliott Hughes
645d4269d3 Merge "Switch pthread_create over to __bionic_clone." 2013-11-15 22:42:57 +00: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
Christopher Ferris
b687ad3c34 Add new tests for memory/string routines.
Create a few generic testing functions to allow any memory/string tests
to be created.

Add alignment tests for memcpy/memset/strcat/strcpy/strlen.

Add an overread test for memcpy/strcat/strcpy/strlen. This test attempts
to verify that the functions do not read past the end of their buffers
(src buffer in the case of src/dst functions).

Bug: 9797008

Change-Id: Ib3223ca1b99e729ae8229adc2d03f4dc3103d97c
2013-11-15 10:36:21 -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
Elliott Hughes
60a67a0c7e am 05ec00bf: Merge "[MIPS] Reimplement syscall to invoke the system call directly"
* commit '05ec00bf62ac168c9787a3d0640879ab3e502fe5':
  [MIPS] Reimplement syscall to invoke the system call directly
2013-11-14 17:05:10 -08:00
Elliott Hughes
05ec00bf62 Merge "[MIPS] Reimplement syscall to invoke the system call directly" 2013-11-15 01:01:06 +00: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
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
5a70acd176 am ae5c3dd7: Merge "Remove the mips regdef.h and fpregdef.h old kernel headers."
* commit 'ae5c3dd73844e6a9e1a14dbf893eab5142902f18':
  Remove the mips regdef.h and fpregdef.h old kernel headers.
2013-11-13 16:24:33 -08:00
Elliott Hughes
ae5c3dd738 Merge "Remove the mips regdef.h and fpregdef.h old kernel headers." 2013-11-14 00:18:58 +00: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
ab894977da am 3cc7da48: am c4250430: Merge "Add unit tests for pow\'s behavior with NaNs."
* commit '3cc7da4838ea5896ff142f447ecb03f62d3e70e6':
  Add unit tests for pow's behavior with NaNs.
2013-11-13 15:05:43 -08:00
Elliott Hughes
3cc7da4838 am c4250430: Merge "Add unit tests for pow\'s behavior with NaNs."
* commit 'c425043063eae2fa3e8622bf77ef1ab3a805f156':
  Add unit tests for pow's behavior with NaNs.
2013-11-13 15:01:31 -08:00
Elliott Hughes
c425043063 Merge "Add unit tests for pow's behavior with NaNs." 2013-11-13 22:57:36 +00:00
Elliott Hughes
6010196355 am e77538d5: am 44cbe94b: Merge "Add a unit test for syscall(2)."
* commit 'e77538d570e8a811b09bdcd3c746471d8f74b3de':
  Add a unit test for syscall(2).
2013-11-13 13:37:18 -08:00
Elliott Hughes
e77538d570 am 44cbe94b: Merge "Add a unit test for syscall(2)."
* commit '44cbe94bba2e7e4b1369c86b11d66d6b60f0e333':
  Add a unit test for syscall(2).
2013-11-13 13:33:12 -08:00
Elliott Hughes
6a8f00d49c Add unit tests for pow's behavior with NaNs.
Bug: 11669804
Change-Id: Idfa6527640c8d0c2cf3e5343bf7afe013e237545
2013-11-13 13:29:23 -08:00
Elliott Hughes
44cbe94bba Merge "Add a unit test for syscall(2)." 2013-11-13 21:29:07 +00:00
Elliott Hughes
e61dc71efc Add a unit test for syscall(2).
Change-Id: Ic7d9735d46711af93c3a1747de7b2eb8cebea094
2013-11-13 13:14:31 -08:00
Elliott Hughes
3cf6d9983c am 6a7e539c: am 22ba86ee: Merge "Add extra regression tests for an already-fixed dynamic linker bug."
* commit '6a7e539cf1d8ee49fc2b6a11d043ce7962aa2de4':
  Add extra regression tests for an already-fixed dynamic linker bug.
2013-11-11 17:06:27 -08:00
Elliott Hughes
6a7e539cf1 am 22ba86ee: Merge "Add extra regression tests for an already-fixed dynamic linker bug."
* commit '22ba86ee44867c2d16973fc2f8da3b0f5b58cc5e':
  Add extra regression tests for an already-fixed dynamic linker bug.
2013-11-11 17:04:28 -08:00
Elliott Hughes
22ba86ee44 Merge "Add extra regression tests for an already-fixed dynamic linker bug." 2013-11-12 01:01:24 +00:00
Elliott Hughes
2ed710976c Add extra regression tests for an already-fixed dynamic linker bug.
Bug: https://code.google.com/p/android/issues/detail?id=61799
Change-Id: I84af68f8430a06e999297c2e57e06ecb45adf81e
2013-11-11 15:48:06 -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
cdd6fdec6c am 6768c1ee: Merge "Add a temporary uapi/linux/compiler.h until upstream has one."
* commit '6768c1ee510a8e93175b54e93cb583f009766eed':
  Add a temporary uapi/linux/compiler.h until upstream has one.
2013-11-08 15:22:43 -08:00
Elliott Hughes
6768c1ee51 Merge "Add a temporary uapi/linux/compiler.h until upstream has one." 2013-11-08 23:20:18 +00: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
5b6290bcfb am ff5b0fc8: Merge "Remove the dependency on the non-uapi __kernel_nlink_t."
* commit 'ff5b0fc8f3406c98561e17bd2a6c5433e192f5be':
  Remove the dependency on the non-uapi __kernel_nlink_t.
2013-11-08 15:15:18 -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
ff5b0fc8f3 Merge "Remove the dependency on the non-uapi __kernel_nlink_t." 2013-11-08 23:12:36 +00: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
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
cac7eec55a am 68723453: Merge "Generate the uapi headers for mips and x86/x86_64."
* commit '68723453ac920004fcba2a820c2d56919a5b7081':
  Generate the uapi headers for mips and x86/x86_64.
2013-11-08 14:20:59 -08:00
Elliott Hughes
68723453ac Merge "Generate the uapi headers for mips and x86/x86_64." 2013-11-08 22:18:46 +00: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
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
99a38fcf33 am 486c8616: Merge "Prepare to switch to the uapi <linux/signal.h>."
* commit '486c8616ac030b14d37d364a0ed541c4c6c90716':
  Prepare to switch to the uapi <linux/signal.h>.
2013-11-07 12:43:22 -08:00
Elliott Hughes
486c8616ac Merge "Prepare to switch to the uapi <linux/signal.h>." 2013-11-07 20:41:19 +00: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
c9c84992fb am 266eb4a4: Merge "Stop using the non-uapi <linux/err.h> header file."
* commit '266eb4a44c4cdd9502980511ff2846fde5c66454':
  Stop using the non-uapi <linux/err.h> header file.
2013-11-07 10:46:37 -08:00
Elliott Hughes
266eb4a44c Merge "Stop using the non-uapi <linux/err.h> header file." 2013-11-07 18:44:49 +00: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
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
6fc4a1cd3a am a034e1d3: Merge "Remove pathconf\'s dependencies on non-uapi header files."
* commit 'a034e1d3e06207f079e814101bb3bce1924264e0':
  Remove pathconf's dependencies on non-uapi header files.
2013-11-06 17:35:36 -08:00
Elliott Hughes
a034e1d3e0 Merge "Remove pathconf's dependencies on non-uapi header files." 2013-11-07 01:32:27 +00: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
dc9b54c11c am f945732e: Merge "Fix a TODO; we\'ve had SOCK_CLOEXEC for a while now."
* commit 'f945732e21e3c1291943d21fa5fee0c43792bbec':
  Fix a TODO; we've had SOCK_CLOEXEC for a while now.
2013-11-06 17:19:30 -08:00
Elliott Hughes
f945732e21 Merge "Fix a TODO; we've had SOCK_CLOEXEC for a while now." 2013-11-07 01:16:48 +00: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
76833a7c57 am 9e63e03d: Merge "Clean up the 32-bit kernel support, fix LP64 fcntl declaration."
* commit '9e63e03d34fc0b4d87cff047a4bc55f8ebc5e12a':
  Clean up the 32-bit kernel support, fix LP64 fcntl declaration.
2013-11-06 17:05:46 -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
99205dc987 am af10f9e9: Merge "Add processed uapi kernel headers for ARM."
* commit 'af10f9e927ed22c8bccc80919e10df4d5f4aecdd':
  Add processed uapi kernel headers for ARM.
2013-11-06 15:58:39 -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
3721a7e71f am 7115c802: Merge "Fix pread/pwrite for LP64."
* commit '7115c80231aa88272294076c8775c09727ece85a':
  Fix pread/pwrite for LP64.
2013-11-06 14:26:58 -08:00
Elliott Hughes
7115c80231 Merge "Fix pread/pwrite for LP64." 2013-11-06 22:25:17 +00: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
afc51b92a0 am c4dbc16e: Merge "Make cpp.py less braindead."
* commit 'c4dbc16eb03bcc0a3ea04cd32ce7551ad94b2bfc':
  Make cpp.py less braindead.
2013-11-06 12:34:22 -08:00
Elliott Hughes
c4dbc16eb0 Merge "Make cpp.py less braindead." 2013-11-06 20:31:10 +00: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
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
ffe0688089 am f1258672: Merge "Fix <sys/select.h> for LP64, clean up <time.h>."
* commit 'f1258672d1eed41da30612a70690c19ff1966b73':
  Fix <sys/select.h> for LP64, clean up <time.h>.
2013-11-05 13:58:18 -08:00
Elliott Hughes
f1258672d1 Merge "Fix <sys/select.h> for LP64, clean up <time.h>." 2013-11-05 21:54:38 +00: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
3c5d651c05 am 9b9f0d0c: Merge "Remove unnecessary #include."
* commit '9b9f0d0cd05b5249e4b8119a8bd12ec17712b9da':
  Remove unnecessary #include.
2013-11-05 12:04:34 -08:00
Elliott Hughes
9b9f0d0cd0 Merge "Remove unnecessary #include." 2013-11-05 20:00:30 +00: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
Elliott Hughes
00889af038 am 943cc1b5: Merge "Refresh libc/kernel/common/linux/uinput.h"
* commit '943cc1b58892c627f65f44b7f0fcf365048b7364':
  Refresh libc/kernel/common/linux/uinput.h
2013-10-31 16:05:50 -07:00
Elliott Hughes
943cc1b588 Merge "Refresh libc/kernel/common/linux/uinput.h" 2013-10-31 23:03:16 +00: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
2a60b264eb am 6b69b753: am 4d2ab4c7: Merge "Fix linker crashes during unknown symbol lookup"
* commit '6b69b753d7c9820fb4fd7f88a047931c645834c8':
  Fix linker crashes during unknown symbol lookup
2013-10-31 15:13:39 -07:00
Elliott Hughes
6b69b753d7 am 4d2ab4c7: Merge "Fix linker crashes during unknown symbol lookup"
* commit '4d2ab4c758a8c76193452b139778e90531721930':
  Fix linker crashes during unknown symbol lookup
2013-10-31 15:10:25 -07:00
Elliott Hughes
4d2ab4c758 Merge "Fix linker crashes during unknown symbol lookup" 2013-10-31 22:07:00 +00:00
Sergey Melnikov
ebd506c69e Fix linker crashes during unknown symbol lookup
Integration of kernel VDSO into internal bionic data structures using
common functions.
Fix for dl_iterate_phdr function: the function provides incorrect
address of object in case of nonzero virtual and base addresses.
Location in address space of a particular program header should be
calculated using the formula:  addr = base_addr + virtual_addr.

Signed-off-by: Sergey Melnikov <sergey.melnikov@intel.com>
Change-Id: Ie2ab4257fd456242aab8afed0bd5bd6b29e81d6d
2013-10-31 15:06:20 -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
61ec6a621c am cc9b7456: Merge "Move the pthread debugging flags to the right place."
* commit 'cc9b7456b66b7c7c218a9d1f00d7aef1f5ecf409':
  Move the pthread debugging flags to the right place.
2013-10-31 14:25:03 -07:00
Elliott Hughes
cc9b7456b6 Merge "Move the pthread debugging flags to the right place." 2013-10-31 21:23:29 +00: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
ff9b41de62 am 5ab8d33a: Upgrade to tzdata2013h.
* commit '5ab8d33aa64a4ca12172dba92df172f70629874d':
  Upgrade to tzdata2013h.
2013-10-31 13:50:33 -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
5ab8d33aa6 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.)

(cherry picked from commit 3df3879bd6)

Change-Id: Ibdac6cc1db0fe24c62fe68e99d057dface6b6745
2013-10-31 13:41:31 -07:00
Elliott Hughes
1658691e0c am 0360e3ab: Merge "<pthread.h> fixes and pthread cleanup."
* commit '0360e3ab2d21d4b4b3d5590765857bef595c0046':
  <pthread.h> fixes and pthread cleanup.
2013-10-31 13:41:00 -07:00
Elliott Hughes
0360e3ab2d Merge "<pthread.h> fixes and pthread cleanup." 2013-10-31 20:36:48 +00: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
9be24f7160 am d0d0b52d: Merge "Remove an obsolete ARM gdb hack."
* commit 'd0d0b52da375bfa85947a4257198791f615f18a8':
  Remove an obsolete ARM gdb hack.
2013-10-30 14:40:17 -07:00
Elliott Hughes
d0d0b52da3 Merge "Remove an obsolete ARM gdb hack." 2013-10-30 21:37:56 +00: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
6cf3477551 am 47a73363: Merge "Factor out some of the makefile cruft."
* commit '47a73363fcdb88811eedbe484720fb08dc30a995':
  Factor out some of the makefile cruft.
2013-10-29 19:15:37 -07:00
Elliott Hughes
47a73363fc Merge "Factor out some of the makefile cruft." 2013-10-30 02:13:34 +00: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
Christopher Ferris
fa088df49e am 4fbd0277: am f084f7dc: Merge "Fix up failing glibc tests."
* commit '4fbd0277aedd9cf1e81648e9a849c52211a65adf':
  Fix up failing glibc tests.
2013-10-29 18:31:05 -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
ee99ebbc8f am 7a8e20c9: Merge "Explain the sigprocmask in pthread_exit."
* commit '7a8e20c9c7c11b0ef11b718f18be5e2df22edc1a':
  Explain the sigprocmask in pthread_exit.
2013-10-29 16:31:23 -07:00
Elliott Hughes
7a8e20c9c7 Merge "Explain the sigprocmask in pthread_exit." 2013-10-29 23:29:07 +00: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
Christopher Ferris
4fbd0277ae am f084f7dc: Merge "Fix up failing glibc tests."
* commit 'f084f7dc1e4601f96c44eeb422615d7ac742b2d0':
  Fix up failing glibc tests.
2013-10-29 15:35:34 -07:00
Christopher Ferris
f084f7dc1e Merge "Fix up failing glibc tests." 2013-10-29 22:32:33 +00:00
Christopher Ferris
13613137bc Fix up failing glibc tests.
There is a known bug running clone with the CLONE_VM flag, so for host
create an empty test.

Change the expected output of the stdio test for a glibc difference.

Change the pause test to use ScopedSignalHandler to setup/restore the SIGALRM
handler.

After this, running bionic-unit-tests-glibc passes for all tests.

Bug: 11389824

Change-Id: Ib304eae4164115835a54991dfdca5821ecc3db5e
2013-10-29 14:55:11 -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
3030157f82 am 8e6e7cda: Merge "Update <sys/exec_elf.h> to include EM_AARCH64."
* commit '8e6e7cdadbb4efdeefaa73fe94f7a9a1722745a7':
  Update <sys/exec_elf.h> to include EM_AARCH64.
2013-10-29 08:53:53 -07:00
Elliott Hughes
8e6e7cdadb Merge "Update <sys/exec_elf.h> to include EM_AARCH64." 2013-10-29 15:50:33 +00: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
e89d16d24b am 6e504fda: Merge "AArch64: Add support for AArch64 to stdlib/strtod.c"
* commit '6e504fdaff6cb85edca312db56ce79f3477e4db1':
  AArch64: Add support for AArch64 to stdlib/strtod.c
2013-10-28 16:27:37 -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
Elliott Hughes
6e504fdaff Merge "AArch64: Add support for AArch64 to stdlib/strtod.c" 2013-10-28 23:25:27 +00: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
d4e28c236b am 830de5cb: Merge "AArch64: Autogenerated syscalls for AArch64"
* commit '830de5cb30ba163f9c34fc87f624d6604adc3232':
  AArch64: Autogenerated syscalls for AArch64
2013-10-28 16:23:14 -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
48e0ee8a09 am 93b7b819: Merge "AArch64: Add support for AArch64 to the syscall interface"
* commit '93b7b8191238a8735141ed0f0b1222d8a30be3cc':
  AArch64: Add support for AArch64 to the syscall interface
2013-10-28 16:19:59 -07:00
Elliott Hughes
830de5cb30 Merge "AArch64: Autogenerated syscalls for AArch64" 2013-10-28 23:19:46 +00: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
Elliott Hughes
93b7b81912 Merge "AArch64: Add support for AArch64 to the syscall interface" 2013-10-28 23:17:23 +00:00
Elliott Hughes
5911e25bfc am 07d3c6ce: Merge "Fix the *rand48 functions on LP64."
* commit '07d3c6cecc8016577c9dbd827e85154c077604da':
  Fix the *rand48 functions on LP64.
2013-10-28 16:16:41 -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
07d3c6cecc Merge "Fix the *rand48 functions on LP64." 2013-10-28 23:09:49 +00: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
6ec070a015 am 020bcdae: Merge "Update <sys/exec_elf.h> to get the DF_* flags."
* commit '020bcdaef349b6bd82302a0656fdf9aaff30bdb3':
  Update <sys/exec_elf.h> to get the DF_* flags.
2013-10-28 15:05:49 -07:00
Elliott Hughes
020bcdaef3 Merge "Update <sys/exec_elf.h> to get the DF_* flags." 2013-10-28 22:03:55 +00: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
224aee2f5c am 486d99f0: Merge "Don\'t allow text relocations on 64-bit."
* commit '486d99f050a609c16641614edc72d71746ce859a':
  Don't allow text relocations on 64-bit.
2013-10-28 14:39:05 -07:00
Elliott Hughes
486d99f050 Merge "Don't allow text relocations on 64-bit." 2013-10-28 21:36:23 +00: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
e9f6c48008 am 3ec5d895: Merge "Fix utime/utimes when passed a NULL pointer."
* commit '3ec5d8954b41f2e51d6ff7851533f1db1eba9a09':
  Fix utime/utimes when passed a NULL pointer.
2013-10-28 13:32:44 -07:00
Elliott Hughes
3ec5d8954b Merge "Fix utime/utimes when passed a NULL pointer." 2013-10-28 20:29:24 +00: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
8129a36dc6 am c98827e7: am d4e9f076: Merge "Clean up linker architecture macros."
* commit 'c98827e70ab2a3798f2369a4b5a23e3afc18552c':
  Clean up linker architecture macros.
2013-10-28 11:08:40 -07:00
Elliott Hughes
c98827e70a am d4e9f076: Merge "Clean up linker architecture macros."
* commit 'd4e9f076d621dcf6450acba178e65d63c076ae6e':
  Clean up linker architecture macros.
2013-10-28 11:06:47 -07:00
Elliott Hughes
d4e9f076d6 Merge "Clean up linker architecture macros." 2013-10-28 18:04:22 +00:00
Elliott Hughes
4eeb1f12a8 Clean up linker architecture macros.
We don't need our own architecture macros; the standard ones will do.

This patch also fixes some __x86_64__ tests to be USE_RELA tests instead,
because they're not actually x86_64-specific.

I've cleaned up architecture-specific code slightly so where possible
all the code corresponding to a particular architecture is together.

This patch also fixes a bug in LP64 DT_PLTGOT handling, which should be
an error rather than falling through into DT_DEBUG! There was another #ifdef
bug where we'd only report unexpected DT_ entries on MIPS.

Change-Id: Id1d04e372611f641c1aa278a18e379f28af9eaf5
2013-10-28 11:02:49 -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
d9916301a9 am f7f6b268: Merge "Upgrade to tzdata2013h."
* commit 'f7f6b2686d466d695d813593a8b268abdf7ca29d':
  Upgrade to tzdata2013h.
2013-10-28 10:01:51 -07:00
Elliott Hughes
f7f6b2686d Merge "Upgrade to tzdata2013h." 2013-10-28 17:00:16 +00: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
Christopher Ferris
a9b95baace am 763fe341: am 93fcfeee: Merge "Update running bionic unit tests on host."
* commit '763fe3419c677e28d209ec319f743d65ff0e69c4':
  Update running bionic unit tests on host.
2013-10-25 10:40:26 -07:00
Christopher Ferris
763fe3419c am 93fcfeee: Merge "Update running bionic unit tests on host."
* commit '93fcfeee2b4de4c65fc766bf10601397592341d7':
  Update running bionic unit tests on host.
2013-10-25 10:38:41 -07:00
Christopher Ferris
93fcfeee2b Merge "Update running bionic unit tests on host." 2013-10-25 17:37:02 +00:00
Christopher Ferris
b38e4d536f Update running bionic unit tests on host.
Add a bionic-unit-tests-glibc-run target to run the glibc bionic unit tests.

Modify the bionic-unit-tests-run-on-host to make sure that the /system/bin
directory is created properly.

Also remove the EXTERNAL_STORAGE variable which isn't used any more.

Bug: 11234772
Change-Id: I9aea501d05700b29e938f672474d550b1872a78b
2013-10-25 10:23:12 -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
155f5c5ff9 am ad8fb26a: Merge "Fix the exit syscall stub\'s name."
* commit 'ad8fb26aff16b239fd79fd7223435bdae2462f72':
  Fix the exit syscall stub's name.
2013-10-25 09:28:15 -07:00
Elliott Hughes
ad8fb26aff Merge "Fix the exit syscall stub's name." 2013-10-25 16:25:22 +00:00
Elliott Hughes
fbd6776355 am 6b7fc098: am 421e911a: Merge "Simplify defining the linker architecture macro."
* commit '6b7fc098c4f2f9e9683fac119f344e9c890bae1a':
  Simplify defining the linker architecture macro.
2013-10-25 09:06:55 -07:00
Elliott Hughes
6b7fc098c4 am 421e911a: Merge "Simplify defining the linker architecture macro."
* commit '421e911a0bebd24bf197b092d17a3000cfec2c15':
  Simplify defining the linker architecture macro.
2013-10-25 09:04:31 -07:00
Elliott Hughes
421e911a0b Merge "Simplify defining the linker architecture macro." 2013-10-25 16:01:20 +00:00
Elliott Hughes
60d5b06ece Simplify defining the linker architecture macro.
Like the new TODO says, though, do we need this at all? Wouldn't we be better
off just using the regular architecture-specific macros? This is a dynamic
linker, so there's never a possibility of cross-linking.

Change-Id: I7be6b8663f5e585c4024a49aae383430c86a3c1b
2013-10-24 23:18:13 -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
fa262c13d9 am bbefbf1a: Merge "Use hidden visibility for generated stubs whose names begin with underscores."
* commit 'bbefbf1a75052e4c887309299fb4532705aa843d':
  Use hidden visibility for generated stubs whose names begin with underscores.
2013-10-24 17:23:16 -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
c2404f6c1d am d60a625d: Merge "Start moving 32-bit cruft somewhere it won\'t pollute 64-bit."
* commit 'd60a625dd5e544fb49056d864898ff82bca99950':
  Start moving 32-bit cruft somewhere it won't pollute 64-bit.
2013-10-24 17:19:54 -07:00
Elliott Hughes
d60a625dd5 Merge "Start moving 32-bit cruft somewhere it won't pollute 64-bit." 2013-10-25 00:18:15 +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
322ae56a95 am 0c4778d8: am a1b9f0d4: Merge "Revert "Don\'t warn about x86 text relocations. They\'re too prevalent.""
* commit '0c4778d8a24aa21367a23475e598f51214fb0fc3':
  Revert "Don't warn about x86 text relocations. They're too prevalent."
2013-10-24 16:41:32 -07:00
Elliott Hughes
4b83271437 am 97288549: Merge "Let the compiler worry about implementing ffs(3)."
* commit '972885499255a9368e96332f9da0d28b2436d042':
  Let the compiler worry about implementing ffs(3).
2013-10-24 16:37:27 -07:00
Elliott Hughes
9728854992 Merge "Let the compiler worry about implementing ffs(3)." 2013-10-24 23:35:51 +00: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
0c4778d8a2 am a1b9f0d4: Merge "Revert "Don\'t warn about x86 text relocations. They\'re too prevalent.""
* commit 'a1b9f0d4436fea551f641ad02d49610fb5eab0f0':
  Revert "Don't warn about x86 text relocations. They're too prevalent."
2013-10-24 16:10:20 -07:00
Elliott Hughes
a1b9f0d443 Merge "Revert "Don't warn about x86 text relocations. They're too prevalent."" 2013-10-24 23:05:24 +00:00
Elliott Hughes
b8b0b6b412 Revert "Don't warn about x86 text relocations. They're too prevalent."
This reverts commit 5be2c5998c.

Change-Id: I3fc8ca530cdbd74c834fb9cfabe812c9386419fc
2013-10-24 22:58:28 +00: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
e4ab1b6795 am f8dfb6f2: Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls."
* commit 'f8dfb6f249da6fc9c91cc8b94fa28c19e598faa6':
  Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.
2013-10-24 15:53:10 -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
8b113f75b3 am fcb37b87: Merge "Add __EXPORTED_HEADERS__ as predefined macro."
* commit 'fcb37b876e3589e8a749610cd8228ed9f6020f44':
  Add __EXPORTED_HEADERS__ as predefined macro.
2013-10-23 15:50:45 -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
dc57fe3389 am 7b9aa1a3: am 9098344a: Merge "Don\'t warn about x86 text relocations. They\'re too prevalent."
* commit '7b9aa1a3e7fd3e42782b10965b9e5cde6a17b74c':
  Don't warn about x86 text relocations. They're too prevalent.
2013-10-23 14:04:07 -07:00
Elliott Hughes
7b9aa1a3e7 am 9098344a: Merge "Don\'t warn about x86 text relocations. They\'re too prevalent."
* commit '9098344afe98ace7b9f7af8898c02d267f1335a5':
  Don't warn about x86 text relocations. They're too prevalent.
2013-10-23 14:01:58 -07:00
Elliott Hughes
9098344afe Merge "Don't warn about x86 text relocations. They're too prevalent." 2013-10-23 20:58:38 +00:00
Elliott Hughes
5be2c5998c Don't warn about x86 text relocations. They're too prevalent.
We should fix this (and disallow it for x86_64), but for now let's get CTS
running again.

libdvm.so and libcutils.so are the main problems.

$ scanelf -qT out/target/product/generic_x86/symbols/system/lib/libcutils.so
  libcutils.so: (memory/data?) [0x4125] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x424F] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x42F8] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x4349] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x4406] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x45AC] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x4650] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x46F9] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x474A] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x4807] in (optimized out: previous android_memset32) [0x4590]

Bug: 11353056
Change-Id: Id4a76b310be7fe858a8a60d0d260b09913b66be9
2013-10-23 13:45:01 -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
ae61f49b13 am cdac5f73: Merge "MIPS\' pipe(2) is weird, but MIPS\' pipe2(2) is the same as everyone else\'s."
* commit 'cdac5f73aca015287d1f40ff50d4fbf293a0c549':
  MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's.
2013-10-23 11:30:08 -07:00
Elliott Hughes
0e1faa2e00 am 1370854c: Merge "Fix header file dependencies."
* commit '1370854cc0a4aa652213e44d4a8b268fe614c11f':
  Fix header file dependencies.
2013-10-23 11:30:07 -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
1370854cc0 Merge "Fix header file dependencies." 2013-10-23 18:27:01 +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
db7f8eb011 am 97dc3309: Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls."
* commit '97dc3309f3d403c391581444ad656c2f3c61303d':
  Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls.
2013-10-23 10:30:15 -07:00
Elliott Hughes
97dc3309f3 Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls." 2013-10-23 17:26:40 +00: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
1dbf56aab5 am ec40edc9: Merge "Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls."
* commit 'ec40edc9188aebe5207e47c0a66e89e1ed368bd6':
  Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls.
2013-10-22 16:34:20 -07:00
Elliott Hughes
ec40edc918 Merge "Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls." 2013-10-22 23:32:25 +00: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
Elliott Hughes
0775b1dae8 am 3f0505cc: am f0ed9bf2: Merge "AArch64: Fix definitions for STDINT_LIMITS"
* commit '3f0505cc87ff452f79842ab14aef44d0e4e1a2f2':
  AArch64: Fix definitions for STDINT_LIMITS
2013-10-22 12:46:55 -07:00
Elliott Hughes
3f0505cc87 am f0ed9bf2: Merge "AArch64: Fix definitions for STDINT_LIMITS"
* commit 'f0ed9bf2537e861ae75e6ab71efb4b4722ad0eee':
  AArch64: Fix definitions for STDINT_LIMITS
2013-10-22 12:43:35 -07:00
Elliott Hughes
f0ed9bf253 Merge "AArch64: Fix definitions for STDINT_LIMITS" 2013-10-22 19:41:26 +00:00
Serban Constantinescu
debc021491 AArch64: Fix definitions for STDINT_LIMITS
This patches fixes the definitions for STDINT_LIMITS on __LP64__
systems.

Change-Id: I5eb1664e9ef7c303432a2b041c99cec663816b75
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-22 12:40:16 -07:00
Nick Kralevich
52185f37ae am b8280db7: am 1756f5a4: Merge "change wording on text relocation message."
* commit 'b8280db78b9b6db8851f12d26c49d27179d44366':
  change wording on text relocation message.
2013-10-22 12:37:03 -07:00
Nick Kralevich
b8280db78b am 1756f5a4: Merge "change wording on text relocation message."
* commit '1756f5a422446237945682c8811587a29d56fdef':
  change wording on text relocation message.
2013-10-22 12:32:04 -07:00
Nick Kralevich
1756f5a422 Merge "change wording on text relocation message." 2013-10-22 19:28:50 +00:00
Elliott Hughes
081b40f378 am 550ccc2e: am 8c39e58b: Merge "Make sure we have a mkfifo symbol."
* commit '550ccc2e20cb1998a959a7abb24f5ec382a93192':
  Make sure we have a mkfifo symbol.
2013-10-22 12:08:51 -07:00
Elliott Hughes
65104ba533 am 9805f3ec: am 23148470: Merge "AArch64: Fix uses of stack size for 32/64bit libc builds"
* commit '9805f3ec5b4ebfbe892e79a086c7d23a0bd393cf':
  AArch64: Fix uses of stack size for 32/64bit libc builds
2013-10-22 12:08:50 -07:00
Nick Kralevich
3d4470c14a change wording on text relocation message.
The current message is too alarmist.

Change-Id: I53e8eadca239f867b4e6b9c193eba96e267950c3
2013-10-22 12:06:36 -07:00
Elliott Hughes
550ccc2e20 am 8c39e58b: Merge "Make sure we have a mkfifo symbol."
* commit '8c39e58b6a6744c5e7ae08424a6281d75af23072':
  Make sure we have a mkfifo symbol.
2013-10-22 12:05:23 -07:00
Elliott Hughes
9805f3ec5b am 23148470: Merge "AArch64: Fix uses of stack size for 32/64bit libc builds"
* commit '231484705bea118259200da6019722a026021f4b':
  AArch64: Fix uses of stack size for 32/64bit libc builds
2013-10-22 12:05:22 -07:00
Elliott Hughes
8c39e58b6a Merge "Make sure we have a mkfifo symbol." 2013-10-22 19:03:57 +00:00
Elliott Hughes
594b1a4af2 Make sure we have a mkfifo symbol.
Bug: https://code.google.com/p/android/issues/detail?id=58888
Change-Id: Ic0a883a5f30beb82cb7be3c4e81b6d693d5fbb4d
2013-10-22 12:03:19 -07:00
Elliott Hughes
231484705b Merge "AArch64: Fix uses of stack size for 32/64bit libc builds" 2013-10-22 19:02:29 +00:00
Serban Constantinescu
7f70c9b64e AArch64: Fix uses of stack size for 32/64bit libc builds
This patch fixes stack size uses to size_t.

Change-Id: I0671c85ddb1c1aceaf9440a7c73c21fe528653fa
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-22 12:01:29 -07:00
Elliott Hughes
5f985ebb1b am a5826391: am 393484ab: Merge "Fix statvfs tests for the host."
* commit 'a5826391e9afafcb688c103282a30254928f61f3':
  Fix statvfs tests for the host.
2013-10-21 20:16:54 -07:00
Elliott Hughes
a5826391e9 am 393484ab: Merge "Fix statvfs tests for the host."
* commit '393484ab358040243793375e1525da083008e78e':
  Fix statvfs tests for the host.
2013-10-21 20:14:07 -07:00
Elliott Hughes
393484ab35 Merge "Fix statvfs tests for the host." 2013-10-22 03:12:24 +00:00
Elliott Hughes
3d305f1d62 Fix statvfs tests for the host.
Using /proc seems like a better idea because it's more similar across devices.
I've switched to ensuring we check the initial and final elements in the struct
too, so we have more reason to believe the whole struct is converted correctly.

Change-Id: Ia23403369485747c1452292f6c9df2bb233c04fb
2013-10-21 19:27:19 -07:00
Elliott Hughes
c6557e3c83 am f777c50a: am c284d47c: Merge "Fix the system property tests to use ."
* commit 'f777c50a7130271ed6fefa9bd2bae78be998f4b0':
  Fix the system property tests to use $ANDROID_DATA.
2013-10-21 17:45:21 -07:00
Elliott Hughes
41c2874138 am dcc3a211: am 9d4b67ea: Merge "Fix 16-byte stack alignment requirement for x86_64 ABI"
* commit 'dcc3a211bade2f2413a689c8d273084cac516a72':
  Fix 16-byte stack alignment requirement for x86_64 ABI
2013-10-21 17:45:20 -07:00
Elliott Hughes
f777c50a71 am c284d47c: Merge "Fix the system property tests to use ."
* commit 'c284d47c57973f7dde1d2f5cc33074050203a5d3':
  Fix the system property tests to use $ANDROID_DATA.
2013-10-21 17:42:00 -07:00
Elliott Hughes
dcc3a211ba am 9d4b67ea: Merge "Fix 16-byte stack alignment requirement for x86_64 ABI"
* commit '9d4b67ea16ad62089da4950d1ccc1b078ebe5adb':
  Fix 16-byte stack alignment requirement for x86_64 ABI
2013-10-21 17:42:00 -07:00
Elliott Hughes
c284d47c57 Merge "Fix the system property tests to use $ANDROID_DATA." 2013-10-22 00:40:46 +00:00
Elliott Hughes
e4375196d6 Fix the system property tests to use $ANDROID_DATA.
This lets them work on the host.

Change-Id: I771ccc67652ae37451b45859c7831116cd830086
2013-10-21 17:40:15 -07:00
Elliott Hughes
9d4b67ea16 Merge "Fix 16-byte stack alignment requirement for x86_64 ABI" 2013-10-22 00:38:37 +00:00
Pavel Chupin
33a209e575 Fix 16-byte stack alignment requirement for x86_64 ABI
Change-Id: I43304803ac54c8688c61688bd96c7160614172d4
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-21 17:36:28 -07:00
Elliott Hughes
16ac7c4d97 am 1d8c8b6a: am f4ac8ba5: Merge "Fix the x86_64 vfork implementation."
* commit '1d8c8b6a9ef0100f2f17ef1b6f4d145163b22ed0':
  Fix the x86_64 vfork implementation.
2013-10-21 14:27:21 -07:00
Elliott Hughes
f1a93bf7da am 8173b001: am ac5d29fe: Merge "Fix the x86_64 clone implementation."
* commit '8173b00125bc0bdeda09d9b9d4f34a2f82b66016':
  Fix the x86_64 clone implementation.
2013-10-21 14:27:20 -07:00
Elliott Hughes
1d8c8b6a9e am f4ac8ba5: Merge "Fix the x86_64 vfork implementation."
* commit 'f4ac8ba566d80679ccc346b3b0af4b46d394319b':
  Fix the x86_64 vfork implementation.
2013-10-21 14:24:12 -07:00
Elliott Hughes
8173b00125 am ac5d29fe: Merge "Fix the x86_64 clone implementation."
* commit 'ac5d29fee838a1b18c3f2d02de146f98a2d95db7':
  Fix the x86_64 clone implementation.
2013-10-21 14:24:12 -07:00
Elliott Hughes
f4ac8ba566 Merge "Fix the x86_64 vfork implementation." 2013-10-21 21:20:51 +00:00
Elliott Hughes
ac5d29fee8 Merge "Fix the x86_64 clone implementation." 2013-10-21 21:19:58 +00:00
Elliott Hughes
53bfdae4ff Fix the x86_64 clone implementation.
Change-Id: Ia75f46dcb4d3222049e9a6a6fabc2b17223b47f7
2013-10-18 19:39:09 -07:00
Elliott Hughes
9ea4d5f3a8 Fix the x86_64 vfork implementation.
Change-Id: I599507f5058e6196dc2d5b5653d06d5135dd8ac1
2013-10-18 18:21:11 -07:00
Elliott Hughes
68248e2fec am 013afce9: am a5bab412: Merge "Fix struct statfs for LP64."
* commit '013afce94f1195218531f3da6f3e25f4526dddf4':
  Fix struct statfs for LP64.
2013-10-18 17:39:18 -07:00
Elliott Hughes
013afce94f am a5bab412: Merge "Fix struct statfs for LP64."
* commit 'a5bab412e0bcb4f9e449d594330819c321cf18ad':
  Fix struct statfs for LP64.
2013-10-18 17:37:03 -07:00
Elliott Hughes
a5bab412e0 Merge "Fix struct statfs for LP64." 2013-10-19 00:35:49 +00:00
Elliott Hughes
c7fdee72dd Fix struct statfs for LP64.
Change-Id: I9649d881588931a1d672b65ddcf94009daadb0ef
2013-10-18 17:00:11 -07:00
Elliott Hughes
7d0204b685 am f7de5d57: am 25269b88: Merge "Fix the time unit tests for systems with 64-bit time_t."
* commit 'f7de5d57732d67f967243bea5e01f6da6be5f517':
  Fix the time unit tests for systems with 64-bit time_t.
2013-10-18 16:59:10 -07:00
Elliott Hughes
f7de5d5773 am 25269b88: Merge "Fix the time unit tests for systems with 64-bit time_t."
* commit '25269b88749061ff80e8a97b738e4bf6bc7e829a':
  Fix the time unit tests for systems with 64-bit time_t.
2013-10-18 16:57:03 -07:00
Elliott Hughes
25269b8874 Merge "Fix the time unit tests for systems with 64-bit time_t." 2013-10-18 23:53:03 +00:00
Elliott Hughes
0c40152767 Fix the time unit tests for systems with 64-bit time_t.
Change-Id: I29df50b25d022c1c00906e71b612defa58e46e81
2013-10-18 16:21:54 -07:00
Elliott Hughes
f00e772b25 am 63e118b7: am d0402acd: Merge "x86_64: Fix bionic tests build-and-run"
* commit '63e118b7dbadb49037cd20f8355e27fe4ac20f3b':
  x86_64: Fix bionic tests build-and-run
2013-10-18 15:11:33 -07:00
Elliott Hughes
63e118b7db am d0402acd: Merge "x86_64: Fix bionic tests build-and-run"
* commit 'd0402acdc76e1ea412085b3b633f5ae798022350':
  x86_64: Fix bionic tests build-and-run
2013-10-18 15:09:12 -07:00
Elliott Hughes
d0402acdc7 Merge "x86_64: Fix bionic tests build-and-run" 2013-10-18 22:07:03 +00:00
Pavel Chupin
17558dec7f x86_64: Fix bionic tests build-and-run
Change-Id: Iab48362893a212afbcbc362fdfaff5bfa5b55259
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-18 15:04:19 -07:00
Elliott Hughes
ceb6832ca0 am 7d604133: am e3cc1555: Merge "Fix some test assumptions that are wrong for __LP64__."
* commit '7d604133770ae3d9da84737a527907a94683fe21':
  Fix some test assumptions that are wrong for __LP64__.
2013-10-18 13:36:22 -07:00
Elliott Hughes
7d60413377 am e3cc1555: Merge "Fix some test assumptions that are wrong for __LP64__."
* commit 'e3cc1555f6e478109cc3b648f41d4039efc0fdcc':
  Fix some test assumptions that are wrong for __LP64__.
2013-10-18 13:32:42 -07:00
Elliott Hughes
2fa423f49f am c54e7b8d: am 79f79c90: Merge "x86_64: Fix sys/stat.h"
* commit 'c54e7b8d30e18eb9fd5320f10707fd57cf831576':
  x86_64: Fix sys/stat.h
2013-10-18 13:31:41 -07:00
Elliott Hughes
c54e7b8d30 am 79f79c90: Merge "x86_64: Fix sys/stat.h"
* commit '79f79c907f03ff71f800ae2b7a4a00dfb64f0538':
  x86_64: Fix sys/stat.h
2013-10-18 13:29:18 -07:00
Elliott Hughes
e3cc1555f6 Merge "Fix some test assumptions that are wrong for __LP64__." 2013-10-18 20:28:22 +00:00
Elliott Hughes
79f79c907f Merge "x86_64: Fix sys/stat.h" 2013-10-18 20:25:09 +00:00
Pavel Chupin
f68fac8c00 x86_64: Fix sys/stat.h
Add 64-bit stat structure mapping 64-bit stat syscall.

Change-Id: Ice517616391bee1d556b6c03e7f5ee610050e6c6
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-18 13:24:25 -07:00
Elliott Hughes
925753aa11 Fix some test assumptions that are wrong for __LP64__.
Change-Id: Ic79cd5858ceb611640a76bd03f3da4925d3150d9
2013-10-18 13:17:18 -07:00
Elliott Hughes
b13ad7a8be am b956f3ce: am e9797ac6: Merge "Fix clone.S for x86_64."
* commit 'b956f3ce7a9b4d1d8a15d6debcd36f09e2ef4aa6':
  Fix clone.S for x86_64.
2013-10-17 22:58:23 -07:00
Elliott Hughes
b956f3ce7a am e9797ac6: Merge "Fix clone.S for x86_64."
* commit 'e9797ac6756481c0c219eb6b99f9062fd6dfb770':
  Fix clone.S for x86_64.
2013-10-17 22:56:03 -07:00
Elliott Hughes
e9797ac675 Merge "Fix clone.S for x86_64." 2013-10-18 05:54:28 +00:00
Elliott Hughes
938f38daee Fix clone.S for x86_64.
We need to pull the arguments off the child stack and put them into the
registers they're expected to be in.

Change-Id: I064b3258cdd89d513c632857cabb46e52492af2b
2013-10-17 22:22:31 -07:00
Elliott Hughes
05c33a59b9 am 0c72ebc9: am 8ea34537: Merge "Add missing aliases for off64_t functions in 64-bit land."
* commit '0c72ebc9a1836ce9dda6e28e6b8117b4651e7c8e':
  Add missing aliases for off64_t functions in 64-bit land.
2013-10-17 21:48:24 -07:00
Elliott Hughes
0c72ebc9a1 am 8ea34537: Merge "Add missing aliases for off64_t functions in 64-bit land."
* commit '8ea3453719854fe9eba4cdc32e2b42d904ab1aea':
  Add missing aliases for off64_t functions in 64-bit land.
2013-10-17 21:45:28 -07:00
Elliott Hughes
8ea3453719 Merge "Add missing aliases for off64_t functions in 64-bit land." 2013-10-18 04:42:09 +00:00
Elliott Hughes
23eeda6ad9 am 6519d76c: am 88dcfb5e: Merge "Add ffs and memcmp16 to x86_64."
* commit '6519d76c2988f59622892966440577955aed9f49':
  Add ffs and memcmp16 to x86_64.
2013-10-17 21:38:00 -07:00
Elliott Hughes
6519d76c29 am 88dcfb5e: Merge "Add ffs and memcmp16 to x86_64."
* commit '88dcfb5ebaba0b02dac5d096491ea4278b849bb5':
  Add ffs and memcmp16 to x86_64.
2013-10-17 21:35:44 -07:00
Elliott Hughes
88dcfb5eba Merge "Add ffs and memcmp16 to x86_64." 2013-10-18 04:33:29 +00:00
Elliott Hughes
8ca530e559 Add ffs and memcmp16 to x86_64.
Change-Id: I652c1356f1c7c52299977181c2cf154386979380
2013-10-17 17:03:22 -07:00
Elliott Hughes
a6519d6306 Add missing aliases for off64_t functions in 64-bit land.
See the comment in SYSCALLS.TXT for an explanation.

Change-Id: I33d4056e84160c3cca74b7b588e9924a569753ed
2013-10-17 16:56:40 -07:00
Elliott Hughes
22cf36af18 am 7e12e6af: am 5b191604: Merge "Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags."
* commit '7e12e6af56e1cc256ea6d9c2c69d8438e6ca95be':
  Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags.
2013-10-17 13:50:12 -07:00
Elliott Hughes
7e12e6af56 am 5b191604: Merge "Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags."
* commit '5b1916043728f7f869f1286b6e04662a3d7d472b':
  Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags.
2013-10-17 13:47:28 -07:00
Elliott Hughes
5b19160437 Merge "Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags." 2013-10-17 20:44:07 +00:00
Andrei Emeltchenko
43d2137af0 Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags.
SOCK_CLOEXEC is used to atomically set close-on-exec flag for the new
descriptor(s), and SOCK_NONBLOCK is used to mark descriptor(s) as
non-blocking.

Change-Id: I8ba6a70543d23759e3ddcc7ff9c21b567184d681
2013-10-17 13:32:32 -07:00
Elliott Hughes
8c4947ee7f am 227e95b2: am 70cf2077: Merge "Build the linker with the same -std flags as the rest of bionic."
* commit '227e95b2fb861192fb3a2d6368dfddb2558a5e25':
  Build the linker with the same -std flags as the rest of bionic.
2013-10-17 13:18:42 -07:00
Elliott Hughes
227e95b2fb am 70cf2077: Merge "Build the linker with the same -std flags as the rest of bionic."
* commit '70cf2077619cd2d177756e2bb1cf3fbf870ef355':
  Build the linker with the same -std flags as the rest of bionic.
2013-10-17 13:17:31 -07:00
Elliott Hughes
70cf207761 Merge "Build the linker with the same -std flags as the rest of bionic." 2013-10-17 20:15:41 +00:00
Elliott Hughes
2258347f3b Build the linker with the same -std flags as the rest of bionic.
Change-Id: I5bdb28ecfdf78a90f6b072077a1c5ffd63f5d2ae
2013-10-17 13:06:20 -07:00
Elliott Hughes
26e2643949 am f702652e: am 41b87c65: Merge "x86_64: Add R_X86_64_64 relocation handling"
* commit 'f702652ef89ad53d9bac51fb6ffccd071e7c7b99':
  x86_64: Add R_X86_64_64 relocation handling
2013-10-17 12:57:58 -07:00
Elliott Hughes
1732a8da03 am 417c2061: am 922e2af4: Merge "O_CLOEXEC is always defined for arm, mips, x86, and x86_64."
* commit '417c2061c857015c1b0319646810111423b5223d':
  O_CLOEXEC is always defined for arm, mips, x86, and x86_64.
2013-10-17 12:57:57 -07:00
Elliott Hughes
f702652ef8 am 41b87c65: Merge "x86_64: Add R_X86_64_64 relocation handling"
* commit '41b87c651280d1a9a98a309c5a5e77e240920d4e':
  x86_64: Add R_X86_64_64 relocation handling
2013-10-17 12:55:09 -07:00
Elliott Hughes
417c2061c8 am 922e2af4: Merge "O_CLOEXEC is always defined for arm, mips, x86, and x86_64."
* commit '922e2af432b38c3a454a1cae9e4d269c28c5ff8c':
  O_CLOEXEC is always defined for arm, mips, x86, and x86_64.
2013-10-17 12:55:08 -07:00
Elliott Hughes
41b87c6512 Merge "x86_64: Add R_X86_64_64 relocation handling" 2013-10-17 19:51:11 +00:00
Elliott Hughes
922e2af432 Merge "O_CLOEXEC is always defined for arm, mips, x86, and x86_64." 2013-10-17 19:45:35 +00:00
Elliott Hughes
7efbac17bf am 2039949b: am 967cd1bc: Merge "Fix sigaction(3) for 64-bit."
* commit '2039949b225a3f6414250385b8d814440c24bab5':
  Fix sigaction(3) for 64-bit.
2013-10-17 11:52:30 -07:00
Elliott Hughes
2039949b22 am 967cd1bc: Merge "Fix sigaction(3) for 64-bit."
* commit '967cd1bcaf5e75314b3cff2ea7bbd0eb18ab7438':
  Fix sigaction(3) for 64-bit.
2013-10-17 11:49:30 -07:00
Elliott Hughes
e989399dc2 O_CLOEXEC is always defined for arm, mips, x86, and x86_64.
I built all four, just to be sure.

Change-Id: I5c818575c8142fccfc8fb163468832807a535e90
2013-10-17 11:45:22 -07:00
Elliott Hughes
967cd1bcaf Merge "Fix sigaction(3) for 64-bit." 2013-10-17 18:38:31 +00:00
Elliott Hughes
c7e9b23317 Fix sigaction(3) for 64-bit.
Also clean up <signal.h> and revert the hacks that were necessary
for 64-bit in linker/debugger.cpp until now.

Change-Id: I3b0554ca8a49ee1c97cda086ce2c1954ebc11892
2013-10-17 11:36:55 -07:00
Ed Heyl
811b0cdb2d am be662187: merge in klp-release (no-op)
* commit 'be662187aa579970cda4af49affd31958efc137c':
2013-10-16 17:47:51 -07:00
Ed Heyl
be662187aa merge in klp-release (no-op) 2013-10-16 17:34:49 -07:00
Ben Cheng
2cda66116c am a458b609: am f89f1eaa: Merge "Refresh libc/kernel/common/linux/auxvec.h"
* commit 'a458b609dbbff789a58fe4d2710af947b20d7e29':
  Refresh libc/kernel/common/linux/auxvec.h
2013-10-16 16:58:47 -07:00
Ben Cheng
a458b609db am f89f1eaa: Merge "Refresh libc/kernel/common/linux/auxvec.h"
* commit 'f89f1eaa6071111c2ef584e97efb23f1b5dbdd2d':
  Refresh libc/kernel/common/linux/auxvec.h
2013-10-16 16:56:27 -07:00
Ben Cheng
f89f1eaa60 Merge "Refresh libc/kernel/common/linux/auxvec.h" 2013-10-16 23:52:17 +00:00
Ben Cheng
76b795a8ba Refresh libc/kernel/common/linux/auxvec.h
Change-Id: If9bb50a2f233cdb60e91bd979876edb917e0f66d
2013-10-16 16:50:14 -07:00
Ben Cheng
a5e5fad478 am 29351c80: am 3fdd6b83: Merge "Add processed uapi kernel headers (common and aarch64-specific)"
* commit '29351c8091c4b7338bd47fb6b3e5aed94a2abf32':
  Add processed uapi kernel headers (common and aarch64-specific)
2013-10-16 16:33:50 -07:00
Elliott Hughes
b2386fed55 am 4346bd9f: am bffe261a: Merge "Sort the syscalls.mk files, give all generated files the same header."
* commit '4346bd9fbcfe4144df7ac0e920bdda274d523fc4':
  Sort the syscalls.mk files, give all generated files the same header.
2013-10-16 16:33:50 -07:00
Ben Cheng
29351c8091 am 3fdd6b83: Merge "Add processed uapi kernel headers (common and aarch64-specific)"
* commit '3fdd6b83379f46d2ae78f376b3630f9d481d6dbb':
  Add processed uapi kernel headers (common and aarch64-specific)
2013-10-16 16:32:24 -07:00
Elliott Hughes
4346bd9fbc am bffe261a: Merge "Sort the syscalls.mk files, give all generated files the same header."
* commit 'bffe261a1fcb2099e2188e2e4ca65209b64bc75a':
  Sort the syscalls.mk files, give all generated files the same header.
2013-10-16 16:32:23 -07:00
Ben Cheng
3fdd6b8337 Merge "Add processed uapi kernel headers (common and aarch64-specific)" 2013-10-16 23:17:52 +00:00
Ben Cheng
2e0b93b01f am 3b1b9f9f: am f0447ddb: Merge "Tweaked the cleanup scripts to handle uapi and aarch64 headers."
* commit '3b1b9f9ff6a2dc88ac0d78fd17f3b58448440357':
  Tweaked the cleanup scripts to handle uapi and aarch64 headers.
2013-10-16 16:09:44 -07:00
Elliott Hughes
6b9321b858 am d6e117b6: am 1f29c2f5: Merge "Switch sigpending over to rt_sigpending."
* commit 'd6e117b64bdfbf8d793eb59ea9604b806608ec75':
  Switch sigpending over to rt_sigpending.
2013-10-16 16:09:42 -07:00
Ben Cheng
655a7c081f Add processed uapi kernel headers (common and aarch64-specific)
Change-Id: If0be7b83bd8fe7cb02472d173f7c452aabf61124
2013-10-16 16:09:24 -07:00
Elliott Hughes
bffe261a1f Merge "Sort the syscalls.mk files, give all generated files the same header." 2013-10-16 23:06:48 +00:00
Ben Cheng
3b1b9f9ff6 am f0447ddb: Merge "Tweaked the cleanup scripts to handle uapi and aarch64 headers."
* commit 'f0447ddb042150af0e13a364df98dd11673d95d3':
  Tweaked the cleanup scripts to handle uapi and aarch64 headers.
2013-10-16 15:35:50 -07:00
Ben Cheng
f0447ddb04 Merge "Tweaked the cleanup scripts to handle uapi and aarch64 headers." 2013-10-16 22:32:12 +00:00
Ben Cheng
8bea2b6fac Tweaked the cleanup scripts to handle uapi and aarch64 headers.
The processed uapi directory is now placed at libc/kernel/uapi as
opposed to libc/kernel/common/uapi as it contains
architectural-dependent headers now.

Change-Id: I53f814704a4d231b452fde398cd94257a0fb2eea
2013-10-16 15:28:56 -07:00
Elliott Hughes
103ccde8fe Sort the syscalls.mk files, give all generated files the same header.
No non-comment changes to the .S files.

Change-Id: Iafcfd004c3ea92b64268f80ab16df615b97cefac
2013-10-16 14:27:59 -07:00
Elliott Hughes
d6e117b64b am 1f29c2f5: Merge "Switch sigpending over to rt_sigpending."
* commit '1f29c2f51097b68110bc2766a7c1560d6a8831d0':
  Switch sigpending over to rt_sigpending.
2013-10-16 14:13:10 -07:00
Elliott Hughes
1f29c2f510 Merge "Switch sigpending over to rt_sigpending." 2013-10-16 21:10:00 +00:00
Elliott Hughes
40d105ccb3 Switch sigpending over to rt_sigpending.
Change-Id: I7b28984796b5fb343cfbcc47e0afc3a84293d417
2013-10-16 14:07:01 -07:00
Pavel Chupin
c075c18537 x86_64: Add R_X86_64_64 relocation handling
Change-Id: I86ffc56fa6a9053bed44e92a579530c2beb8eb2c
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-16 19:13:58 +04:00
Elliott Hughes
d5e5a6a353 am 2426cdb6: am 26242bf2: Merge "Remove support for the useless \'custom\' option in SYSCALLS.TXT."
* commit '2426cdb63b95435bb09bacfc3af63304d991c4a2':
  Remove support for the useless 'custom' option in SYSCALLS.TXT.
2013-10-15 19:57:53 -07:00
Elliott Hughes
2426cdb63b am 26242bf2: Merge "Remove support for the useless \'custom\' option in SYSCALLS.TXT."
* commit '26242bf266fc7ee72a972ff0e4b12c024df4993c':
  Remove support for the useless 'custom' option in SYSCALLS.TXT.
2013-10-15 19:54:40 -07:00
Elliott Hughes
26242bf266 Merge "Remove support for the useless 'custom' option in SYSCALLS.TXT." 2013-10-16 02:51:35 +00:00
Elliott Hughes
afaebc3fef am 87fc78de: am 608c65f6: Merge "Fix sigsuspend to use rt_sigsuspend on all platforms."
* commit '87fc78de6c869d0403ccdd2e756ec1f5d456f3d3':
  Fix sigsuspend to use rt_sigsuspend on all platforms.
2013-10-15 18:20:32 -07:00
Elliott Hughes
c9da332cce Remove support for the useless 'custom' option in SYSCALLS.TXT.
This cruft dates from a time when bionic would only output syscall
contants for the syscalls mentioned in SYSCALLS.TXT. I fixed that
a long time ago, but never followed through with the removal of what
was then confusingly called "stub" and was recently renamed "custom".

Change-Id: I8f3872a200b2dc8325e357cc5ee505ea4212ef95
2013-10-15 18:18:58 -07:00
Elliott Hughes
87fc78de6c am 608c65f6: Merge "Fix sigsuspend to use rt_sigsuspend on all platforms."
* commit '608c65f6955213179db4140cc57c40a2a88d5846':
  Fix sigsuspend to use rt_sigsuspend on all platforms.
2013-10-15 18:17:53 -07:00
Elliott Hughes
608c65f695 Merge "Fix sigsuspend to use rt_sigsuspend on all platforms." 2013-10-16 01:16:00 +00:00
Elliott Hughes
1f5af926fa Fix sigsuspend to use rt_sigsuspend on all platforms.
Change-Id: I981c1a66d35480d4457a0a08a1b042dac94daa5b
2013-10-15 18:15:19 -07:00
Elliott Hughes
f2a760dca7 am a85606e1: am c100a100: Merge "\'Avoid confusing "read prevented write" log messages\' 2."
* commit 'a85606e1563c2153bea3c73dfe4ca1588e778f22':
  'Avoid confusing "read prevented write" log messages' 2.
2013-10-15 17:38:17 -07:00
Elliott Hughes
a85606e156 am c100a100: Merge "\'Avoid confusing "read prevented write" log messages\' 2."
* commit 'c100a10069a16eca57f5f9ab838ff98d7db6eb03':
  'Avoid confusing "read prevented write" log messages' 2.
2013-10-15 17:35:27 -07:00
Elliott Hughes
c100a10069 Merge "'Avoid confusing "read prevented write" log messages' 2." 2013-10-16 00:31:20 +00:00
Elliott Hughes
68b67113a4 'Avoid confusing "read prevented write" log messages' 2.
This time it's assembler.

Change-Id: Iae6369833b8046b8eda70238bb4ed0cae64269ea
2013-10-15 17:17:05 -07:00
Elliott Hughes
cbfa1afda3 am 0287db52: am d9913b0b: Merge "Make pthread_create report sched_setscheduler failures on LP64."
* commit '0287db52ed93df39ab45c7f60a241ae621866b90':
  Make pthread_create report sched_setscheduler failures on LP64.
2013-10-15 17:14:59 -07:00
Elliott Hughes
0287db52ed am d9913b0b: Merge "Make pthread_create report sched_setscheduler failures on LP64."
* commit 'd9913b0b0dfad473bd1cb81463ac0d6b68a0deb6':
  Make pthread_create report sched_setscheduler failures on LP64.
2013-10-15 17:12:16 -07:00
Elliott Hughes
d9913b0b0d Merge "Make pthread_create report sched_setscheduler failures on LP64." 2013-10-16 00:09:54 +00:00
Christopher Ferris
03ce517178 am fbefb252: Modify prefetch for krait memcpy.
* commit 'fbefb252b09634114977dbd1b48dd42bb2629b83':
  Modify prefetch for krait memcpy.
2013-10-15 17:08:32 -07:00
Elliott Hughes
df17ce7858 am 26491483: am 76725214: Merge "Avoid confusing "read prevented write" log messages."
* commit '264914838d1c22c15ed0069d1217a780835c6d1c':
  Avoid confusing "read prevented write" log messages.
2013-10-15 16:58:19 -07:00
Elliott Hughes
b01ebe6d4e am 14e7482c: am d16391bb: Merge "Fix indentation in sched_getaffinity."
* commit '14e7482c556820d8ad3b77f025dfc465d55c7262':
  Fix indentation in sched_getaffinity.
2013-10-15 16:58:19 -07:00
Elliott Hughes
264914838d am 76725214: Merge "Avoid confusing "read prevented write" log messages."
* commit '7672521440c8b7f98795c3fb4295227398e3e296':
  Avoid confusing "read prevented write" log messages.
2013-10-15 16:56:34 -07:00
Elliott Hughes
14e7482c55 am d16391bb: Merge "Fix indentation in sched_getaffinity."
* commit 'd16391bb88d92a58e3492921ac75a1d5d86031b7':
  Fix indentation in sched_getaffinity.
2013-10-15 16:56:33 -07:00
Elliott Hughes
7672521440 Merge "Avoid confusing "read prevented write" log messages." 2013-10-15 23:53:45 +00:00
Elliott Hughes
d16391bb88 Merge "Fix indentation in sched_getaffinity." 2013-10-15 23:53:25 +00:00
Elliott Hughes
98624c3746 Make pthread_create report sched_setscheduler failures on LP64.
We couldn't fix this for 32-bit because there's too much broken
code out there. (Pretty much everyone asks for real-time
scheduling for all their threads, and the kernel says "don't be
stupid".)

Change-Id: I43c5271e6b6bb91278b9a19eec08cbf05391e3c4
2013-10-15 16:51:17 -07:00
Elliott Hughes
0cfc95e010 Fix indentation in sched_getaffinity.
Change-Id: I966852149a0255ca132cd7a15f135a875ce400d0
2013-10-15 16:49:49 -07:00
Elliott Hughes
d1eda33f01 Avoid confusing "read prevented write" log messages.
Moving to a "function: message" style avoids ambiguity.

Change-Id: If9d590e50265c61725d3673bd03796e65edd2d5e
2013-10-15 16:49:28 -07:00
Christopher Ferris
289c460c55 am ac6bc319: Remove new aligned memcpy path for cortex-a15.
* commit 'ac6bc31942e58c8893c0695d9766d0f3e39335fe':
  Remove new aligned memcpy path for cortex-a15.
2013-10-15 16:17:14 -07:00
Christopher Ferris
d77ff4f423 am 76d78dc0: am dc9d8d05: Merge "Modify prefetch for krait memcpy."
* commit '76d78dc0441ba982438ef613a8d6f2f65c6834e0':
  Modify prefetch for krait memcpy.
2013-10-15 14:19:27 -07:00
Christopher Ferris
76d78dc044 am dc9d8d05: Merge "Modify prefetch for krait memcpy."
* commit 'dc9d8d050a43e1cd32f1337e79187124bb15d938':
  Modify prefetch for krait memcpy.
2013-10-15 14:16:47 -07:00
Elliott Hughes
4681f8244e am 5b3f1d8b: am 22b83da4: Merge "Clean up the sigprocmask/pthread_sigmask implementation."
* commit '5b3f1d8b3a6a1caf059dc376e4967a27ddd57dac':
  Clean up the sigprocmask/pthread_sigmask implementation.
2013-10-15 14:16:02 -07:00
Elliott Hughes
5b3f1d8b3a am 22b83da4: Merge "Clean up the sigprocmask/pthread_sigmask implementation."
* commit '22b83da476263bff28fcc6a4696ced58b61d2c1d':
  Clean up the sigprocmask/pthread_sigmask implementation.
2013-10-15 14:13:32 -07:00
Christopher Ferris
dc9d8d050a Merge "Modify prefetch for krait memcpy." 2013-10-15 21:12:31 +00:00
Elliott Hughes
22b83da476 Merge "Clean up the sigprocmask/pthread_sigmask implementation." 2013-10-15 21:10:21 +00:00
Christopher Ferris
c3c58fb560 Modify prefetch for krait memcpy.
I originally modified the krait mainloop prefetch from cacheline * 8 to * 2.
This causes a perf degradation for copies bigger than will fit in the cache.
Fixing this back to the original * 8. I tried other multiples, but * 8 is th
sweet spot on krait.

Bug: 11221806

Change-Id: I1f75fad6440f7417e664795a6e7b5616f6a29c45
2013-10-15 12:10:06 -07:00
Elliott Hughes
19e62325c2 Clean up the sigprocmask/pthread_sigmask implementation.
Let's have both use rt_sigprocmask, like in glibc. The 64-bit ABIs
can share the same code as the 32-bit ABIs.

Also, let's test the return side of these calls, not just the
setting.

Bug: 11069919
Change-Id: I11da99f85b5b481870943c520d05ec929b15eddb
2013-10-15 11:23:57 -07:00
Stephen Hines
8161b23689 am 4691325d: am abeafbd6: Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors."
* commit '4691325d48406033632fe84a944ac9c3bd2e5097':
  Wrap sprintf()/snprintf() macros to prevent expansion errors.
2013-10-11 16:33:07 -07:00
Stephen Hines
78f6db64fe am 36959302: am 8704ada3: Merge "Fix clang warnings in bionic."
* commit '36959302a334499c7d2ddf4a090e2ab7e3a8ae1d':
  Fix clang warnings in bionic.
2013-10-11 16:33:03 -07:00
Stephen Hines
4691325d48 am abeafbd6: Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors."
* commit 'abeafbd6d5e11044dd305e48134bc3d84319a3da':
  Wrap sprintf()/snprintf() macros to prevent expansion errors.
2013-10-11 16:30:04 -07:00
Stephen Hines
36959302a3 am 8704ada3: Merge "Fix clang warnings in bionic."
* commit '8704ada3d8fae067ed48c2b6da5a1ba4ab062e1a':
  Fix clang warnings in bionic.
2013-10-11 16:30:03 -07:00
Stephen Hines
abeafbd6d5 Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors." 2013-10-11 23:28:32 +00:00
Stephen Hines
8704ada3d8 Merge "Fix clang warnings in bionic." 2013-10-11 23:27:40 +00:00
Stephen Hines
6c7b3cb056 Fix clang warnings in bionic.
This fixes a few diverse issues that clang warns on in bionic. First,
it specifies the appropriate converted types for format specifiers.
The "h" and "hh" modifiers specify that the user is passing a short or
char respectively. We were passing int deliberately in both cases and
relying on the compiler to implicitly downcast to the smaller type.
We also remove the non-standard "d" suffix from our double-precision
floating point constant. This is an extension for gcc that clang does
not implement. The third fix is to mark the c1 variable as unused,
since it truly is neither read nor written.

Change-Id: I4793352b9d3e58f1f4cac9e7581ef4b2a70b43c7
2013-10-11 16:20:08 -07:00
Stephen Hines
6e38072add Wrap sprintf()/snprintf() macros to prevent expansion errors.
Previously, FORTIFY_SOURCE used single macros to define these standard
functions for use with clang. This can cause conflicts with other macros used
to call these functions, particularly when those macros expand the number of
arguments to the function. This change wraps our macro definitions, so that
expansion properly takes place for programmer arguments first.

Change-Id: I55929b1fd2a643b9d14a17631c4bcab3b0b712cf
2013-10-11 12:14:49 -07:00
Nick Kralevich
49bb53c8e2 am 95de0df8: am eda2679e: Merge "FORTIFY_SOURCE: fortify read()"
* commit '95de0df8c2daeefca358010f2d15c3346a5284f1':
  FORTIFY_SOURCE: fortify read()
2013-10-09 21:28:52 -07:00
Elliott Hughes
2d38f0c1c7 am 21d70d5f: am 39385aa7: Merge "Clean up the cpuacct cruft."
* commit '21d70d5fd8ff2823a6879d59c7d5a8d6c3e0ce8b':
  Clean up the cpuacct cruft.
2013-10-09 21:28:51 -07:00
Nick Kralevich
95de0df8c2 am eda2679e: Merge "FORTIFY_SOURCE: fortify read()"
* commit 'eda2679e30b997d036e0ec572cda054adc2ac3a6':
  FORTIFY_SOURCE: fortify read()
2013-10-09 21:25:51 -07:00
Elliott Hughes
21d70d5fd8 am 39385aa7: Merge "Clean up the cpuacct cruft."
* commit '39385aa78c5d437cfabc26a1bccdf050a8c94ac4':
  Clean up the cpuacct cruft.
2013-10-09 21:25:50 -07:00
Nick Kralevich
eda2679e30 Merge "FORTIFY_SOURCE: fortify read()" 2013-10-10 04:11:48 +00:00
Elliott Hughes
39385aa78c Merge "Clean up the cpuacct cruft." 2013-10-10 04:08:44 +00:00
Nick Kralevich
b036b5ca36 FORTIFY_SOURCE: fortify read()
Change-Id: Ic7de163fe121db13e00560adb257331bc709814d
2013-10-09 20:17:03 -07:00
Elliott Hughes
232163cf70 Clean up the cpuacct cruft.
Change-Id: I6ed63af8dfc2368e211420389fa8af4d5dc0908f
2013-10-09 17:35:36 -07:00
Elliott Hughes
7e049ba470 am 28b8557d: am 92f3cc50: Merge "x86_64: Rename 64-bit linker to linker64"
* commit '28b8557d4c117f41cf3fb9c55e30adeb6e46757b':
  x86_64: Rename 64-bit linker to linker64
2013-10-09 16:56:27 -07:00
Elliott Hughes
28b8557d4c am 92f3cc50: Merge "x86_64: Rename 64-bit linker to linker64"
* commit '92f3cc50c8d884d1eb3496ebfba7d3916fc711e8':
  x86_64: Rename 64-bit linker to linker64
2013-10-09 16:54:16 -07:00
Nick Kralevich
b8771d9fd8 am b35ebe3d: am 848efa9d: Merge "Revert "FORTIFY_SOURCE: fortify read()""
* commit 'b35ebe3d7097899fd4498ebb2b93e48fd836ebcf':
  Revert "FORTIFY_SOURCE: fortify read()"
2013-10-09 16:53:05 -07:00
Elliott Hughes
92f3cc50c8 Merge "x86_64: Rename 64-bit linker to linker64" 2013-10-09 23:51:29 +00:00
Nick Kralevich
b35ebe3d70 am 848efa9d: Merge "Revert "FORTIFY_SOURCE: fortify read()""
* commit '848efa9dae84ac4e5e45869abe26225affeb2038':
  Revert "FORTIFY_SOURCE: fortify read()"
2013-10-09 16:50:54 -07:00
Pavel Chupin
1a57f9f75c x86_64: Rename 64-bit linker to linker64
That's for having both on the same system.

Change-Id: Ic2bc2c015e6486e8b6a7576f7b28d2d027534368
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-09 16:50:30 -07:00
Elliott Hughes
41f56e29c7 am c7559aea: am 777ebe86: Merge "Fix MIPS build."
* commit 'c7559aeaf17a7c38392d2dc8f79c77316a24c8c0':
  Fix MIPS build.
2013-10-09 16:49:46 -07:00
Nick Kralevich
848efa9dae Merge "Revert "FORTIFY_SOURCE: fortify read()"" 2013-10-09 23:47:58 +00:00
Elliott Hughes
c7559aeaf1 am 777ebe86: Merge "Fix MIPS build."
* commit '777ebe86677f6fd88c87995652146b2ead19a95f':
  Fix MIPS build.
2013-10-09 16:46:33 -07:00
Nick Kralevich
8d25327639 Revert "FORTIFY_SOURCE: fortify read()"
This change reverts
* fb3f956d07.
* 65c99de2cb

Change-Id: Id5774eeede41130579115cf67a72ee914f2b47d5
2013-10-09 16:46:25 -07:00
Elliott Hughes
777ebe8667 Merge "Fix MIPS build." 2013-10-09 23:43:24 +00:00
Elliott Hughes
14b467e840 Fix MIPS build.
Warnings are errors for all home-grown bionic code, and the arch-specific
code now counts as home-grown bionic code (it was mistakenly counted as
"not ours" before).

Change-Id: I9c6a881b0dc596bae7dfe112c5c189e073800a3a
2013-10-09 16:40:33 -07:00
Elliott Hughes
6b6c5791a0 am aa3c17e8: am 37953ee3: Merge "Fix build."
* commit 'aa3c17e8f8b9b3b5b8dc3c7c0fbe85b774f83722':
  Fix build.
2013-10-09 16:39:06 -07:00
Elliott Hughes
1cdc9fe6d5 am 8826ba8a: am bc545e8a: Merge "Fix x86_64 build, clean up intermediate libraries."
* commit '8826ba8ab6922927bdac2466d2903916d5806a06':
  Fix x86_64 build, clean up intermediate libraries.
2013-10-09 16:35:46 -07:00
Elliott Hughes
aa3c17e8f8 am 37953ee3: Merge "Fix build."
* commit '37953ee3feb60b84e43349df0b13544367ca1cd7':
  Fix build.
2013-10-09 16:33:59 -07:00
Nick Kralevich
45e3076cdc am 731ced6b: am c147478c: Merge "FORTIFY_SOURCE: fortify read()"
* commit '731ced6b289629a552b5841561fdcccf08d8c43a':
  FORTIFY_SOURCE: fortify read()
2013-10-09 16:32:25 -07:00
Elliott Hughes
8826ba8ab6 am bc545e8a: Merge "Fix x86_64 build, clean up intermediate libraries."
* commit 'bc545e8a98dd4e1148e8b9c9ca491d1a481ee94d':
  Fix x86_64 build, clean up intermediate libraries.
2013-10-09 16:30:42 -07:00
Elliott Hughes
37953ee3fe Merge "Fix build." 2013-10-09 23:30:39 +00:00
Elliott Hughes
fb3f956d07 Fix build.
'private' is no longer on the default include path inside bionic.

Change-Id: I9bfab213a496fac585787118603af3aa2a1f9951
2013-10-09 16:29:42 -07:00
Elliott Hughes
bc545e8a98 Merge "Fix x86_64 build, clean up intermediate libraries." 2013-10-09 23:29:00 +00:00
Nick Kralevich
731ced6b28 am c147478c: Merge "FORTIFY_SOURCE: fortify read()"
* commit 'c147478cb75cfaa2aadc67fd920e8765503d97cc':
  FORTIFY_SOURCE: fortify read()
2013-10-09 16:25:15 -07:00
Nick Kralevich
c147478cb7 Merge "FORTIFY_SOURCE: fortify read()" 2013-10-09 23:23:27 +00:00
Elliott Hughes
eb847bc866 Fix x86_64 build, clean up intermediate libraries.
The x86_64 build was failing because clone.S had a call to __thread_entry which
was being added to a different intermediate .a on the way to making libc.so,
and the linker couldn't guarantee statically that such a relocation would be
possible.

  ld: error: out/target/product/generic_x86_64/obj/STATIC_LIBRARIES/libc_common_intermediates/libc_common.a(clone.o): requires dynamic R_X86_64_PC32 reloc against '__thread_entry' which may overflow at runtime; recompile with -fPIC

This patch addresses that by ensuring that the caller and callee end up in the
same intermediate .a. While I'm here, I've tried to clean up some of the mess
that led to this situation too. In particular, this removes libc/private/ from
the default include path (except for the DNS code), and splits out the DNS
code into its own library (since it's a weird special case of upstream NetBSD
code that's diverged so heavily it's unlikely ever to get back in sync).

There's more cleanup of the DNS situation possible, but this is definitely a
step in the right direction, and it's more than enough to get x86_64 building
cleanly.

Change-Id: I00425a7245b7a2573df16cc38798187d0729e7c4
2013-10-09 16:00:17 -07:00
Elliott Hughes
ac045c32d0 am f83148af: am 0c17099a: Merge "Fix __errno for LP64 and clean up __get_tls."
* commit 'f83148af74704c574ad1bf60082f2f56bcb29706':
  Fix __errno for LP64 and clean up __get_tls.
2013-10-09 13:52:56 -07:00
Elliott Hughes
f83148af74 am 0c17099a: Merge "Fix __errno for LP64 and clean up __get_tls."
* commit '0c17099a71cb5d1b36b7aab66fd7341b3fc9106d':
  Fix __errno for LP64 and clean up __get_tls.
2013-10-09 13:51:14 -07:00
Elliott Hughes
0c17099a71 Merge "Fix __errno for LP64 and clean up __get_tls." 2013-10-09 20:49:10 +00:00
Nick Kralevich
65c99de2cb FORTIFY_SOURCE: fortify read()
Change-Id: I3d7b4ec86d04efb865117ce7629a2e26917f3331
2013-10-09 13:44:38 -07:00
Elliott Hughes
2a0b873065 Fix __errno for LP64 and clean up __get_tls.
If __get_tls has the right type, a lot of confusing casting can disappear.

It was probably a mistake that __get_tls was exposed as a function for mips
and x86 (but not arm), so let's (a) ensure that the __get_tls function
always matches the macro, (b) that we have the function for arm too, and
(c) that we don't have the function for any 64-bit architecture.

Change-Id: Ie9cb989b66e2006524ad7733eb6e1a65055463be
2013-10-09 13:39:13 -07:00
Elliott Hughes
7c98d1304d am 898fd6a1: am 777a4ee6: Merge "Fix 32-bit build."
* commit '898fd6a1f0d8a540a3b8950f18e0858042279001':
  Fix 32-bit build.
2013-10-08 18:46:10 -07:00
Elliott Hughes
898fd6a1f0 am 777a4ee6: Merge "Fix 32-bit build."
* commit '777a4ee6771e6fe3362ef4f24244a44fcd0aabe4':
  Fix 32-bit build.
2013-10-08 18:43:56 -07:00
Elliott Hughes
777a4ee677 Merge "Fix 32-bit build." 2013-10-09 01:41:46 +00:00
Elliott Hughes
51aeff7021 Fix 32-bit build.
libc/tzcode/localtime.c: In function 'differ_by_repeat':
  libc/tzcode/localtime.c:338:2: error: comparison is always false due to limited range of data type [-Werror=type-limits]

Change-Id: Ic84be6391a66e9d50ed98f41d865387c77a60ffa
2013-10-08 18:30:44 -07:00
Elliott Hughes
e17457fbf5 am 3c13dade: am 14b66bff: Merge "Fix malloc debugging for LP64."
* commit '3c13daded375cad5fc77613872a85639cd09f54f':
  Fix malloc debugging for LP64.
2013-10-08 17:28:25 -07:00
Elliott Hughes
5ca2f97fb6 am 5596240c: am 65e1c48d: Merge "Don\'t allow int<->pointer conversions."
* commit '5596240cc86920115cffbfe7aac66116d5136a0b':
  Don't allow int<->pointer conversions.
2013-10-08 17:28:25 -07:00
Elliott Hughes
8cc98f0b1e am 54c7ef7f: am 7027841d: Merge "Fix bionic\'s built-in stack trace dumping for LP64."
* commit '54c7ef7fbd1f79ae490eb737f558fccf3c1dbd55':
  Fix bionic's built-in stack trace dumping for LP64.
2013-10-08 17:28:24 -07:00
Elliott Hughes
3c13daded3 am 14b66bff: Merge "Fix malloc debugging for LP64."
* commit '14b66bffb08d23ad16d69b62d1fbfda769db1c12':
  Fix malloc debugging for LP64.
2013-10-08 17:22:52 -07:00
Elliott Hughes
5596240cc8 am 65e1c48d: Merge "Don\'t allow int<->pointer conversions."
* commit '65e1c48df095b2af53340ab55f687d5b1c638d66':
  Don't allow int<->pointer conversions.
2013-10-08 17:22:51 -07:00
Elliott Hughes
54c7ef7fbd am 7027841d: Merge "Fix bionic\'s built-in stack trace dumping for LP64."
* commit '7027841d8fe27f0cd42ca16db156ebea721f68a8':
  Fix bionic's built-in stack trace dumping for LP64.
2013-10-08 17:22:51 -07:00
Elliott Hughes
14b66bffb0 Merge "Fix malloc debugging for LP64." 2013-10-09 00:20:08 +00:00
Elliott Hughes
65e1c48df0 Merge "Don't allow int<->pointer conversions." 2013-10-09 00:18:50 +00:00
Elliott Hughes
7027841d8f Merge "Fix bionic's built-in stack trace dumping for LP64." 2013-10-09 00:18:44 +00:00
Elliott Hughes
2ec400bfc7 Don't allow int<->pointer conversions.
Normally we don't have -Werror for upstream code, but for those warnings
that probably point to 32-bit assumptions about pointers, we want those
warnings to always be errors.

Change-Id: Ibece9caf09b2f7989ca600ef448d07868669a8fb
2013-10-08 17:04:33 -07:00
Elliott Hughes
c7c5f85ead Fix bionic's built-in stack trace dumping for LP64.
Change-Id: I967c5789d7bb2d3d248d94d81a40d5ec4e1bf26d
2013-10-08 17:02:26 -07:00
Elliott Hughes
ef0696d46a Fix malloc debugging for LP64.
Change-Id: Idd0b239f5c66d45de315d556271a5d13b8eb907c
2013-10-08 16:18:55 -07:00
Elliott Hughes
e769368d76 am c8bd2c2e: am 458076c3: Merge "Fix the ALIGN and ALIGNBYTES macros for LP64."
* commit 'c8bd2c2e45c93b999a40449e4c6f44470f010367':
  Fix the ALIGN and ALIGNBYTES macros for LP64.
2013-10-08 16:15:33 -07:00
Elliott Hughes
c8bd2c2e45 am 458076c3: Merge "Fix the ALIGN and ALIGNBYTES macros for LP64."
* commit '458076c3c7f41c72e0d1ae8da23907f75427ca3a':
  Fix the ALIGN and ALIGNBYTES macros for LP64.
2013-10-08 16:13:17 -07:00
Elliott Hughes
458076c3c7 Merge "Fix the ALIGN and ALIGNBYTES macros for LP64." 2013-10-08 23:09:54 +00:00
Ed Heyl
53f30951d3 am f87684ee: merge in KQS81M
* commit 'f87684eea10d951b056ce664bc890d7607a3c1cf':
  Use kernel default for initial thread size
2013-10-08 15:45:46 -07:00
Elliott Hughes
78df45e1d1 Fix the ALIGN and ALIGNBYTES macros for LP64.
Change-Id: I3a361255afce375ab1cefa449721f0aea4d47919
2013-10-08 15:31:44 -07:00
Elliott Hughes
42b618cffe am 58b8f225: am 5cf1f229: Merge "pthread_exit should call __NR_exit with status 0."
* commit '58b8f2256637c5b1e24b568b699fb3aa6cf0ca96':
  pthread_exit should call __NR_exit with status 0.
2013-10-08 15:06:49 -07:00
Elliott Hughes
58b8f22566 am 5cf1f229: Merge "pthread_exit should call __NR_exit with status 0."
* commit '5cf1f229620d02c0ca266c9e03418fdeefd85191':
  pthread_exit should call __NR_exit with status 0.
2013-10-08 15:04:45 -07:00
Elliott Hughes
5cf1f22962 Merge "pthread_exit should call __NR_exit with status 0." 2013-10-08 22:02:20 +00:00
Elliott Hughes
caa0deeefb am 97368e82: am 242b2e0b: Merge "Use /system/lib64 and /vendor/lib64 for 64-bit libraries."
* commit '97368e823250fcc0b48f6f392df77c275bf3c5e1':
  Use /system/lib64 and /vendor/lib64 for 64-bit libraries.
2013-10-08 14:54:01 -07:00
Elliott Hughes
97368e8232 am 242b2e0b: Merge "Use /system/lib64 and /vendor/lib64 for 64-bit libraries."
* commit '242b2e0b928f83083f60bbb856309122981299af':
  Use /system/lib64 and /vendor/lib64 for 64-bit libraries.
2013-10-08 14:52:04 -07:00
Elliott Hughes
242b2e0b92 Merge "Use /system/lib64 and /vendor/lib64 for 64-bit libraries." 2013-10-08 21:50:34 +00:00
Elliott Hughes
c4c6e192ac pthread_exit should call __NR_exit with status 0.
We shouldn't have been passing the bottom 32 bits of the address used
for pthread_join to the kernel.

Change-Id: I487e5002d60c27adba51173719213abbee0f183f
2013-10-08 14:48:05 -07:00
Elliott Hughes
011bc0ba45 Use /system/lib64 and /vendor/lib64 for 64-bit libraries.
Change-Id: I4886aeb3070bf97b4cfe8053388ecb1bda288017
2013-10-08 14:27:10 -07:00
Elliott Hughes
6260fa5025 am ee9da565: am 58522099: Merge "Make logging fall back to /dev/stderr if we\'re on the host."
* commit 'ee9da5653361f0171e417a4bcb1958a2b91f886d':
  Make logging fall back to /dev/stderr if we're on the host.
2013-10-08 13:47:48 -07:00
Elliott Hughes
ee9da56533 am 58522099: Merge "Make logging fall back to /dev/stderr if we\'re on the host."
* commit '58522099e52be3b5eba702ee6e82c03050e0dcca':
  Make logging fall back to /dev/stderr if we're on the host.
2013-10-08 13:45:05 -07:00
Elliott Hughes
58522099e5 Merge "Make logging fall back to /dev/stderr if we're on the host." 2013-10-08 20:42:36 +00:00
Elliott Hughes
0f395b7ba0 Make logging fall back to /dev/stderr if we're on the host.
Otherwise you get no logging, which sucks.

Change-Id: Iea1e8f996461afbb217a55711b7967005c39cfcb
2013-10-08 13:19:00 -07:00
Elliott Hughes
2f2e8b9778 am 4a5c4711: am 9c710927: Merge "Use linker64 for the 64-bit linker."
* commit '4a5c471162b79a12402ab41a68037a2453b83eaa':
  Use linker64 for the 64-bit linker.
2013-10-08 11:41:21 -07:00
Elliott Hughes
4a5c471162 am 9c710927: Merge "Use linker64 for the 64-bit linker."
* commit '9c710927ab33a663a5ba34b15902e7062523f8e3':
  Use linker64 for the 64-bit linker.
2013-10-08 11:39:45 -07:00
Elliott Hughes
9c710927ab Merge "Use linker64 for the 64-bit linker." 2013-10-08 18:37:22 +00:00
Elliott Hughes
2ad80c46ba am 24f4da96: am 3df50f57: Merge "Use C99 structure initializer designator style."
* commit '24f4da964263b04d3a89575d42272bf897cddec3':
  Use C99 structure initializer designator style.
2013-10-08 10:08:08 -07:00
Elliott Hughes
24f4da9642 am 3df50f57: Merge "Use C99 structure initializer designator style."
* commit '3df50f57e5c106dd70483d4a0a295aa031a5906b':
  Use C99 structure initializer designator style.
2013-10-08 10:05:20 -07:00
Elliott Hughes
d7398f146d Use linker64 for the 64-bit linker.
Change-Id: I13fc7f93274f99e4cf99b077afdf5293e7233f39
2013-10-08 10:05:05 -07:00
Elliott Hughes
5d389a0acf am b1f4f9aa: am 26933f40: Merge "x86_64 linker."
* commit 'b1f4f9aabd4e9f4019e2f1637ec38e6bfdfa3c6b':
  x86_64 linker.
2013-10-08 10:04:31 -07:00
Elliott Hughes
b1f4f9aabd am 26933f40: Merge "x86_64 linker."
* commit '26933f4046d7362bfd276fc208e959a733a121c2':
  x86_64 linker.
2013-10-08 10:01:46 -07:00
Elliott Hughes
3df50f57e5 Merge "Use C99 structure initializer designator style." 2013-10-08 17:01:42 +00:00
Elliott Hughes
afac15d686 Use C99 structure initializer designator style.
clang warns about using the GCC style of designator.

Change-Id: I86ec79f06c8774618082859f48d7d1f576520e32
2013-10-08 10:01:09 -07:00
Elliott Hughes
26933f4046 Merge "x86_64 linker." 2013-10-08 16:59:17 +00:00
Elliott Hughes
d2e0b1e777 am 83b5acf4: am 5d06718c: Merge "Refactor the syscall generation script."
* commit '83b5acf418544394011ee2f29829b5c1791a52eb':
  Refactor the syscall generation script.
2013-10-08 09:58:04 -07:00
Elliott Hughes
c00f2cb587 x86_64 linker.
Based on I8dc3e2cb596f75dc58ae82e4dc58f8c177dd3323 by
Pavel Chupin <pavel.v.chupin@intel.com>.

Change-Id: Icd582d277cbe273477b450f2848343d72c86ec9f
2013-10-08 09:57:01 -07:00
Elliott Hughes
83b5acf418 am 5d06718c: Merge "Refactor the syscall generation script."
* commit '5d06718cd357b509588465ec1fa261db23b5899a':
  Refactor the syscall generation script.
2013-10-08 09:55:27 -07:00
Elliott Hughes
5d06718cd3 Merge "Refactor the syscall generation script." 2013-10-08 16:53:02 +00:00
Elliott Hughes
6c3e26ad34 am 64cb7e36: am 0c1379e4: Merge "Fix Clang warning since KernelArgumentBlock is actually a class."
* commit '64cb7e36bf96850f0de1d3d8cf01cf18285797b0':
  Fix Clang warning since KernelArgumentBlock is actually a class.
2013-10-08 09:18:47 -07:00
Elliott Hughes
64cb7e36bf am 0c1379e4: Merge "Fix Clang warning since KernelArgumentBlock is actually a class."
* commit '0c1379e42ddc7f135403fb06f115ed62396c6102':
  Fix Clang warning since KernelArgumentBlock is actually a class.
2013-10-08 09:16:07 -07:00
Elliott Hughes
0c1379e42d Merge "Fix Clang warning since KernelArgumentBlock is actually a class." 2013-10-08 16:12:54 +00:00
Stephen Hines
99f0e1a329 Fix Clang warning since KernelArgumentBlock is actually a class.
Change-Id: Id72868d80feffbbc5f7d1e43beaed5d4e4d95f52
2013-10-08 00:08:13 -07:00
Elliott Hughes
0437f3ff29 Refactor the syscall generation script.
Primarily so that the new x86_64 alias functionality is now available for
all architectures.

Change-Id: I9fde59093a1d08de98923f121a6e3d05ec5801d2
2013-10-07 23:53:13 -07:00
Elliott Hughes
f662660ca3 am 4501a00b: am d2b6b5f2: Merge "Add an optional alias list to SYSCALLS.TXT"
* commit '4501a00be35f2fc851795ac8b15b8956eab69c27':
  Add an optional alias list to SYSCALLS.TXT
2013-10-07 23:07:09 -07:00
Elliott Hughes
4501a00be3 am d2b6b5f2: Merge "Add an optional alias list to SYSCALLS.TXT"
* commit 'd2b6b5f2dbe56f19b6143f876e2677da1735bb5d':
  Add an optional alias list to SYSCALLS.TXT
2013-10-07 23:05:08 -07:00
Elliott Hughes
d2b6b5f2db Merge "Add an optional alias list to SYSCALLS.TXT" 2013-10-08 06:03:01 +00:00
Elliott Hughes
911214d582 am 3fce4015: Upgrade to tzdata2013g.
* commit '3fce4015902bcf8d4257ee7624d463d92453b602':
  Upgrade to tzdata2013g.
2013-10-07 15:12:09 -07:00
Elliott Hughes
af19e09b02 resolved conflicts for merge of e1fe52cc to klp-dev-plus-aosp
Change-Id: Id3f3176a842fb4bb45f4f48773e6e27ea7d8769f
2013-10-07 15:10:00 -07:00
Elliott Hughes
46a091f5f1 resolved conflicts for merge of 21f59276 to klp-dev-plus-aosp
Change-Id: Idab174c61b0e3122124aece6b7bf2179aea1536d
2013-10-07 15:04:47 -07:00
Elliott Hughes
5be92401e9 am 101a6987: am 5d40527a: Merge "libc: fix __cxa_atexit implicit declaration"
* commit '101a6987c1e3ebfabefb1692ada492b7c0da43ee':
  libc: fix __cxa_atexit implicit declaration
2013-10-07 11:36:40 -07:00
Elliott Hughes
101a6987c1 am 5d40527a: Merge "libc: fix __cxa_atexit implicit declaration"
* commit '5d40527aba85bfbd19155a6d7a6ea3bb3a541cb6':
  libc: fix __cxa_atexit implicit declaration
2013-10-07 11:35:28 -07:00
Elliott Hughes
5d40527aba Merge "libc: fix __cxa_atexit implicit declaration" 2013-10-07 18:33:51 +00:00
synergydev
589eaa4c72 libc: fix __cxa_atexit implicit declaration
Change-Id: Iacad18b332a717e4485c83df4bd42a850ff7699f
2013-10-07 11:33:20 -07:00
Elliott Hughes
3fc57ce6fd am d8d60a92: am 04cdfa67: Merge "Clean up the x86 and x86_64 _exit_with_stack_teardown implementations."
* commit 'd8d60a92e7029ff8eeae5cbe62db94972e6cc06d':
  Clean up the x86 and x86_64 _exit_with_stack_teardown implementations.
2013-10-07 10:53:08 -07:00
Elliott Hughes
d8d60a92e7 am 04cdfa67: Merge "Clean up the x86 and x86_64 _exit_with_stack_teardown implementations."
* commit '04cdfa67c7e4755ddbcd1d907f00d3cbdf6cd1f2':
  Clean up the x86 and x86_64 _exit_with_stack_teardown implementations.
2013-10-07 10:51:24 -07:00
Elliott Hughes
04cdfa67c7 Merge "Clean up the x86 and x86_64 _exit_with_stack_teardown implementations." 2013-10-07 17:49:19 +00:00
H.J. Lu
6fe4e87954 Add an optional alias list to SYSCALLS.TXT
This patch adds an optional alias list to SYSCALLS.TXT.  It is used to
create aliases for a syscall.  For x86-64, lseek64 is an alias for lseek.

Change-Id: Icb11fd2bb461ea4f5f0a26bfc585471d7d7cc468
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-07 21:37:12 +04:00
Elliott Hughes
4d388c6a32 am 019d0f33: am d262e17e: Merge "Don\'t define the meaningless SOFTFLOAT for x86."
* commit '019d0f33478f10ebd2c885e6a920d3bbed7a8de3':
  Don't define the meaningless SOFTFLOAT for x86.
2013-10-07 10:32:25 -07:00
Elliott Hughes
019d0f3347 am d262e17e: Merge "Don\'t define the meaningless SOFTFLOAT for x86."
* commit 'd262e17ec13b9a844940c12c90b30334f6ad744c':
  Don't define the meaningless SOFTFLOAT for x86.
2013-10-07 10:29:32 -07:00
Elliott Hughes
d262e17ec1 Merge "Don't define the meaningless SOFTFLOAT for x86." 2013-10-07 17:27:18 +00:00
Elliott Hughes
a97cc5b458 Clean up the x86 and x86_64 _exit_with_stack_teardown implementations.
Change-Id: I4bcbbc53893612bd94643ef07722becb00f91792
2013-10-07 10:25:11 -07:00
Elliott Hughes
ee489f6ad2 Don't define the meaningless SOFTFLOAT for x86.
Change-Id: I9f932ad5d9f731a0de18efb881d02cedf9fcbede
2013-10-07 09:53:44 -07:00
Elliott Hughes
22678c4db9 am dd384c3e: am a6e9ae80: Merge "Fix MIPS build."
* commit 'dd384c3e7bae2e55981aeadee42f5ee0049219ec':
  Fix MIPS build.
2013-10-06 22:37:44 -07:00
Elliott Hughes
dd384c3e7b am a6e9ae80: Merge "Fix MIPS build."
* commit 'a6e9ae80e51bffa40e600beb38e7796d2ef45242':
  Fix MIPS build.
2013-10-06 22:35:05 -07:00
Elliott Hughes
a6e9ae80e5 Merge "Fix MIPS build." 2013-10-07 05:32:56 +00:00
Elliott Hughes
21e7164335 Fix MIPS build.
Although 'register' is deprecated, we need to use v1, and there's
no way to do that through register constraints on the assembler
fragment itself.

Change-Id: Ib5b12c4c3652513d10cc61d4a4b11314ece25663
2013-10-06 22:29:17 -07:00
Elliott Hughes
ddd8a91729 am 06ac96d1: am 4e965d95: Merge "libc: Remove deprecated register"
* commit '06ac96d134fe5c5f3797ef2adc9df837c45d74f3':
  libc: Remove deprecated register
2013-10-06 21:47:25 -07:00
Elliott Hughes
06ac96d134 am 4e965d95: Merge "libc: Remove deprecated register"
* commit '4e965d95cfe19cc7d3aefd9b8d0ad607475793fe':
  libc: Remove deprecated register
2013-10-06 21:45:58 -07:00
Elliott Hughes
4e965d95cf Merge "libc: Remove deprecated register" 2013-10-07 04:43:57 +00:00
Elliott Hughes
51bbfd6fb2 am 8eafc786: am fcfb6822: Merge "Upgrade to tzdata2013g."
* commit '8eafc786eadea69cd1e7fde8afd9372a94dffff6':
  Upgrade to tzdata2013g.
2013-10-06 20:03:24 -07:00
Elliott Hughes
8eafc786ea am fcfb6822: Merge "Upgrade to tzdata2013g."
* commit 'fcfb6822d1cd26d754d6f6f3bfd737b33c55b7db':
  Upgrade to tzdata2013g.
2013-10-06 20:00:14 -07:00
Elliott Hughes
fcfb6822d1 Merge "Upgrade to tzdata2013g." 2013-10-07 02:57:30 +00:00
synergydev
baa5874404 libc: Remove deprecated register
In c++11, register has been deprecated, and
libc is now built as gnu++11

From the documentation:
A register specifier is a hint to the implementation
that the variable so declared will be heavily used.
[ Note: The hint can be ignored and in most implementations
it will be ignored if the address of the variable is taken.
This use is deprecated (see D.2)

Change-Id: I459dc3f5f9de63fc09eeda3bc6700f31bdf20f6f
2013-10-06 13:25:02 -07:00
Elliott Hughes
40f072192f Upgrade to tzdata2013g.
From the release notes:

  Changes affecting current and near-future time stamps

    Morocco now observes DST from the last Sunday in March to the last
    Sunday in October, not April to September respectively.  (Thanks
    to Steffen Thorsen.)

Change-Id: I9a657a1b819ce17bb424474d4bcdae093f4c4dca
2013-10-06 11:35:34 -07:00
Elliott Hughes
9258c7b23e am b7d77a9e: am 56777421: Merge "Add arch-x86_64/include/machine."
* commit 'b7d77a9eb1effd5f0472dff14a8fe77d9da2c7a2':
  Add arch-x86_64/include/machine.
2013-10-04 16:21:25 -07:00
Elliott Hughes
b7d77a9eb1 am 56777421: Merge "Add arch-x86_64/include/machine."
* commit '5677742199456e96a5f5e006102a0bafa79747b2':
  Add arch-x86_64/include/machine.
2013-10-04 16:19:29 -07:00
Elliott Hughes
5677742199 Merge "Add arch-x86_64/include/machine." 2013-10-04 23:17:31 +00:00
Elliott Hughes
72645164b6 Add arch-x86_64/include/machine.
This is basically the other half of I5de76f6c46ac87779f207d568a86bb453e2414de
from Pavel Chupin <pavel.v.chupin@intel.com>, but taking the exact upstream
_types.h instead of the modified version. (I was confused when I suggested
otherwise.)

I've also cleaned up the internal_types.h situation; we weren't gaining
anything from these empty files, and there is no upstream internal_types.h
for x86_64.

Change-Id: I802a9a6a8df1c979e820659212c75a47c2ef392e
2013-10-04 16:10:13 -07:00
Elliott Hughes
12e62b4fe7 am fb8ce528: am 8fb977ba: Merge "Add arch-x86_64/bionic."
* commit 'fb8ce528373555a4b2782343e0b19e0b074e8e92':
  Add arch-x86_64/bionic.
2013-10-04 15:06:24 -07:00
Elliott Hughes
fb8ce52837 am 8fb977ba: Merge "Add arch-x86_64/bionic."
* commit '8fb977ba114e3fcb4965bc0211d3f9a409915994':
  Add arch-x86_64/bionic.
2013-10-04 15:04:53 -07:00
Elliott Hughes
8fb977ba11 Merge "Add arch-x86_64/bionic." 2013-10-04 22:02:07 +00:00
Elliott Hughes
4906e5653c Add arch-x86_64/bionic.
This is basically half of I5de76f6c46ac87779f207d568a86bb453e2414de from
Pavel Chupin <pavel.v.chupin@intel.com>, but with the stock upstream
setjump/sigsetjmp and H.J. Lu's suggested changes to __rt_sigreturn.

Change-Id: I8167ec228faeb2065391e5bec0413cca662f3d33
2013-10-04 14:55:30 -07:00
Nick Kralevich
7909bd19ab am 9da8b682: am c417d0a5: Merge "Make error messages even better!"
* commit '9da8b6829cb8febb70af46761b7f2ca19e6498ce':
  Make error messages even better!
2013-10-04 12:02:57 -07:00
Elliott Hughes
83b719a88e am c89f1db0: am 7021e438: Merge "x86_64: Remove lseek64 for x86_64 for a while"
* commit 'c89f1db0a92e4530f1a1686b3629d3d3960f825f':
  x86_64: Remove lseek64 for x86_64 for a while
2013-10-04 12:02:57 -07:00
Nick Kralevich
9da8b6829c am c417d0a5: Merge "Make error messages even better!"
* commit 'c417d0a5cd0743d691fc63cc1007979b836945a0':
  Make error messages even better!
2013-10-04 11:56:57 -07:00
Elliott Hughes
c89f1db0a9 am 7021e438: Merge "x86_64: Remove lseek64 for x86_64 for a while"
* commit '7021e438771f5328843e35e948838bf74392d353':
  x86_64: Remove lseek64 for x86_64 for a while
2013-10-04 11:56:56 -07:00
Elliott Hughes
bc109ea47d am aa3c74d1: am 57d9cebb: Merge "Remove useless x86 fallbacks."
* commit 'aa3c74d175634ab2222ee5a771b01e7434093dbf':
  Remove useless x86 fallbacks.
2013-10-04 11:53:25 -07:00
Nick Kralevich
c417d0a5cd Merge "Make error messages even better!" 2013-10-04 18:48:47 +00:00
Nick Kralevich
6861c6f85e Make error messages even better!
Change-Id: I72bd1eb1d526dc59833e5bc3c636171f7f9545af
2013-10-04 11:43:30 -07:00
Elliott Hughes
7021e43877 Merge "x86_64: Remove lseek64 for x86_64 for a while" 2013-10-04 18:30:56 +00:00
Pavel Chupin
9373bbb24b x86_64: Remove lseek64 for x86_64 for a while
Just to keep x86_64 libc buildable

Change-Id: I6e69abe2b699bc4ac12e41178ee080df5dac47b7
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-04 11:30:27 -07:00
Elliott Hughes
aa3c74d175 am 57d9cebb: Merge "Remove useless x86 fallbacks."
* commit '57d9cebbeaa63b9c3ca5c4f66938154fe7bb870c':
  Remove useless x86 fallbacks.
2013-10-04 11:07:03 -07:00
Elliott Hughes
57d9cebbea Merge "Remove useless x86 fallbacks." 2013-10-04 18:05:48 +00:00
Elliott Hughes
10ab1ec319 am 82d974c7: am a81fd294: Merge "Fixed ASM_ALIGN macro"
* commit '82d974c7ef88f7f796794f2417dd707cc5be6a9c':
  Fixed ASM_ALIGN macro
2013-10-04 09:58:26 -07:00
Nick Kralevich
e0a14e7573 am ed1f8ea0: am bf452313: Merge "FORTIFY_SOURCE: emphasize prevention in error messages."
* commit 'ed1f8ea0369195aa0c3aa9926a94efa26fd14639':
  FORTIFY_SOURCE: emphasize prevention in error messages.
2013-10-04 09:58:25 -07:00
Elliott Hughes
9d3b4b48d8 am 71e0b240: am 41ba05e2: Merge "x86_64: Fix get_tls and statvfs"
* commit '71e0b240ed980e77f736be2a27d255d64747b388':
  x86_64: Fix get_tls and statvfs
2013-10-04 09:58:23 -07:00
Elliott Hughes
be7b6408b3 am 6d923d49: am 14102932: Merge "Move common arch-* code to arch-common directory"
* commit '6d923d497373c160f6fdddd42f5ed56e7bf0923a':
  Move common arch-* code to arch-common directory
2013-10-04 09:58:23 -07:00
Elliott Hughes
82d974c7ef am a81fd294: Merge "Fixed ASM_ALIGN macro"
* commit 'a81fd294be55f8781dbf22f381a3335212d8dbd9':
  Fixed ASM_ALIGN macro
2013-10-04 09:26:44 -07:00
Elliott Hughes
a81fd294be Merge "Fixed ASM_ALIGN macro" 2013-10-04 16:25:47 +00:00
Nick Kralevich
ed1f8ea036 am bf452313: Merge "FORTIFY_SOURCE: emphasize prevention in error messages."
* commit 'bf452313b0fcc2a14e55435b93eebd0ead73ad3e':
  FORTIFY_SOURCE: emphasize prevention in error messages.
2013-10-04 09:23:26 -07:00
Nick Kralevich
bf452313b0 Merge "FORTIFY_SOURCE: emphasize prevention in error messages." 2013-10-04 16:20:20 +00:00
Nick Kralevich
e2617290fc FORTIFY_SOURCE: emphasize prevention in error messages.
FORTIFY_SOURCE prevents buffer overflows from occurring.
However, the error message often implies that we only
detect it, not prevent it.

Bring more clarity to the error messages by emphasizing
prevention over detection.

Change-Id: I5f3e1478673bdfc589e6cc4199fce8e52e197a24
2013-10-04 08:57:17 -07:00
Pavel Chupin
719269db18 Fixed ASM_ALIGN macro
Got it all wrong on first patch. Somehow that didn't affect system
build, neither arm nor x86... something to think about.

Change-Id: I45416d843aad44af62841c6f6ab607ccf3f012ea
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-04 11:12:58 +04:00
Elliott Hughes
7e841ed688 Remove useless x86 fallbacks.
The NDK ABI requires that you support SSE2, and the build system won't let you
build with ARCH_X86_HAVE_SSE2 set to false. So let's stop pretending this
constant is actually a variable, and let's remove the corresponding dead code.

Also, the USE_SSE2 and USE_SSE3 macros are unused, so let's not bother
setting them.

Change-Id: I40b501d998530d22518ce1c4d14575513a8125bb
2013-10-03 23:30:33 -07:00
Elliott Hughes
71e0b240ed am 41ba05e2: Merge "x86_64: Fix get_tls and statvfs"
* commit '41ba05e22ed1829cc7431fd4899cfa5725c76044':
  x86_64: Fix get_tls and statvfs
2013-10-03 21:23:28 -07:00
Elliott Hughes
41ba05e22e Merge "x86_64: Fix get_tls and statvfs" 2013-10-04 00:34:50 +00:00
Pavel Chupin
1e52a54a47 x86_64: Fix get_tls and statvfs
* bionic_tls.h - Add x86_64 version of get_tls macro;
* statvfs.h - 64-bit kernels don't have __statfs64/__fstatfs64, applying
workaround;

Change-Id: I20d7ddad74c7b7243866373d0142da6627c08280
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-03 17:31:50 -07:00
Elliott Hughes
6d923d4973 am 14102932: Merge "Move common arch-* code to arch-common directory"
* commit '141029327cdc62629e248b3be1d7a58d4e9e5ba8':
  Move common arch-* code to arch-common directory
2013-10-03 16:20:28 -07:00
Elliott Hughes
141029327c Merge "Move common arch-* code to arch-common directory" 2013-10-03 23:17:58 +00:00
Nick Kralevich
2837f83068 am 687c7e3e: am e8dc673c: Merge "Don\'t export unnecessary symbol."
* commit '687c7e3ece0f485c79654ca0c4da15b86b1f8a7f':
  Don't export unnecessary symbol.
2013-10-03 15:57:09 -07:00
Nick Kralevich
6f10368926 am 2e819c58: am 2ff3c746: Merge "Check memory size on FD_* functions"
* commit '2e819c58c9396eec3e4311ef2c9bdcadd107f001':
  Check memory size on FD_* functions
2013-10-03 15:57:09 -07:00
Nick Kralevich
687c7e3ece am e8dc673c: Merge "Don\'t export unnecessary symbol."
* commit 'e8dc673ca56556389ad06ce1bb55e6624b4db721':
  Don't export unnecessary symbol.
2013-10-03 15:54:27 -07:00
Nick Kralevich
2e819c58c9 am 2ff3c746: Merge "Check memory size on FD_* functions"
* commit '2ff3c746aeafeac9d1019bed97a99346515516af':
  Check memory size on FD_* functions
2013-10-03 15:54:27 -07:00
Nick Kralevich
e8dc673ca5 Merge "Don't export unnecessary symbol." 2013-10-03 22:52:02 +00:00
Nick Kralevich
2ff3c746ae Merge "Check memory size on FD_* functions" 2013-10-03 22:46:49 +00:00
Nick Kralevich
7943df62f7 Check memory size on FD_* functions
Make sure the buffer we're dealing with has enough room.
Might as well check for memory issues while we're here,
even though I don't imagine they'll happen in practice.

Change-Id: I0ae1f0f06aca9ceb91e58c70183bb14e275b92b5
2013-10-03 15:45:10 -07:00
Nick Kralevich
35c1862cdf Don't export unnecessary symbol.
Change-Id: I8b1d75a08476c41dd8e3f09fc93a3df617928f88
2013-10-03 14:59:05 -07:00
Christopher Ferris
1a086a52d3 am 270c52da: am 1fe477fc: Merge "Add dependencies on included makefiles."
* commit '270c52da0db68c6961eb576b67adc0c41c418763':
  Add dependencies on included makefiles.
2013-10-03 14:57:21 -07:00
Christopher Ferris
270c52da0d am 1fe477fc: Merge "Add dependencies on included makefiles."
* commit '1fe477fcb77ba29ef3264f689e7002f6512715ab':
  Add dependencies on included makefiles.
2013-10-03 14:40:12 -07:00
Christopher Ferris
1fe477fcb7 Merge "Add dependencies on included makefiles." 2013-10-03 21:35:37 +00:00
Christopher Ferris
d7a632948d Add dependencies on included makefiles.
Bug: 11050594

Merge from internal master.

(cherry-picked from f389284e86)

Change-Id: I2b3e38329a09d26c16870906f9ed1257e2a9dbc8
2013-10-03 14:17:14 -07:00
Christopher Ferris
bdc610aba5 am dc7f8ddc: am 6088047a: Merge "Remove dead files."
* commit 'dc7f8ddc227e833b889eb1eedc16b9b5827fc127':
  Remove dead files.
2013-10-03 13:26:38 -07:00
Christopher Ferris
dc7f8ddc22 am 6088047a: Merge "Remove dead files."
* commit '6088047a64abb1e8a27fcb9868b00a630fbdfed4':
  Remove dead files.
2013-10-03 13:23:45 -07:00
Christopher Ferris
6088047a64 Merge "Remove dead files." 2013-10-03 19:53:21 +00:00
Christopher Ferris
fc4d70fe54 Remove dead files.
memcpy.a15.S/strcmp.a15.S files were submitted by ARM for use as the basis
for the memcpy/strcmp implementations in cortex-a15.

memset.S was moved in to the generic directory.

NOTE: memcpy.a9.S was submitted by Linaro to be the basis for the memcpy
for cortex-a9/cortex-a15 but has not been incorporated yet.

Bug: 10971279

Merge from internal master.

(cherry-picked from 48fc3e8b9f)

Change-Id: I8f9297578990d517f004e4e8840e2b2cbd5a47d8
2013-10-03 12:35:56 -07:00
Pavel Chupin
b49c17c2bf Move common arch-* code to arch-common directory
Will be helpful on adding x86_64

Change-Id: I96cf6fc7912c02f289c75f07ae0079c32d69173f
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-03 11:14:33 +04:00
Christopher Ferris
de7ed18df0 am 0292c1c8: am 3901b1bd: Merge "Remove the __ARM_FEATURE_DSP check."
* commit '0292c1c81dfed23a32d46fb0b089b7eccb87e21e':
  Remove the __ARM_FEATURE_DSP check.
2013-10-02 23:27:06 -07:00
Christopher Ferris
0292c1c81d am 3901b1bd: Merge "Remove the __ARM_FEATURE_DSP check."
* commit '3901b1bdd939973a72e01272177757b2524995d3':
  Remove the __ARM_FEATURE_DSP check.
2013-10-02 23:25:08 -07:00
Christopher Ferris
3901b1bdd9 Merge "Remove the __ARM_FEATURE_DSP check." 2013-10-03 06:22:27 +00:00
Christopher Ferris
aec1b3540a Remove the __ARM_FEATURE_DSP check.
The check for __ARM_FEATURE_DSP being defined is pointless since it
is always defined.

Bug: 10971279

Merge from internal master.

(cherry-picked from d2642fa70c)

Change-Id: If23ab3271f4da0c38cd531ffdc9a7e5eed6ec5dc
2013-10-02 23:14:01 -07:00
Elliott Hughes
fa9fb5cb01 am 2a3d760e: am 00a816e5: Merge "Fix 32-bit issues in tests, and add a trivial test for the FD_* macros."
* commit '2a3d760e0fc0cbd2cac03754949457c062ced5f5':
  Fix 32-bit issues in tests, and add a trivial test for the FD_* macros.
2013-10-02 21:04:32 -07:00
Elliott Hughes
2a3d760e0f am 00a816e5: Merge "Fix 32-bit issues in tests, and add a trivial test for the FD_* macros."
* commit '00a816e5874153ae3103af869182a81b31445388':
  Fix 32-bit issues in tests, and add a trivial test for the FD_* macros.
2013-10-02 21:02:43 -07:00
Elliott Hughes
00a816e587 Merge "Fix 32-bit issues in tests, and add a trivial test for the FD_* macros." 2013-10-03 04:00:30 +00:00
Elliott Hughes
b8b8b6dc2e am 14d5e22f: am 66b18dd4: Merge "Fix the x86_64 fenv.h."
* commit '14d5e22feef2f097bf7139c2f452d2810970651a':
  Fix the x86_64 fenv.h.
2013-10-02 20:51:50 -07:00
Elliott Hughes
14d5e22fee am 66b18dd4: Merge "Fix the x86_64 fenv.h."
* commit '66b18dd4e4294de72728f51af61b79f6f7885a2f':
  Fix the x86_64 fenv.h.
2013-10-02 20:50:21 -07:00
Elliott Hughes
66b18dd4e4 Merge "Fix the x86_64 fenv.h." 2013-10-03 03:48:19 +00:00
Nick Kralevich
670f372470 am b6201932: am 2c701a1b: Merge "libc: don\'t export unnecessary symbols"
* commit 'b6201932838c46a567e3411047719fd5c2797e96':
  libc: don't export unnecessary symbols
2013-10-02 17:03:42 -07:00
Elliott Hughes
361847f9ac Fix the x86_64 fenv.h.
We should clean all the fenv.h files up, but not now. I've raised
bug 11050744 as a reminder.

Change-Id: I640c15b0f0477ec1a7891c031860404875bbe4b5
2013-10-02 17:02:58 -07:00
Nick Kralevich
b620193283 am 2c701a1b: Merge "libc: don\'t export unnecessary symbols"
* commit '2c701a1bac2bd852b68f5a2e50c2c60fa82266e0':
  libc: don't export unnecessary symbols
2013-10-02 17:01:22 -07:00
Nick Kralevich
2c701a1bac Merge "libc: don't export unnecessary symbols" 2013-10-02 23:59:23 +00:00
Elliott Hughes
5b9310e502 Fix 32-bit issues in tests, and add a trivial test for the FD_* macros.
Change-Id: Ia3f21ce1f0ed9236527fe44d36ccb7de6bf63113
2013-10-02 16:59:05 -07:00
Nick Kralevich
32bbf8a63b libc: don't export unnecessary symbols
Symbols associated with the internal implementation of memcpy
like routines should be private.

Change-Id: I2b1d1f59006395c29d518c153928437b08f93d16
2013-10-02 16:54:58 -07:00
Nick Kralevich
5634373320 am 8598cd68: am f741e1c2: Merge "FORTIFY_SOURCE: Add __FD_* checks"
* commit '8598cd6888366008033286113bd633b44c70b7dd':
  FORTIFY_SOURCE: Add __FD_* checks
2013-10-02 16:30:51 -07:00
Nick Kralevich
8598cd6888 am f741e1c2: Merge "FORTIFY_SOURCE: Add __FD_* checks"
* commit 'f741e1c2ed27f153e92a2a36c9db3b189f9a6388':
  FORTIFY_SOURCE: Add __FD_* checks
2013-10-02 16:28:00 -07:00
Nick Kralevich
f741e1c2ed Merge "FORTIFY_SOURCE: Add __FD_* checks" 2013-10-02 23:26:50 +00:00
Nick Kralevich
90201d5eca FORTIFY_SOURCE: Add __FD_* checks
Add FORTIFY_SOURCE checks for the following macros:

* FD_CLR
* FD_ISSET
* FD_SET

Bug: 11047121
Change-Id: I3c5952136aec9eff3288b91b1318677ff971525c
2013-10-02 16:11:30 -07:00
Stephen Hines
a6d4acc9f9 am 1986d369: am 32c0c6e7: Merge "Use gnu++11 and gnu99 explicitly for C++/C files."
* commit '1986d36957089bfc8a9d8135768f067395e98bd5':
  Use gnu++11 and gnu99 explicitly for C++/C files.
2013-10-02 15:22:56 -07:00
Stephen Hines
1986d36957 am 32c0c6e7: Merge "Use gnu++11 and gnu99 explicitly for C++/C files."
* commit '32c0c6e7d56ea2fad0a362f37bb84937b82c3be2':
  Use gnu++11 and gnu99 explicitly for C++/C files.
2013-10-02 15:20:36 -07:00
Stephen Hines
32c0c6e7d5 Merge "Use gnu++11 and gnu99 explicitly for C++/C files." 2013-10-02 22:18:26 +00:00
Nick Kralevich
944ce989f8 am f7da611b: am 00d51c9f: Merge "Use alloc_size attribute on *alloc functions"
* commit 'f7da611b3dedaf9951e08b0296daf67eda8228c0':
  Use alloc_size attribute on *alloc functions
2013-10-02 14:38:12 -07:00
Nick Kralevich
f7da611b3d am 00d51c9f: Merge "Use alloc_size attribute on *alloc functions"
* commit '00d51c9f6e9b3f10bddad80b3938ffa553094578':
  Use alloc_size attribute on *alloc functions
2013-10-02 14:35:03 -07:00
Nick Kralevich
00d51c9f6e Merge "Use alloc_size attribute on *alloc functions" 2013-10-02 21:31:43 +00:00
Nick Kralevich
b91791d71c Use alloc_size attribute on *alloc functions
malloc and family were not declared with __attribute__((alloc_size)).
This was (sometimes) preventing FORTIFY_SOURCE related functions
from knowing the size of the buffer it's dealing with, inhibiting
FORTIFY_SOURCE protections.

Add __attribute__((alloc_size))

Information about the alloc_size attribute can be found
at http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html

Change-Id: Ia2f0a445f0170a7325f69259b5e7fb35a9f14921
2013-10-02 14:14:40 -07:00
Stephen Hines
762cea46f0 Use gnu++11 and gnu99 explicitly for C++/C files.
Clang and gcc default to different standards, so we should be explicit
about the versions we want to compile for.

Change-Id: I65495a2392dd29f36373b94c616c2506173e6033
2013-10-02 12:37:16 -07:00
Elliott Hughes
a0a5a50152 am 2e2a4f97: am 4bbf3a8b: Merge "Remove #define _BITSIZE 32."
* commit '2e2a4f97bfbb7b94d12690395c5cbcf7d7d1edc7':
  Remove #define _BITSIZE 32.
2013-10-02 10:10:27 -07:00
Elliott Hughes
2e2a4f97bf am 4bbf3a8b: Merge "Remove #define _BITSIZE 32."
* commit '4bbf3a8b558ea8b5ce62f2d1ee2599a8e95c21c0':
  Remove #define _BITSIZE 32.
2013-10-02 10:08:58 -07:00
Elliott Hughes
4bbf3a8b55 Merge "Remove #define _BITSIZE 32." 2013-10-02 17:06:44 +00:00
Stephen Hines
9218adc390 am 62f95981: am 70e1730c: Merge "Remove _FORTIFY_SOURCE in implementation files."
* commit '62f95981df783575efd44cb4206be7b2cbdfcf1c':
  Remove _FORTIFY_SOURCE in implementation files.
2013-10-02 09:33:27 -07:00
Stephen Hines
95fa896206 am dcffa999: am e0e6409c: Merge "Add simple implementation _Unwind_GetIP() for clang compiles."
* commit 'dcffa9998e95dc0fb89d0c9e0ae51a0557d5b2b4':
  Add simple implementation _Unwind_GetIP() for clang compiles.
2013-10-02 09:33:27 -07:00
Stephen Hines
62f95981df am 70e1730c: Merge "Remove _FORTIFY_SOURCE in implementation files."
* commit '70e1730c38ad91cf65425e29732b5c041dd0cf43':
  Remove _FORTIFY_SOURCE in implementation files.
2013-10-02 09:31:56 -07:00
Stephen Hines
dcffa9998e am e0e6409c: Merge "Add simple implementation _Unwind_GetIP() for clang compiles."
* commit 'e0e6409c12d21cf1f0390c435fd76e74b5c4580d':
  Add simple implementation _Unwind_GetIP() for clang compiles.
2013-10-02 09:31:55 -07:00
Stephen Hines
70e1730c38 Merge "Remove _FORTIFY_SOURCE in implementation files." 2013-10-02 16:30:15 +00:00
Stephen Hines
e0e6409c12 Merge "Add simple implementation _Unwind_GetIP() for clang compiles." 2013-10-02 16:29:22 +00:00
Elliott Hughes
5e72c513bf Remove #define _BITSIZE 32.
I've no idea what _BITSIZE was supposed to be, glibc doesn't have it,
the BSDs don't have it, and no code is currently using it. But having
it set unconditionally to 32 sounds like a bad idea.

Change-Id: I900235c1489afba891fff0bc3b43e9d593249a4f
2013-10-02 09:23:46 -07:00
Elliott Hughes
5cf3b4bd34 am a8f4e905: am e26135ab: Merge "The x86_64 kernel headers are the x86 kernel headers."
* commit 'a8f4e905fa3fe5998607ff084091879b77257fd0':
  The x86_64 kernel headers are the x86 kernel headers.
2013-10-02 08:57:27 -07:00
Elliott Hughes
a8f4e905fa am e26135ab: Merge "The x86_64 kernel headers are the x86 kernel headers."
* commit 'e26135ab18c94ba6ee9866bc04471853a899565b':
  The x86_64 kernel headers are the x86 kernel headers.
2013-10-02 08:55:07 -07:00
Elliott Hughes
e26135ab18 Merge "The x86_64 kernel headers are the x86 kernel headers." 2013-10-02 15:52:02 +00:00
Elliott Hughes
14cf72860f am f0470422: am 9461e9fa: Merge "Add missing backslash in MIPS filelist"
* commit 'f04704225b64d2ced8d34036af3336a57d945af5':
  Add missing backslash in MIPS filelist
2013-10-01 19:51:21 -07:00
Elliott Hughes
f04704225b am 9461e9fa: Merge "Add missing backslash in MIPS filelist"
* commit '9461e9fae33bddecd2b1746e3158b9d2309a8163':
  Add missing backslash in MIPS filelist
2013-10-01 19:49:00 -07:00
Elliott Hughes
9461e9fae3 Merge "Add missing backslash in MIPS filelist" 2013-10-02 02:46:12 +00:00
Chris Dearman
fa4d596abc Add missing backslash in MIPS filelist
Change-Id: I993ea7038cd641ea167d974226e2350e49d41c88
2013-10-01 19:11:26 -07:00
Stephen Hines
5f6cfce4f6 Add simple implementation _Unwind_GetIP() for clang compiles.
Clang (prior to 3.4) does not actually provide a declaration (or definition)
of _Unwind_GetIP() for ARM. We can work around this by writing our own
basic implementation using the available primitive operations.

Change-Id: If6c66846952d8545849ad32d2b55daa4599cfe2c
2013-10-01 18:20:51 -07:00
Elliott Hughes
b1b8babbbb am c7e8e990: am 5e244a9b: Merge "Fix libm build for x86_64."
* commit 'c7e8e99082efaa616b15fb43ffe0f2e11423ea7d':
  Fix libm build for x86_64.
2013-10-01 18:05:24 -07:00
Elliott Hughes
86d920c302 The x86_64 kernel headers are the x86 kernel headers.
Change-Id: I8763aee7043800eb23a720914b57396e79fa812e
2013-10-01 18:03:23 -07:00
Elliott Hughes
c7e8e99082 am 5e244a9b: Merge "Fix libm build for x86_64."
* commit '5e244a9bee8f26d7eed4e81b25483fbd86f7b6d4':
  Fix libm build for x86_64.
2013-10-01 18:02:39 -07:00
Elliott Hughes
5e244a9bee Merge "Fix libm build for x86_64." 2013-10-02 01:00:25 +00:00
Elliott Hughes
770a349560 Fix libm build for x86_64.
Change-Id: If89da2d5c3d9a88f78ffd8b260ad0f2fd391c608
2013-10-01 17:57:19 -07:00
Elliott Hughes
7cb6933c0d am 8a50d0c0: am bcc2bd3b: Merge "x86_64: libm fixes"
* commit '8a50d0c06f456ca32c49f8e52883ede959c91c21':
  x86_64: libm fixes
2013-10-01 17:37:55 -07:00
Elliott Hughes
8a50d0c06f am bcc2bd3b: Merge "x86_64: libm fixes"
* commit 'bcc2bd3b1e625243df41bdf212bdb3dd2ec3c26e':
  x86_64: libm fixes
2013-10-01 17:35:39 -07:00
Elliott Hughes
a1de7e5033 am f1c534ce: am 6892a29b: Merge "Remove more assumptions that pointers are 32-bit."
* commit 'f1c534ce222de66bdeac06f2dca62fbd84f629f9':
  Remove more assumptions that pointers are 32-bit.
2013-10-01 17:34:34 -07:00
Elliott Hughes
bcc2bd3b1e Merge "x86_64: libm fixes" 2013-10-02 00:32:43 +00:00
Elliott Hughes
f1c534ce22 am 6892a29b: Merge "Remove more assumptions that pointers are 32-bit."
* commit '6892a29b9e63f0bb54bd402081431b1233c125aa':
  Remove more assumptions that pointers are 32-bit.
2013-10-01 17:32:19 -07:00
Elliott Hughes
6892a29b9e Merge "Remove more assumptions that pointers are 32-bit." 2013-10-02 00:30:51 +00:00
Elliott Hughes
405f8553cf Remove more assumptions that pointers are 32-bit.
Change-Id: I2157e2fc4db7692b746c697982c3d028a056462a
2013-10-01 17:25:28 -07:00
Elliott Hughes
c1cd0f74c9 am f43f8aa8: am b2acd5de: Merge "x86_64: Update Makefiles for x86_64 targets and add symlinks"
* commit 'f43f8aa80a77f59f4ad941d367fe25e30387a72b':
  x86_64: Update Makefiles for x86_64 targets and add symlinks
2013-10-01 15:41:27 -07:00
Elliott Hughes
f43f8aa80a am b2acd5de: Merge "x86_64: Update Makefiles for x86_64 targets and add symlinks"
* commit 'b2acd5ded1e801fb1379ec51c6f43eab63af50f5':
  x86_64: Update Makefiles for x86_64 targets and add symlinks
2013-10-01 15:39:19 -07:00
Elliott Hughes
b2acd5ded1 Merge "x86_64: Update Makefiles for x86_64 targets and add symlinks" 2013-10-01 22:37:10 +00:00
Pavel Chupin
a567a8e4bd x86_64: Update Makefiles for x86_64 targets and add symlinks
Use basic .c versions of all functions for x86_64 until they are
manually optimized and .s versions released.

Change-Id: I59bba08931e894822db485c8803c2665c226234a
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-01 15:36:08 -07:00
Stephen Hines
35d937e4eb Remove _FORTIFY_SOURCE in implementation files.
This was causing conflicting declarations for the library definitions of
common functions like sprintf(), snprintf(), and strchr().

Change-Id: I5daaa8a58183aa0d4d0fae8a7cb799671810f576
2013-10-01 15:02:07 -07:00
Elliott Hughes
211fd4f963 am 24e1dd80: am 4eaa1e1e: Merge "x86_64: add new __NR_arch_prctl syscall"
* commit '24e1dd8016eeaaa6ef3646cbb143de1506e733e8':
  x86_64: add new __NR_arch_prctl syscall
2013-10-01 14:04:19 -07:00
Elliott Hughes
24e1dd8016 am 4eaa1e1e: Merge "x86_64: add new __NR_arch_prctl syscall"
* commit '4eaa1e1ea8e4ba4fed31e4bd884e27683db90d81':
  x86_64: add new __NR_arch_prctl syscall
2013-10-01 14:01:09 -07:00
Elliott Hughes
35336777f1 am 67e0214d: am 232dff3a: Merge "Regenerate the system call stubs (to get x86_64)."
* commit '67e0214d0f620df7a7928ef0fa1a9c0aac326a20':
  Regenerate the system call stubs (to get x86_64).
2013-10-01 13:59:59 -07:00
Elliott Hughes
4eaa1e1ea8 Merge "x86_64: add new __NR_arch_prctl syscall" 2013-10-01 20:58:41 +00:00
Elliott Hughes
67e0214d0f am 232dff3a: Merge "Regenerate the system call stubs (to get x86_64)."
* commit '232dff3af296d8b86658a9742288ee487b41dd3f':
  Regenerate the system call stubs (to get x86_64).
2013-10-01 13:56:51 -07:00
Pavel Chupin
9a4127bb0a x86_64: add new __NR_arch_prctl syscall
This is used to set/get TLS on x86_64. There's no public declaration
of this because it's not meant to be used outside the C library, like
glibc (though we don't currently have any visibility controls to ensure
this).

Change-Id: I5fc0a5e3ffc3f4cd597d92ee685ab19568ea18f7
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-01 13:56:21 -07:00
Elliott Hughes
232dff3af2 Merge "Regenerate the system call stubs (to get x86_64)." 2013-10-01 20:53:51 +00:00
Elliott Hughes
1e99886172 am c58d08d6: am 475e8dde: Merge "x86_64: Add x86_64 syscalls and tune gen scripts for x86_64"
* commit 'c58d08d655fbb3e0472fcb6ea9879fd1ced39172':
  x86_64: Add x86_64 syscalls and tune gen scripts for x86_64
2013-10-01 13:38:16 -07:00
Elliott Hughes
c58d08d655 am 475e8dde: Merge "x86_64: Add x86_64 syscalls and tune gen scripts for x86_64"
* commit '475e8dde178f05f91626a22ade795244efe69a3e':
  x86_64: Add x86_64 syscalls and tune gen scripts for x86_64
2013-10-01 13:30:28 -07:00
Elliott Hughes
e4ffd9f234 Regenerate the system call stubs (to get x86_64).
This touches the x86 stubs too because arm, x86, and x86_64 now
all share the same header (at a source level), which causes a
reordering of the #include lines.

Change-Id: If9a1e2b2718bd41d8399fea748bce672c513ef84
2013-10-01 13:29:43 -07:00
Elliott Hughes
475e8dde17 Merge "x86_64: Add x86_64 syscalls and tune gen scripts for x86_64" 2013-10-01 20:27:49 +00:00
Pavel Chupin
f12a18b850 x86_64: Add x86_64 syscalls and tune gen scripts for x86_64
* Tune syscall stubs generator for 4th target: x86_64
* Update SYSCALLS.TXT with x86_64 syscalls:
 - Most of the x86 syscalls are equally supported
 - *32 syscalls are not supported on 64-bit
 - *64 syscalls are replaced accordingly without 64 suffix
 - Some syscalls are not supported, replaced with x86_64 analog

Syscalls are regenerated as separate patch for review convenience.

Change-Id: I4ea2e0f13759b0aa61f05208ca68da8d6bc7c048
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-01 13:27:07 -07:00
Pavel Chupin
ce7add19d8 x86_64: libm fixes
* Makefile update for x86_64 target
* amd64 arch files

Change-Id: I8f17e3338bffd89a3086fbddd1e91bb4619eac1b
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-01 11:38:54 -07:00
Elliott Hughes
a08be021cc am 57e55fe3: am fd152c31: Merge "Clean up some comments."
* commit '57e55fe3b32465023071a19e368d91f4804ade3b':
  Clean up some comments.
2013-10-01 11:14:27 -07:00
Elliott Hughes
57e55fe3b3 am fd152c31: Merge "Clean up some comments."
* commit 'fd152c31586a1f5e6763b06f1182ccd72cb86b69':
  Clean up some comments.
2013-10-01 11:12:09 -07:00
Elliott Hughes
fd152c3158 Merge "Clean up some comments." 2013-10-01 18:10:54 +00:00
Elliott Hughes
c0af695426 Clean up some comments.
Copyright headers shouldn't contain the filename (and especially
shouldn't contain a different file's filename).

Change-Id: I82690a3bf371265402bc16f5d2fbb9299c3a1926
2013-10-01 11:10:21 -07:00
Elliott Hughes
d4e6961041 am 1a46de67: am f281fd02: Merge "Better statfs/fstatfs glibc compatibility."
* commit '1a46de67b3f78ce44ddf622bcf5918fe758dd4d4':
  Better statfs/fstatfs glibc compatibility.
2013-10-01 10:04:30 -07:00
Elliott Hughes
58413fe735 am 4b5a0e1a: am 693bd73f: Merge "Remove 32-bit assumptions from the ELF code."
* commit '4b5a0e1ad76d76d6a8793f61e3c0902ea4628ce7':
  Remove 32-bit assumptions from the ELF code.
2013-10-01 10:04:29 -07:00
Elliott Hughes
1a46de67b3 am f281fd02: Merge "Better statfs/fstatfs glibc compatibility."
* commit 'f281fd02e9eebea3de9c07412c5b66647ca0c290':
  Better statfs/fstatfs glibc compatibility.
2013-10-01 10:02:16 -07:00
Elliott Hughes
4b5a0e1ad7 am 693bd73f: Merge "Remove 32-bit assumptions from the ELF code."
* commit '693bd73fcdf1504e84aef314d1933f5efc2c817d':
  Remove 32-bit assumptions from the ELF code.
2013-10-01 10:02:16 -07:00
Elliott Hughes
f281fd02e9 Merge "Better statfs/fstatfs glibc compatibility." 2013-10-01 15:30:40 +00:00
Elliott Hughes
693bd73fcd Merge "Remove 32-bit assumptions from the ELF code." 2013-10-01 15:23:44 +00:00
Elliott Hughes
01a700e5d2 Better statfs/fstatfs glibc compatibility.
Change-Id: I069d169c96cd71b75a045ec911fb4bd484c6b2c9
2013-09-30 21:57:07 -07:00
Elliott Hughes
6c8dc46406 am 28317d3a: am f5ea738b: Merge "Fix x86 build."
* commit '28317d3a161c88f88e85d97d584d656ffbe63a19':
  Fix x86 build.
2013-09-30 20:53:55 -07:00
Elliott Hughes
28317d3a16 am f5ea738b: Merge "Fix x86 build."
* commit 'f5ea738baa0ad5b32348f2ac42450d33d452ef31':
  Fix x86 build.
2013-09-30 20:51:53 -07:00
Elliott Hughes
f5ea738baa Merge "Fix x86 build." 2013-10-01 02:23:02 +00:00
Elliott Hughes
3456a1f5f4 Fix x86 build.
Change-Id: I1f2d8189bec3d0e25d21ca7d7bd73fd02f8678e2
2013-09-30 19:20:02 -07:00
Elliott Hughes
5d641bcf70 am f5dcdfc4: am 6dee3b9a: Merge "Add x86_64 to the bionic headers."
* commit 'f5dcdfc438684bbe93e398b6551f915fe3fe10bf':
  Add x86_64 to the bionic headers.
2013-09-30 18:45:57 -07:00
Elliott Hughes
f5dcdfc438 am 6dee3b9a: Merge "Add x86_64 to the bionic headers."
* commit '6dee3b9aeec40bb518c1a29b4462300869a03d8e':
  Add x86_64 to the bionic headers.
2013-09-30 18:44:28 -07:00
Elliott Hughes
c620059479 Remove 32-bit assumptions from the ELF code.
Change-Id: I2c1f3d34c33685799aade8866eec44479ff9f963
2013-09-30 18:43:46 -07:00
Elliott Hughes
6dee3b9aee Merge "Add x86_64 to the bionic headers." 2013-10-01 01:42:43 +00:00
Elliott Hughes
d3e64a3f40 Add x86_64 to the bionic headers.
Manual changes:

  cpp.py: cope with macros that refer to other macros.

  defaults.py: x86 no longer always implies __i386__; use __i386__ to replace
  the kernel CONFIG_X86_32 flag.

  asm/page.h: the upstream page.h isn't a uapi header and no longer includes
  the stuff we were using it for. Let's just have our own static file, since
  it's the same for all our architectures (both 32- and 64-bit).

  sys/select.h: we used to use the various FD_SET-related macros from the
  kernel header files, but they've gone. Adjust by adding trivial equivalent
  definitions.

Automated changes:

  libc/kernel/arch-x86, libc/kernel/common: regenerated from
  external/kernel-headers.

Change-Id: I84fc0ed52dc742e043b4ae300fd3b58ee99b7fcd
2013-09-30 18:42:13 -07:00
Elliott Hughes
b277509095 am 34284954: am 76218efb: Merge "Fix inttypes.h and stdint.h for 64-bit (and C++11)."
* commit '34284954b3b43010d87c6f99a50dc673a55fbb04':
  Fix inttypes.h and stdint.h for 64-bit (and C++11).
2013-09-30 16:23:03 -07:00
Elliott Hughes
34284954b3 am 76218efb: Merge "Fix inttypes.h and stdint.h for 64-bit (and C++11)."
* commit '76218efbeb2e124656ce15d4eb5a7039da065123':
  Fix inttypes.h and stdint.h for 64-bit (and C++11).
2013-09-30 16:19:18 -07:00
Elliott Hughes
76218efbeb Merge "Fix inttypes.h and stdint.h for 64-bit (and C++11)." 2013-09-30 21:53:06 +00:00
Elliott Hughes
a9a02acc9f Fix inttypes.h and stdint.h for 64-bit (and C++11).
Change-Id: I394630348413c9aafcac137ce1ca5f0a93d9ab6f
2013-09-30 14:46:47 -07:00
Christopher Ferris
a59e16bac9 am 34c2a9fc: Move stack unwinding test into library.
* commit '34c2a9fc37848d446bf91ce61783884232fffeb1':
  Move stack unwinding test into library.
2013-09-30 14:46:05 -07:00
Christopher Ferris
427e8cf902 Fix line that got removed by merge.
(cherry picked from commit f14d71fcf7)

Change-Id: Id3dd54d9efd87ef2bbb2c90adae2ce3911695027
2013-09-29 22:14:56 -07:00
Elliott Hughes
967a6d3768 am ef8eb557: am 4d016c6a: Merge "Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications)."
* commit 'ef8eb55708f67fc2977a155dddb1b3f1f732b3fe':
  Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications).
2013-09-27 15:44:53 -07:00
Elliott Hughes
ef8eb55708 am 4d016c6a: Merge "Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications)."
* commit '4d016c6a83bb8c8b8ec88400031b42c41f18edbb':
  Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications).
2013-09-27 15:41:25 -07:00
Elliott Hughes
4d016c6a83 Merge "Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications)." 2013-09-27 22:38:45 +00:00
Nick Kralevich
cadc6aaf41 am f56e0e4b: am 6aed6077: Merge "Fix unnecessary call to __strncpy_chk2"
* commit 'f56e0e4b5e97f4e7fed6e06dde30053ea687716e':
  Fix unnecessary call to __strncpy_chk2
2013-09-27 15:18:21 -07:00
Nick Kralevich
f56e0e4b5e am 6aed6077: Merge "Fix unnecessary call to __strncpy_chk2"
* commit '6aed6077fbe2b2039ab9160fb1e33ffe07907f32':
  Fix unnecessary call to __strncpy_chk2
2013-09-27 15:15:31 -07:00
Nick Kralevich
6aed6077fb Merge "Fix unnecessary call to __strncpy_chk2" 2013-09-27 22:13:19 +00:00
Nick Kralevich
d13c2b1ba6 Fix unnecessary call to __strncpy_chk2
If "n" is smaller than the size of "src", then we'll
never read off the end of src. It makes no sense to call
__strncpy_chk2 in those circumstances.

For example, consider the following code:

int main() {
  char src[10];
  char dst[5];
  memcpy(src, "0123456789", sizeof(src));
  strncpy(dst, src, sizeof(dst));
  dst[4] = '\0';
  printf("%s\n", dst);
  return 0;
}

In this code, it's clear that the strncpy will never read off
the end of src.

Change-Id: I9cf58857a0c5216b4576d21d3c1625e2913ccc03
2013-09-27 13:21:24 -07:00
Conley Owens
e83a780600 resolved conflicts for merge of f4af9110 to klp-dev-plus-aosp
Change-Id: I9e499e552b758392dd0c7b8d888944c0150dd22a
2013-09-27 13:13:30 -07:00
Nick Kralevich
9a622f874c am cc362291: am 8427b745: Merge "libc: fortify recvfrom()"
* commit 'cc362291362f8183431eccb19267c8a625f36006':
  libc: fortify recvfrom()
2013-09-27 09:11:00 -07:00
Nick Kralevich
cc36229136 am 8427b745: Merge "libc: fortify recvfrom()"
* commit '8427b7450fe068db6484d161f7004661c4698858':
  libc: fortify recvfrom()
2013-09-27 09:08:25 -07:00
Nick Kralevich
8427b7450f Merge "libc: fortify recvfrom()" 2013-09-27 16:05:44 +00:00
Elliott Hughes
e0d0b15de6 Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications).
localtime.c and strftime.c are still quite different from upstream because of
our extensions, but the other files continue to be identical, and the two
exceptions should be otherwise identical.

From the tzcode2013e release notes:

  Changes affecting Godthab time stamps after 2037 if version mismatch

    Allow POSIX-like TZ strings where the transition time's hour can
    range from -167 through 167, instead of the POSIX-required 0
    through 24.  E.g., TZ='FJT-12FJST,M10.3.1/146,M1.3.4/75' for the
    new Fiji rules.  This is a more-compact way to represent
    far-future time stamps for America/Godthab, America/Santiago,
    Antarctica/Palmer, Asia/Gaza, Asia/Hebron, Asia/Jerusalem,
    Pacific/Easter, and Pacific/Fiji.  Other zones are unaffected by
    this change.  (Derived from a suggestion by Arthur David Olson.)

    Allow POSIX-like TZ strings where daylight saving time is in
    effect all year.  E.g., TZ='WART4WARST,J1/0,J365/25' for Western
    Argentina Summer Time all year.  This supports a more-compact way
    to represent the 2013d data for America/Argentina/San_Luis.
    Because of the change for San Luis noted above this change does not
    affect the current data.  (Thanks to Andrew Main (Zefram) for
    suggestions that improved this change.)

    Where these two TZ changes take effect, there is a minor extension
    to the tz file format in that it allows new values for the
    embedded TZ-format string, and the tz file format version number
    has therefore been increased from 2 to 3 as a precaution.
    Version-2-based client code should continue to work as before for
    all time stamps before 2038.  Existing version-2-based client code
    (tzcode, GNU/Linux, Solaris) has been tested on version-3-format
    files, and typically works in practice even for time stamps after
    2037; the only known exception is America/Godthab.

  Changes affecting API

    Support for floating-point time_t has been removed.
    It was always dicey, and POSIX no longer requires it.
    (Thanks to Eric Blake for suggesting to the POSIX committee to
    remove it, and thanks to Alan Barrett, Clive D.W. Feather, Andy
    Heninger, Arthur David Olson, and Alois Treindl, for reporting
    bugs and elucidating some of the corners of the old floating-point
    implementation.)

    The signatures of 'offtime', 'timeoff', and 'gtime' have been
    changed back to the old practice of using 'long' to represent UT
    offsets.  This had been inadvertently and mistakenly changed to
    'int_fast32_t'.  (Thanks to Christos Zoulos.)

    The code avoids undefined behavior on integer overflow in some
    more places, including gmtime, localtime, mktime and zdump.

  Changes affecting code internals

    Minor changes pacify GCC 4.7.3 and GCC 4.8.1.

  Changes affecting documentation and commentary

    Documentation and commentary is more careful to distinguish UT in
    general from UTC in particular.  (Thanks to Steve Allen.)

From the tzcode2013f release notes:

  Changes affecting API

    The types of the global variables 'timezone' and 'altzone' (if present)
    have been changed back to 'long'.  This is required for 'timezone'
    by POSIX, and for 'altzone' by common practice, e.g., Solaris 11.
    These variables were originally 'long' in the tz code, but were
    mistakenly changed to 'time_t' in 1987; nobody reported the
    incompatibility until now.  The difference matters on x32, where
    'long' is 32 bits and 'time_t' is 64.  (Thanks to Elliott Hughes.)

Change-Id: I14937c42a391ddb865e4d89f0783961bcc6baa21
2013-09-27 00:04:30 -07:00
Elliott Hughes
b1542b09d9 am 174e98c9: am ad1244b2: Merge "Upgrade to tzdata2013f."
* commit '174e98c9a96879af82e8bbda2d6322544fb74d90':
  Upgrade to tzdata2013f.
2013-09-26 23:34:10 -07:00
Elliott Hughes
174e98c9a9 am ad1244b2: Merge "Upgrade to tzdata2013f."
* commit 'ad1244b2e7588df2f4e66747e1355016d6d014bc':
  Upgrade to tzdata2013f.
2013-09-26 23:31:50 -07:00
Elliott Hughes
ad1244b2e7 Merge "Upgrade to tzdata2013f." 2013-09-27 06:30:00 +00:00
Elliott Hughes
1b709a946f am 3b7d4697: am abd4b254: Merge "Upgrade to tzdata2013e."
* commit '3b7d4697b765cb4cd65a1e306d27c607dc486d66':
  Upgrade to tzdata2013e.
2013-09-26 23:25:40 -07:00
Elliott Hughes
3b7d4697b7 am abd4b254: Merge "Upgrade to tzdata2013e."
* commit 'abd4b2542b0e161f40a80c48970b77097af76dd9':
  Upgrade to tzdata2013e.
2013-09-26 23:23:15 -07:00
Elliott Hughes
4ced7ef05a Upgrade to tzdata2013f.
From the release notes:

  Changes affecting near-future time stamps

    Tocantins will very likely not observe DST starting this spring.
    (Thanks to Steffen Thorsen.)

    Jordan will likely stay at UTC+3 indefinitely, and will not fall
    back this fall.

    Palestine will fall back at 00:00, not 01:00.  (Thanks to Steffen Thorsen.)

Change-Id: Iccee57578eef2ab51c519a23f151bc1963262ffe
2013-09-26 23:22:23 -07:00
Elliott Hughes
abd4b2542b Merge "Upgrade to tzdata2013e." 2013-09-27 06:20:18 +00:00
Elliott Hughes
35b123ef1e Upgrade to tzdata2013e.
From the release notes:

  Changes affecting near-future time stamps

    This year Fiji will start DST on October 27, not October 20.
    (Thanks to David Wheeler for the heads-up.)  For now, guess that
    Fiji will continue to spring forward the Sunday before the fourth
    Monday in October.

  Changes affecting time stamps before 1970

    Pacific/Johnston is now a link to Pacific/Honolulu.  This corrects
    some errors before 1947.

    Some zones have been turned into links, when they differ from
    existing zones only in older data that was likely invented or that
    differs only in LMT or transition from LMT.  These changes affect
    only time stamps before 1943.  The affected zones are:
    Africa/Juba, America/Anguilla, America/Aruba, America/Dominica,
    America/Grenada, America/Guadeloupe, America/Marigot,
    America/Montserrat, America/St_Barthelemy, America/St_Kitts,
    America/St_Lucia, America/St_Thomas, America/St_Vincent,
    America/Tortola, and Europe/Vaduz.  (Thanks to Alois Treindl for
    confirming that the old Europe/Vaduz zone was wrong and the new
    link is better for WWII-era times.)

    Change Kingston Mean Time from -5:07:12 to -5:07:11.  This affects
    America/Cayman, America/Jamaica and America/Grand_Turk time stamps
    from 1890 to 1912.

    Change the UT offset of Bern Mean Time from 0:29:44 to 0:29:46.
    This affects Europe/Zurich time stamps from 1853 to 1894.  (Thanks
    to Alois Treindl).

    Change the date of the circa-1850 Zurich transition from 1849-09-12
    to 1853-07-16, overriding Shanks with data from Messerli about
    postal and telegraph time in Switzerland.

  Data changes affecting behavior of tzselect and similar programs

    Country code BQ is now called the more-common name "Caribbean Netherlands"
    rather than the more-official "Bonaire, St Eustatius & Saba".

    Remove from zone.tab the names America/Montreal, America/Shiprock,
    and Antarctica/South_Pole, as they are equivalent to existing
    same-country-code zones for post-1970 time stamps.  The data for
    these names are unchanged, so the names continue to work as before.

Change-Id: If78a517687532afcc0b22c7df664b5955f6e1564
2013-09-26 22:41:09 -07:00
Christopher Ferris
6c4ef74757 am 7bfef355: Change hard-coded directory.
* commit '7bfef355b1590cb8ac68d8caa97eaf0018191db8':
  Change hard-coded directory.
2013-09-26 14:39:31 -07:00
Christopher Ferris
9018a0f462 am 6d1f85dc: Change hard-coded temporary directory.
* commit '6d1f85dcdcf32117332b48563357d311a2886c30':
  Change hard-coded temporary directory.
2013-09-26 14:39:30 -07:00
Elliott Hughes
5825f979b7 am 88f29444: am 7b538021: Merge "Make it easier to add syscalls for another architecture."
* commit '88f2944421839b725e02e97c62d119c9e608ec58':
  Make it easier to add syscalls for another architecture.
2013-09-26 09:02:46 -07:00
Elliott Hughes
88f2944421 am 7b538021: Merge "Make it easier to add syscalls for another architecture."
* commit '7b538021bdaa0a7c2d60e25d10e5908043680467':
  Make it easier to add syscalls for another architecture.
2013-09-26 09:01:20 -07:00
Elliott Hughes
7b538021bd Merge "Make it easier to add syscalls for another architecture." 2013-09-26 15:59:33 +00:00
Elliott Hughes
d612165c67 Make it easier to add syscalls for another architecture.
Much of the per-architecture duplication can be removed, so let's do so
before we add the 64-bit architectures.

Change-Id: Ieb796503c8e5353ea38c3bab768bb9a690c9a767
2013-09-26 08:57:17 -07:00
Elliott Hughes
fcdb47d7f5 am dbd4dbc0: am a1c1a334: Merge "Add a unit test for %n."
* commit 'dbd4dbc02c969531ff4891c06e66c63ec7a6d75d':
  Add a unit test for %n.
2013-09-25 22:16:18 -07:00
Elliott Hughes
dbd4dbc02c am a1c1a334: Merge "Add a unit test for %n."
* commit 'a1c1a3344de1c0a35126ea6f43e1d55184f078da':
  Add a unit test for %n.
2013-09-25 22:13:52 -07:00
Elliott Hughes
a1c1a3344d Merge "Add a unit test for %n." 2013-09-26 05:10:28 +00:00
Michael Wright
18c2cc68e8 am 92d512f6: am c612a133: Merge "Update capability.h"
* commit '92d512f6cf273d6d9e281dc362cc25cf8892b3f9':
  Update capability.h
2013-09-25 16:35:33 -07:00
Michael Wright
92d512f6cf am c612a133: Merge "Update capability.h"
* commit 'c612a133dcc3ffaa1a2172d2cac20bddbd5df284':
  Update capability.h
2013-09-25 16:33:24 -07:00
Michael Wright
c612a133dc Merge "Update capability.h" 2013-09-25 23:29:32 +00:00
Michael Wright
8bd5aa6a76 Update capability.h
To upstream SHA 6e4664525b1db28f8c4e1130957f70a94c19213e (v3.11)

Change-Id: Ic0d95464bc9001246df898489b2ea603a97ca231
2013-09-25 14:55:55 -07:00
Elliott Hughes
7248a2d4d0 Add a unit test for %n.
Change-Id: I9335e089d66c98d34577f5e1d1a54b8f507b94f6
2013-09-24 18:01:33 -07:00
Nick Kralevich
60f4f9a5b9 libc: fortify recvfrom()
Fortify calls to recv() and recvfrom().

We use __bos0 to match glibc's behavior, and because I haven't
tested using __bos.

Change-Id: Iad6ae96551a89af17a9c347b80cdefcf2020c505
2013-09-24 16:45:01 -07:00
Elliott Hughes
67e34826d8 am 3c49c6ec: am 759111ca: Merge "Simplify the SYSCALLS.TXT format."
* commit '3c49c6ec49e0a4170ff7c9c74ac2e76b9b846ced':
  Simplify the SYSCALLS.TXT format.
2013-09-24 11:29:29 -07:00
Elliott Hughes
3c49c6ec49 am 759111ca: Merge "Simplify the SYSCALLS.TXT format."
* commit '759111cadf84f337f98177259d9e3f9d39c9eea9':
  Simplify the SYSCALLS.TXT format.
2013-09-24 11:27:42 -07:00
Elliott Hughes
759111cadf Merge "Simplify the SYSCALLS.TXT format." 2013-09-24 18:25:50 +00:00
Elliott Hughes
2f81ac8443 am 4808f052: am c8d98679: Merge "Update taskstats.h from Linux 3.11.1"
* commit '4808f05238d66ba474c6d33da066da799d4e6cf3':
  Update taskstats.h from Linux 3.11.1
2013-09-24 07:37:48 -07:00
Elliott Hughes
4808f05238 am c8d98679: Merge "Update taskstats.h from Linux 3.11.1"
* commit 'c8d98679faa9b7f824e09d969cc1a469c721f4d8':
  Update taskstats.h from Linux 3.11.1
2013-09-24 07:36:12 -07:00
Elliott Hughes
c8d98679fa Merge "Update taskstats.h from Linux 3.11.1" 2013-09-24 14:29:29 +00:00
Elliott Hughes
5e52279256 Simplify the SYSCALLS.TXT format.
This will make addition of new architectures less unpleasant.

Change-Id: I77c866a63b686e8e70709d08fcf52e8a2d37310a
2013-09-24 00:35:31 -07:00
Elliott Hughes
a663ebd468 am f8222078: am 43e5badd: Merge "Fix %hhd formats in the printf family."
* commit 'f82220785d20385fa02aa78b02f3fdb98e5aa553':
  Fix %hhd formats in the printf family.
2013-09-23 16:39:13 -07:00
Elliott Hughes
f82220785d am 43e5badd: Merge "Fix %hhd formats in the printf family."
* commit '43e5baddbcaf571c1a74149c53d1e70a5a2c9de3':
  Fix %hhd formats in the printf family.
2013-09-23 16:36:19 -07:00
Elliott Hughes
43e5baddbc Merge "Fix %hhd formats in the printf family." 2013-09-23 23:34:00 +00:00
Elliott Hughes
1d13c64d78 Fix %hhd formats in the printf family.
Found by adapting the simple unit tests for libc logging to test
snprintf too. Fix taken from upstream OpenBSD without updating
the rest of stdio.

Change-Id: Ie339a8e9393a36080147aae4d6665118e5d93647
2013-09-23 16:02:39 -07:00
Elliott Hughes
4988ec89db am b9f3d31c: am fc2ceae7: Merge "Remove two -D flags for unused macros."
* commit 'b9f3d31ce40bceec4ecf86e2aaf83f1d8857f346':
  Remove two -D flags for unused macros.
2013-09-23 11:22:05 -07:00
Elliott Hughes
b9f3d31ce4 am fc2ceae7: Merge "Remove two -D flags for unused macros."
* commit 'fc2ceae778afdcb2deee4abb5e2fc9b9904fa761':
  Remove two -D flags for unused macros.
2013-09-23 11:19:22 -07:00
Elliott Hughes
fc2ceae778 Merge "Remove two -D flags for unused macros." 2013-09-23 18:14:57 +00:00
Elliott Hughes
3f33165acd Remove two -D flags for unused macros.
Change-Id: Ia95b0f0e2003cadd875e84437afa1853c8fe2598
2013-09-23 11:12:09 -07:00
Sami Kyostila
50a1b776fd Update taskstats.h from Linux 3.11.1
Change-Id: I50853efe20fa2524f6288f78505a774a72071367
2013-09-23 11:01:59 +01:00
Christopher Ferris
b835cec372 am 63e4644e: am c2de11d3: Merge "__memcpy_chk: Fix signed cmp of unsigned values."
* commit '63e4644ebd2da86e10aa41761d11b6beea20b439':
  __memcpy_chk: Fix signed cmp of unsigned values.
2013-09-20 20:42:08 -07:00
Christopher Ferris
63e4644ebd am c2de11d3: Merge "__memcpy_chk: Fix signed cmp of unsigned values."
* commit 'c2de11d3a4ff1e4937406596aeb289c5715c4466':
  __memcpy_chk: Fix signed cmp of unsigned values.
2013-09-20 20:39:27 -07:00
Christopher Ferris
c2de11d3a4 Merge "__memcpy_chk: Fix signed cmp of unsigned values." 2013-09-21 03:36:31 +00:00
Christopher Ferris
16e185c908 __memcpy_chk: Fix signed cmp of unsigned values.
I accidentally did a signed comparison of the size_t values passed in
for three of the _chk functions. Changing them to unsigned compares.

Add three new tests to verify this failure is fixed.

Bug: 10691831

Merge from internal master.

(cherry-picked from 883ef2499c)

Change-Id: Id9a96b549435f5d9b61dc132cf1082e0e30889f5
2013-09-20 20:12:09 -07:00
Christopher Ferris
f67d11b2b4 am 8da175c8: (-s ours) am ad999b60: Merge "Fix all debug directives."
* commit '8da175c8c348522c869a0a6d6016b74165a22abd':
  Fix all debug directives.
2013-09-20 20:05:53 -07:00
Christopher Ferris
8da175c8c3 am ad999b60: Merge "Fix all debug directives."
* commit 'ad999b6062909d4922fb360a6f3b7f412cc06111':
  Fix all debug directives.
2013-09-20 19:44:36 -07:00
Christopher Ferris
ad999b6062 Merge "Fix all debug directives." 2013-09-21 02:41:54 +00:00
Christopher Ferris
74f7414d30 am 768c576d: (-s ours) am 7493568b: Merge "Update all debug directives."
* commit '768c576d478cef5cb7a7d01a5702e83cc6561f19':
  Update all debug directives.
2013-09-20 19:39:42 -07:00
Christopher Ferris
768c576d47 am 7493568b: Merge "Update all debug directives."
* commit '7493568ba82752d405bbb16dd7c42b3b88c67f86':
  Update all debug directives.
2013-09-20 19:01:32 -07:00
Christopher Ferris
a57c9c084b Fix all debug directives.
The backtrace when a fortify check failed was not correct. This change
adds all of the necessary directives to get a correct backtrace.

Fix the strcmp directives and change all labels to local labels.

Testing:
- Verify that the runtime can decode the stack for __memcpy_chk, __memset_chk,
  __strcpy_chk, __strcat_chk fortify failures.
- Verify that gdb can decode the stack properly when hitting a fortify check.
- Verify that the runtime can decode the stack for a seg fault for all of the
  _chk functions and for memcpy/memset.
- Verify that gdb can decode the stack for a seg fault for all of the _chk
  functions and for memcpy/memset.
- Verify that the runtime can decode the stack for a seg fault for strcmp.
- Verify that gdb can decode the stack for a seg fault in strcmp.

Bug: 10342460
Bug: 10345269

Merge from internal master.

(cherry-picked from 05332f2ce7)

Change-Id: Ibc919b117cfe72b9ae97e35bd48185477177c5ca
2013-09-20 18:59:58 -07:00
Christopher Ferris
7493568ba8 Merge "Update all debug directives." 2013-09-21 01:58:56 +00:00
Christopher Ferris
bd7fe1d3c4 Update all debug directives.
The libcorkscrew stack unwinder does not understand cfi directives,
so add .save directives so that it can function properly.

Also add the directives in to strcmp.S and fix a missing set of
directives in cortex-a9/memcpy_base.S.

Bug: 10345269

Merge from internal master.

(cherry-picked from 5f7ccea3ff)

Change-Id: If48a216203216a643807f5d61906015984987189
2013-09-20 13:49:38 -07:00
Nick Kralevich
df3ff45216 am 5a58a1e0: am bef76b54: Merge "Add linux/sock_diag.h"
* commit '5a58a1e0abf51402170abeb6feaceb53915b8a6e':
  Add linux/sock_diag.h
2013-09-20 08:24:59 -07:00
Nick Kralevich
5a58a1e0ab am bef76b54: Merge "Add linux/sock_diag.h"
* commit 'bef76b54a6fe747617334e3aaea892a19370cd29':
  Add linux/sock_diag.h
2013-09-20 08:22:28 -07:00
Nick Kralevich
bef76b54a6 Merge "Add linux/sock_diag.h" 2013-09-20 15:20:03 +00:00
Elliott Hughes
e74f77f92d am 48a909c9: am aad3c52e: Merge "Ensure we have the off64_t variant of every function that takes an off_t."
* commit '48a909c9fd6dbe9be5655ad172d1083fa69c4107':
  Ensure we have the off64_t variant of every function that takes an off_t.
2013-09-19 17:43:01 -07:00
Elliott Hughes
48a909c9fd am aad3c52e: Merge "Ensure we have the off64_t variant of every function that takes an off_t."
* commit 'aad3c52e9d3e726eb59870b03c3fa89a3ba1a89a':
  Ensure we have the off64_t variant of every function that takes an off_t.
2013-09-19 17:40:39 -07:00
Elliott Hughes
aad3c52e9d Merge "Ensure we have the off64_t variant of every function that takes an off_t." 2013-09-20 00:37:28 +00:00
Nick Kralevich
8470f01cca Add linux/sock_diag.h
This file was generated using bionic/libc/kernel/tools/update_all.py

Change-Id: Iad33e96253978ed9a76d429d66eed9f245685c10
2013-09-19 16:44:53 -07:00
Elliott Hughes
b4f7616fd6 Ensure we have the off64_t variant of every function that takes an off_t.
Change-Id: Ib2eee0cf13162be3b62559b84e90c6dcf5aab1c3
2013-09-19 16:27:24 -07:00
Elliott Hughes
a5a508a9b6 am 35cfcc11: am f8e71bac: Merge "Add mmap64()"
* commit '35cfcc11fa923c75ead9356c71466ecabfafcc42':
  Add mmap64()
2013-09-19 14:27:34 -07:00
Elliott Hughes
35cfcc11fa am f8e71bac: Merge "Add mmap64()"
* commit 'f8e71bac14a4bc52cc95c56adfe042c3938279b5':
  Add mmap64()
2013-09-19 14:25:00 -07:00
Elliott Hughes
f8e71bac14 Merge "Add mmap64()" 2013-09-19 21:22:42 +00:00
Daniel Leung
afcc0cccda Add mmap64()
This adds mmap64() to bionic so that it is possible to have
large offset passed to kernel. However, the syscall mechanism
only passes 32-bit number to kernel. So effectively, the
largest offset that can be passed is about 43 bits (since
offset is signed, and the number passed to kernel is number
of pages (page size == 4K => 12 bits)).

Change-Id: Ib54f4e9b54acb6ef8b0324f3b89c9bc810b07281
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2013-09-19 14:11:26 -07:00
Elliott Hughes
1b75f3e07a am fd5f6f19: am d5ddf40e: Merge "Fix host tests that need the shell."
* commit 'fd5f6f192ab6dcc01091b0e36af822dd3480f9b4':
  Fix host tests that need the shell.
2013-09-19 12:06:44 -07:00
Elliott Hughes
44fd0d92d6 am 94c325fb: am 269851bf: Merge "Declare __page_shift and __page_size with C linkage."
* commit '94c325fb3bd8844dcc58640afb8f33668b684bc1':
  Declare __page_shift and __page_size with C linkage.
2013-09-19 12:06:43 -07:00
Elliott Hughes
fd5f6f192a am d5ddf40e: Merge "Fix host tests that need the shell."
* commit 'd5ddf40ecf72a03e38164389555ccdade779ab5a':
  Fix host tests that need the shell.
2013-09-19 12:05:09 -07:00
Elliott Hughes
94c325fb3b am 269851bf: Merge "Declare __page_shift and __page_size with C linkage."
* commit '269851bf950049f16eeb2a402f700952480bcecf':
  Declare __page_shift and __page_size with C linkage.
2013-09-19 12:05:08 -07:00
Elliott Hughes
d5ddf40ecf Merge "Fix host tests that need the shell." 2013-09-19 19:04:10 +00:00
Elliott Hughes
269851bf95 Merge "Declare __page_shift and __page_size with C linkage." 2013-09-19 19:03:19 +00:00
Bernhard Rosenkraenzer
9ae59c02ca Declare __page_shift and __page_size with C linkage.
__page_shift and __page_size were accidentally declared in unistd.h with
C linkage - their implementation needs to use the same linkage.

Going forward, though, let's stop the inlining madness and let's kill
the non-standard __getpageshift(). This patch takes getpagesize(3) out
of line and removes __getpageshift but fixes __page_shift and __page_size
for backwards binary compatibility.

Change-Id: I35ed66a08989ced1db422eb03e4d154a5d6b5bda
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2013-09-19 11:55:36 -07:00
Elliott Hughes
a3285dc914 am 8ff879a5: am a259472c: Merge "Fix mismatch between declaration and forward declaration"
* commit '8ff879a528b8876db811f5abd4dbf0640e3a0408':
  Fix mismatch between declaration and forward declaration
2013-09-19 11:46:46 -07:00
Elliott Hughes
8ff879a528 am a259472c: Merge "Fix mismatch between declaration and forward declaration"
* commit 'a259472ca076ee230523e63502999be13a3f72d2':
  Fix mismatch between declaration and forward declaration
2013-09-19 11:44:11 -07:00
Elliott Hughes
a259472ca0 Merge "Fix mismatch between declaration and forward declaration" 2013-09-19 18:41:06 +00:00
Elliott Hughes
e60c4f0a6c Fix host tests that need the shell.
By making the /system/bin/sh available.

Change-Id: I99200c1ddc922a2f6b5cea8ff2da98aedbe70e7b
2013-09-19 11:28:20 -07:00
Elliott Hughes
823a4e0a7e am 26e71c19: am 045f311b: Merge "Use and to find the tzdata."
* commit '26e71c19875e36ca4f37993bd0b40cdf2d9aee4e':
  Use $ANDROID_DATA and $ANDROID_ROOT to find the tzdata.
2013-09-19 11:23:55 -07:00
Elliott Hughes
26e71c1987 am 045f311b: Merge "Use and to find the tzdata."
* commit '045f311b0a5b3ceed09dfc4b4246c99183a2cef4':
  Use $ANDROID_DATA and $ANDROID_ROOT to find the tzdata.
2013-09-19 11:21:21 -07:00
Elliott Hughes
045f311b0a Merge "Use $ANDROID_DATA and $ANDROID_ROOT to find the tzdata." 2013-09-19 18:19:00 +00:00
Elliott Hughes
cf178bf7d0 Use $ANDROID_DATA and $ANDROID_ROOT to find the tzdata.
This lets us run binaries linked against bionic on an x86 host.

Change-Id: Icd60cf99a90d747c77304c05b4f764e4d26af985
2013-09-19 11:17:42 -07:00
Nick Kralevich
d85d0b4c23 am 0c12f125: am 814bbd52: Merge "Update netlink.h from tip-of-tree external/kernel-headers"
* commit '0c12f125cfc90f83475532e64aa7f533e02e3798':
  Update netlink.h from tip-of-tree external/kernel-headers
2013-09-18 21:09:22 -07:00
Nick Kralevich
0c12f125cf am 814bbd52: Merge "Update netlink.h from tip-of-tree external/kernel-headers"
* commit '814bbd521affba78db04135515bae1f5e099bbd9':
  Update netlink.h from tip-of-tree external/kernel-headers
2013-09-18 21:06:43 -07:00
Nick Kralevich
814bbd521a Merge "Update netlink.h from tip-of-tree external/kernel-headers" 2013-09-19 04:04:07 +00:00
Elliott Hughes
ca0f0662f4 am 2443358b: am 4a509d89: Merge "Add bionic-unit-tests-run-on-host special target"
* commit '2443358b3717bdce932303bbcbe625f59e1ae380':
  Add bionic-unit-tests-run-on-host special target
2013-09-18 19:20:31 -07:00
Elliott Hughes
2443358b37 am 4a509d89: Merge "Add bionic-unit-tests-run-on-host special target"
* commit '4a509d898e24cefe0f7f0edf927b11ce7c304c81':
  Add bionic-unit-tests-run-on-host special target
2013-09-18 19:17:55 -07:00
Elliott Hughes
4a509d898e Merge "Add bionic-unit-tests-run-on-host special target" 2013-09-19 02:16:00 +00:00
Pavel Chupin
f22fb68751 Add bionic-unit-tests-run-on-host special target
Allows running the tests linked with bionic .so on the host if host and
target are compatible. See more comments and usage limitation inlined.

make bionic-unit-tests-run-on-host should do build and run.

Change-Id: I5946fa72e009d324baa9da18f460294b3c1a615e
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-09-18 19:09:24 -07:00
Nick Kralevich
45e52faeb7 Update netlink.h from tip-of-tree external/kernel-headers
This file was generated using bionic/libc/kernel/tools/update_all.py

The only change is a new netlink.h file, from external/kernel-headers.
Please see the commit message there for details.

Change-Id: I83645b88f0baff838131197913ebd70be69abd3f
2013-09-18 17:14:02 -07:00
Bernhard Rosenkraenzer
edad1e1558 Fix mismatch between declaration and forward declaration
KernelArgumentBlock is defined as a class in KernelArgumentBlock.h, but
forward declarations refer to it as a struct.

While this is essentially the same, the mismatch causes a compiler
warning in clang (and may cause warnings in future versions of gcc) in
code that is supposed to be compiled with -Werror.

Change-Id: I4ba49d364c44d0a42c276aff3a8098300dbdcdf0
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2013-09-18 23:40:19 +02:00
Elliott Hughes
56326d14b5 am e0d1d4cf: am 6ebc24fc: am d3f9e815: resolved conflicts for merge of 5d0ad38c to jb-mr2-dev
* commit 'e0d1d4cf497bddd8f24b6d22feec33d655cae0dd':
  Upgrade pre-jb-mr2 releases to tzdata2013d.
2013-09-13 17:13:46 -07:00
Brian Carlstrom
4105fcdb3c am 059f5c3f: am 8512992f: Merge "Simplify main thread stack size initialization"
* commit '059f5c3f6ce2a1783b5d96b4059df1b9104101d5':
  Simplify main thread stack size initialization
2013-09-13 17:05:20 -07:00
Brian Carlstrom
d062806699 am 5f0b5108: am 850f59d8: Merge "Use kernel default for initial thread size"
* commit '5f0b5108e340bddca796b7b8d2b072e30ccea112':
  Use kernel default for initial thread size
2013-09-13 17:05:20 -07:00
Brian Carlstrom
059f5c3f6c am 8512992f: Merge "Simplify main thread stack size initialization"
* commit '8512992f50e8444c1985bbeb17c3385a58fc0fed':
  Simplify main thread stack size initialization
2013-09-13 17:02:51 -07:00
Brian Carlstrom
5f0b5108e3 am 850f59d8: Merge "Use kernel default for initial thread size"
* commit '850f59d8516c7060be9484e9771aa54231e8ff48':
  Use kernel default for initial thread size
2013-09-13 17:02:50 -07:00
Brian Carlstrom
8512992f50 Merge "Simplify main thread stack size initialization" 2013-09-14 00:00:41 +00:00
Brian Carlstrom
850f59d851 Merge "Use kernel default for initial thread size" 2013-09-14 00:00:33 +00:00
Brian Carlstrom
50af69e8f3 Simplify main thread stack size initialization
Change-Id: Iec09433d9de501031cce09dc75848a5e8f3d96bf
2013-09-13 16:44:47 -07:00
Brian Carlstrom
322e7bce23 Use kernel default for initial thread size
Bug: 10697851

Change-Id: I8d980f5e0b584799536f6e6b891056c968d26cdf
2013-09-13 16:25:25 -07:00
Brian Carlstrom
0890436da9 am 9a74e36f: Use kernel default for initial thread size
* commit '9a74e36f4810ca22cb12f8eafe4f929edfa57e58':
  Use kernel default for initial thread size
2013-09-13 13:20:19 -07:00
Christopher Ferris
2e7a8b44c2 resolved conflicts for merge of 883ef249 to klp-dev-plus-aosp
Change-Id: I1e2bd03a0cb5a0ab191c525d1574377bc7fd90ab
2013-09-10 19:49:04 -07:00
Christopher Ferris
5cb0436930 am 1a88ca08: am 98c726ec: Merge "Add the dl_iterate_phdr function to libdl for arm."
* commit '1a88ca08046ea510bfc8d3de6875537f124b3ce3':
  Add the dl_iterate_phdr function to libdl for arm.
2013-09-06 10:57:40 -07:00
Christopher Ferris
1a88ca0804 am 98c726ec: Merge "Add the dl_iterate_phdr function to libdl for arm."
* commit '98c726ec9b40e75efdd3ea027cd9cc627329f85e':
  Add the dl_iterate_phdr function to libdl for arm.
2013-09-06 10:54:56 -07:00
Christopher Ferris
98c726ec9b Merge "Add the dl_iterate_phdr function to libdl for arm." 2013-09-06 17:52:35 +00:00
Christopher Ferris
24053a461e Add the dl_iterate_phdr function to libdl for arm.
Bug: 8410085

Merge from internal master.

(cherry-picked from cb491bc66d)

Change-Id: I94ed51bc5d4c626df7552c0e85c31ccee2d6568f
2013-09-06 09:53:54 -07:00
Elliott Hughes
a015800e73 am 5d094c40: am df7436e7: Merge "Avoid segfaults if properties are not initialized"
* commit '5d094c408841370e4a6f2846ae3408d2e6d12f94':
  Avoid segfaults if properties are not initialized
2013-09-03 14:12:31 -07:00
Elliott Hughes
5d094c4088 am df7436e7: Merge "Avoid segfaults if properties are not initialized"
* commit 'df7436e709035fb6f5667980042848c8b4ca3e79':
  Avoid segfaults if properties are not initialized
2013-09-03 14:09:08 -07:00
Elliott Hughes
df7436e709 Merge "Avoid segfaults if properties are not initialized" 2013-09-03 21:07:16 +00:00
Elliott Hughes
eb31e1c558 am 1e96d49a: am afa31042: Merge "Fix strchr for basic non-sse case on x86"
* commit '1e96d49a7d4d1af8f3bd6630e4ec9369813f18e7':
  Fix strchr for basic non-sse case on x86
2013-09-03 14:07:11 -07:00
Elliott Hughes
1e96d49a7d am afa31042: Merge "Fix strchr for basic non-sse case on x86"
* commit 'afa310427e04f067976e5b979e2cceb3d759bf3f':
  Fix strchr for basic non-sse case on x86
2013-09-03 14:05:51 -07:00
Elliott Hughes
afa310427e Merge "Fix strchr for basic non-sse case on x86" 2013-09-03 21:03:39 +00:00
Pavel Chupin
3c4b50fd8c Fix strchr for basic non-sse case on x86
Fix source location. Move declaration of __strchr_chk out of
ifdef __BIONIC_FORTIFY which should be available for strchr.cpp
compilation when __BIONIC_FORTIFY is not defined.

Change-Id: I552a6e16656e59b276b322886cfbf57bbfb2e6a7
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-09-03 16:20:52 +04:00
Pavel Chupin
a21e696d90 Avoid segfaults if properties are not initialized
Null or constant dereferencing occurs if properties are not initialized.
On Android devices it shouldn't happen but can be faced if testing bionic
libc.so on Linux host.

Change-Id: I8f047cbe17d0e7bcde40ace000a8aa53789c16cb
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-09-03 13:27:09 +04:00
Christopher Ferris
153ec2a76f am 49c0d471: Merge "Fix all debug directives." into klp-dev
* commit '49c0d471a8ba9ed32e7fdadb7e4ea6118b4b4af4':
  Fix all debug directives.
2013-08-29 14:23:06 -07:00
Christopher Ferris
7a80982913 am fc24bc25: am 99b859cf: Merge "Move stack unwinding test into library."
* commit 'fc24bc2544edad03798a1c69d6a76259e6f1e7dd':
  Move stack unwinding test into library.
2013-08-29 14:18:41 -07:00
Christopher Ferris
fc24bc2544 am 99b859cf: Merge "Move stack unwinding test into library."
* commit '99b859cf786f208300f7fc3a6fa5b570c3333433':
  Move stack unwinding test into library.
2013-08-29 14:16:18 -07:00
Christopher Ferris
99b859cf78 Merge "Move stack unwinding test into library." 2013-08-29 21:13:22 +00:00
Christopher Ferris
8240bed918 Move stack unwinding test into library.
Bug: 8291716
Change-Id: Ia270f074b574a8fe86b5ad435bdef80999c64295
2013-08-29 14:00:25 -07:00
Nick Kralevich
4d0fbf9b07 am 89dcc10c: am 4e3ed44d: Merge "cdefs.h: introduce __bos0"
* commit '89dcc10c320c032faef83c4940a57949ade01dba':
  cdefs.h: introduce __bos0
2013-08-28 14:36:50 -07:00
Nick Kralevich
89dcc10c32 am 4e3ed44d: Merge "cdefs.h: introduce __bos0"
* commit '4e3ed44db1200ca810842b0667e7fc80125de28d':
  cdefs.h: introduce __bos0
2013-08-28 14:33:59 -07:00
Nick Kralevich
4e3ed44db1 Merge "cdefs.h: introduce __bos0" 2013-08-28 21:31:55 +00:00
Nick Kralevich
bd8e6749b7 cdefs.h: introduce __bos0
Introduce __bos0 as a #define for __builtin_object_size((s), 0).
This macro is intended to be used for places where the standard
__bos macro isn't appropriate.

memcpy, memmove, and memset deliberately use __bos0. This is done
for two reasons:

1) I haven't yet tested to see if __bos is safe to use.
2) glibc uses __bos0 for these methods.

Change-Id: Ifbe02efdb10a72fe3529dbcc47ff647bde6feeca
2013-08-28 14:27:14 -07:00
Nick Kralevich
2c87c3ff02 am cfd0d72d: am eb8f3622: Merge "FORTIFY_SOURCE: introduce __strncpy_chk2"
* commit 'cfd0d72da8641087f9c4015ee586614da9f7320a':
  FORTIFY_SOURCE: introduce __strncpy_chk2
2013-08-28 13:07:57 -07:00
Nick Kralevich
cfd0d72da8 am eb8f3622: Merge "FORTIFY_SOURCE: introduce __strncpy_chk2"
* commit 'eb8f36223e51db626a23b8032f03c095be80998b':
  FORTIFY_SOURCE: introduce __strncpy_chk2
2013-08-28 13:05:38 -07:00
Nick Kralevich
eb8f36223e Merge "FORTIFY_SOURCE: introduce __strncpy_chk2" 2013-08-28 20:04:06 +00:00
Nick Kralevich
93501d3ab8 FORTIFY_SOURCE: introduce __strncpy_chk2
This change detects programs reading beyond the end of "src" when
calling strncpy.

Change-Id: Ie1b42de923385d62552b22c27b2d4713ab77ee03
2013-08-28 12:39:06 -07:00
Christopher Ferris
7c8ebaf6c1 am d923b307: am 2557433d: Merge "Change hard-coded directory."
* commit 'd923b3075c9cf9e0749cee7373cabb9afba9420c':
  Change hard-coded directory.
2013-08-27 17:41:17 -07:00
Christopher Ferris
d923b3075c am 2557433d: Merge "Change hard-coded directory."
* commit '2557433d8ea4c489f061170822f34f038b930b96':
  Change hard-coded directory.
2013-08-27 17:38:07 -07:00
Christopher Ferris
2557433d8e Merge "Change hard-coded directory." 2013-08-28 00:35:12 +00:00
Christopher Ferris
3825da5c07 am 7a2c2784: am 1f216e30: Merge "Create bionic unit test library for use with CTS."
* commit '7a2c2784a656adfae613b6b53d388988d6f2efa6':
  Create bionic unit test library for use with CTS.
2013-08-27 17:22:37 -07:00
Christopher Ferris
5227bb363d Change hard-coded directory.
The tests are using /data/data which is not accessible to a non-root
user. Change this to /data/local/tmp which is accessible to all users.

Bug: 8291716

Change-Id: I66476bbbaf5d1dc0c103863abf9219405f06a85b
2013-08-27 17:22:34 -07:00
Christopher Ferris
7a2c2784a6 am 1f216e30: Merge "Create bionic unit test library for use with CTS."
* commit '1f216e30b6a9301211193d05f995cdefbdc9619f':
  Create bionic unit test library for use with CTS.
2013-08-27 17:20:39 -07:00
Christopher Ferris
1f216e30b6 Merge "Create bionic unit test library for use with CTS." 2013-08-28 00:19:06 +00:00
Nick Kralevich
f6186e9592 am 1278ae38: am 22f5ef6b: Merge "Delete CAVEATS / fix spelling."
* commit '1278ae38366102369b5a35152f2213426a148512':
  Delete CAVEATS / fix spelling.
2013-08-27 17:11:06 -07:00
Nick Kralevich
1278ae3836 am 22f5ef6b: Merge "Delete CAVEATS / fix spelling."
* commit '22f5ef6b84057bf56f023263859a9b45eccd620b':
  Delete CAVEATS / fix spelling.
2013-08-27 17:08:11 -07:00
Nick Kralevich
22f5ef6b84 Merge "Delete CAVEATS / fix spelling." 2013-08-28 00:06:19 +00:00
Nick Kralevich
bdbdbb8319 Delete CAVEATS / fix spelling.
Change-Id: I0ed504271b7c2e4434d0d5f53bc10335c8cf7b5b
2013-08-27 17:05:19 -07:00
Christopher Ferris
153d92765b Create bionic unit test library for use with CTS.
Bug: 8291716

Change-Id: I46b749348456fae7892eecca6b44aef51a0e4747
2013-08-27 14:35:56 -07:00
Brian Carlstrom
112ad6bf21 am 6ab75bf4: Merge "Fix pthread_getcpuclockid." into klp-dev
* commit '6ab75bf41e5ca24f5d313673b8a05e2dbb803106':
  Fix pthread_getcpuclockid.
2013-08-26 15:05:30 -07:00
Robert Greenwalt
cd1480a662 am 26ac8032: Merge "Change how DNS resolver handle no default iface" into klp-dev
* commit '26ac803232540fc074709c75d17bc3ec0c03f2c4':
  Change how DNS resolver handle no default iface
2013-08-26 15:03:44 -07:00
Elliott Hughes
bda15698bc am d23ef69a: am 33dd7c11: Merge "Add explicit -m32/-melf_i386 for x86 target"
* commit 'd23ef69ad1d089c10547ac3d42ba199b66260ae3':
  Add explicit -m32/-melf_i386 for x86 target
2013-08-26 10:11:55 -07:00
Elliott Hughes
d23ef69ad1 am 33dd7c11: Merge "Add explicit -m32/-melf_i386 for x86 target"
* commit '33dd7c116d652223b5bf3dabe49641c310d1216b':
  Add explicit -m32/-melf_i386 for x86 target
2013-08-26 10:09:36 -07:00
Elliott Hughes
33dd7c116d Merge "Add explicit -m32/-melf_i386 for x86 target" 2013-08-26 17:05:31 +00:00
Robert Greenwalt
e5911f3128 resolved conflicts for merge of 937c3742 to klp-dev-plus-aosp
Change-Id: I4c0ad42ea3802cd232c80e5589af8a8e25f88a60
2013-08-24 08:21:41 -07:00
Robert Greenwalt
937c374225 am c6135ba7: Merge "Change how DNS resolver handle no default iface"
* commit 'c6135ba76db027d85751f84bf648a865609c0e1b':
  Change how DNS resolver handle no default iface
2013-08-24 05:40:18 -07:00
Robert Greenwalt
c6135ba76d Merge "Change how DNS resolver handle no default iface" 2013-08-24 12:35:08 +00:00
Pavel Chupin
e85c183424 Add explicit -m32/-melf_i386 for x86 target
Required for x86 build with multilib compiler.

Change-Id: Iac71cdc3461df6fb48cb2a7b713324ca368e6704
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-08-23 16:46:42 +04:00
Robert Greenwalt
a31ddef36d Change how DNS resolver handle no default iface
We used to just try any iface we'd been told about as a
fallback, but that will end up mistakenly using a secondary
network's dns when we really don't have a default connection.

It also messed up our detection of whether we were doing the
lookup on the default or not (we'd get back our secondary net
iface as the default, do the compare and think we were on default).

Remove the lies and let dns fail if we don't have an iface for it.

bug:10132565
Change-Id: I5f0f2abacaaaaf23c5292b20fba9d8dcb6fb10c5
2013-08-22 21:05:49 -07:00
Elliott Hughes
9fd0cf8170 am 345eb225: Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
* commit '345eb225ae2e87e36354be5f1e62301179482804':
  Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
2013-08-22 14:34:14 -07:00
Elliott Hughes
2d38fced00 am 7003a14b: am 41f08abf: Merge "Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a."
* commit '7003a14b536bad08476d2f2005ebcc0490b77b24':
  Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
2013-08-22 14:32:44 -07:00
Elliott Hughes
7003a14b53 am 41f08abf: Merge "Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a."
* commit '41f08abf3d020ad8b48ff4151f8c623a119790e0':
  Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
2013-08-22 14:30:42 -07:00
Elliott Hughes
41f08abf3d Merge "Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a." 2013-08-22 21:27:55 +00:00
Elliott Hughes
713fe6463e Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
Author: Paul Eggert <eggert@cs.ucla.edu>
Date:   Thu Aug 22 12:47:51 2013 -0700

    * localtime.c: Fix another integer overflow bug in mktime.

    (time2sub): Avoid undefined behavior on time_t overflow.
    Reported by Elliott Hughes in
    <http://mm.icann.org/pipermail/tz/2013-August/019580.html>.

Bug: 10310929
Change-Id: I3bf26f1f91371552e0a3828457d27e22af55acb2
2013-08-22 14:18:04 -07:00
Elliott Hughes
5cf93f8d91 am f0c10a4a: Work around tzcode\'s reliance on signed overflow.
* commit 'f0c10a4a16c74f5099cf6b272c0a2f11f454e63c':
  Work around tzcode's reliance on signed overflow.
2013-08-22 12:36:34 -07:00
Elliott Hughes
6b5eb3134a am e5ac43e1: am c44205cf: Merge "Work around tzcode\'s reliance on signed overflow."
* commit 'e5ac43e19afe270c2a70e4fb5d02b4cf056d50d7':
  Work around tzcode's reliance on signed overflow.
2013-08-22 12:27:52 -07:00
Elliott Hughes
e5ac43e19a am c44205cf: Merge "Work around tzcode\'s reliance on signed overflow."
* commit 'c44205cf717fc8ab8ccaf3631032fa236ba61a86':
  Work around tzcode's reliance on signed overflow.
2013-08-22 12:25:10 -07:00
Elliott Hughes
c44205cf71 Merge "Work around tzcode's reliance on signed overflow." 2013-08-22 19:22:16 +00:00
Elliott Hughes
7843d44a59 Work around tzcode's reliance on signed overflow.
I've mailed the tz list about this, and will switch to whatever upstream
fix comes along as soon as it's available.

Bug: 10310929
Change-Id: I36bf3fcf11f5ac9b88137597bac3487a7bb81b0f
2013-08-22 12:21:18 -07:00
Brian Carlstrom
91df2dd346 am b6cd9cec: am bb34907f: Merge "Make mips_relocate_got tolerate a missing got"
* commit 'b6cd9cecc818fd5303e8c664fcbc5b408883c185':
  Make mips_relocate_got tolerate a missing got
2013-08-21 10:30:24 -07:00
Brian Carlstrom
b6cd9cecc8 am bb34907f: Merge "Make mips_relocate_got tolerate a missing got"
* commit 'bb34907ff5f60cf1600e83ea1bb4a6c26da6854e':
  Make mips_relocate_got tolerate a missing got
2013-08-21 10:28:51 -07:00
Brian Carlstrom
baebc6489a am 9ef1fbb6: Make mips_relocate_got tolerate a missing got
* commit '9ef1fbb644bf85fa211588853316efa4848547c6':
  Make mips_relocate_got tolerate a missing got
2013-08-21 10:27:06 -07:00
Brian Carlstrom
bb34907ff5 Merge "Make mips_relocate_got tolerate a missing got" 2013-08-21 17:25:48 +00:00
Brian Carlstrom
87c358524e Make mips_relocate_got tolerate a missing got
Bug: 10094803

(cherry picked from commit 7ee26878065abb494600595349ce58b2b2db3709)

Change-Id: Ib15bccecaee421dc463d46a3956b054051708759
2013-08-21 10:20:13 -07:00
Christopher Ferris
1ebb44013c am 5f7ccea3: Update all debug directives.
* commit '5f7ccea3ffab05aeceecb85c821003cf580630d3':
  Update all debug directives.
2013-08-20 13:23:32 -07:00
Christopher Ferris
2389a26705 am c058154b: am c8039337: Merge "Change hard-coded temporary directory."
* commit 'c058154b747f295c98ad771d3dec4065749ee1a9':
  Change hard-coded temporary directory.
2013-08-16 12:25:58 -07:00
Elliott Hughes
e714eb157e am 6b6aaec8: am 4eacb341: Merge "Fix pthread_getcpuclockid."
* commit '6b6aaec892b1f256787fbbf106449f7d7e5888a2':
  Fix pthread_getcpuclockid.
2013-08-16 12:25:58 -07:00
Christopher Ferris
c058154b74 am c8039337: Merge "Change hard-coded temporary directory."
* commit 'c8039337e3ee608e23f8ca6e5ea123d938b08029':
  Change hard-coded temporary directory.
2013-08-16 12:21:55 -07:00
Elliott Hughes
6b6aaec892 am 4eacb341: Merge "Fix pthread_getcpuclockid."
* commit '4eacb34132b3162cc3716edfee8bad528d84c16f':
  Fix pthread_getcpuclockid.
2013-08-16 12:21:46 -07:00
Christopher Ferris
4ff3ec05df am 2e544837: Merge commit \'cf052994\' into manualmerge
* commit '2e544837e7acb479c3e4e22f53835e9740800af7':
  Create optimized __strcpy_chk/__strcat_chk.
2013-08-16 12:21:27 -07:00
Christopher Ferris
c8039337e3 Merge "Change hard-coded temporary directory." 2013-08-16 03:13:42 +00:00
Christopher Ferris
2e544837e7 Merge commit 'cf052994' into manualmerge
Fixing merge conflict and pulling in all of the changes that I stupidly
marked as not requiring a merge.

Conflicts:
    libc/arch-arm/arm.mk
    libc/arch-arm/cortex-a15/bionic/memcpy.S
    libc/arch-arm/cortex-a15/bionic/memset.S
    libc/arch-arm/cortex-a9/bionic/memcpy.S
    libc/arch-arm/cortex-a9/bionic/memset.S
    libc/arch-arm/cortex-a9/cortex-a9.mk
    libc/arch-arm/krait/bionic/memcpy.S
    libc/arch-arm/krait/bionic/memset.S
    libc/arch-arm/krait/krait.mk

Change-Id: I5da280dd8700681f118719c964a4d13446db51db
2013-08-15 19:27:08 -07:00
Elliott Hughes
4eacb34132 Merge "Fix pthread_getcpuclockid." 2013-08-15 22:34:58 +00:00
Jeff Hao
9b06cc3c1b Fix pthread_getcpuclockid.
clock_gettime was returning EINVAL for the values
produced by pthread_getcpuclockid.

Bug: 10346183
Change-Id: Iabe643d7d46110bb311a0367aa0fc737f653208e
2013-08-15 15:34:22 -07:00
Christopher Ferris
cf0529946a Merge "Create optimized __strcpy_chk/__strcat_chk." 2013-08-15 20:02:59 +00:00
Christopher Ferris
bd6dc6a886 Change hard-coded temporary directory.
The properties tests creates a temporary directory in /data/nativetest,
but this directory might not exist in all circumstances.
Change this to create the temporary directory in /data/local/tmp.

Change-Id: I812d3e24fcd084c5d74055c9faa95b1656f255bc
2013-08-15 12:54:40 -07:00
Christopher Ferris
b25b276031 am 11855d47: (-s ours) am c5cf5370: (-s ours) Merge "Optimize __memset_chk, __memcpy_chk. DO NOT MERGE."
* commit '11855d4789501956c546604a35d5e56da280040c':
  Optimize __memset_chk, __memcpy_chk. DO NOT MERGE.
2013-08-15 11:16:11 -07:00
Christopher Ferris
11855d4789 am c5cf5370: (-s ours) Merge "Optimize __memset_chk, __memcpy_chk. DO NOT MERGE."
* commit 'c5cf53701a5e04aeead70b1298bb38c51633e96d':
  Optimize __memset_chk, __memcpy_chk. DO NOT MERGE.
2013-08-15 11:14:56 -07:00
Christopher Ferris
5f45d583b0 Create optimized __strcpy_chk/__strcat_chk.
This change pulls the memcpy code out into a new file so that the
__strcpy_chk and __strcat_chk can use it with an include.

The new versions of the two chk functions uses assembly versions
of strlen and memcpy to implement this check. This allows near
parity with the assembly versions of strcpy/strcat. It also means that
as memcpy implementations get faster, so do the chk functions.

Other included changes:
- Change all of the assembly labels to local labels. The other labels
  confuse gdb and mess up backtracing.
- Add .cfi_startproc and .cfi_endproc directives so that gdb is not
  confused when falling through from one function to another.
- Change all functions to use cfi directives since they are more powerful.
- Move the memcpy_chk fail code outside of the memcpy function definition
  so that backtraces work properly.
- Preserve lr before the calls to __fortify_chk_fail so that the backtrace
  actually works.

Testing:

- Ran the bionic unit tests. Verified all error messages in logs are set
  correctly.
- Ran libc_test, replacing strcpy with __strcpy_chk and replacing
  strcat with __strcat_chk.
- Ran the debugger on nexus10, nexus4, and old nexus7. Verified that the
  backtrace is correct for all fortify check failures. Also verify that
  when falling through from __memcpy_chk to memcpy that the backtrace is
  still correct. Also verified the same for __memset_chk and bzero.
  Verified the two different paths in the cortex-a9 memset routine that
  save variables to the stack still show the backtrace properly.

Bug: 9293744

(cherry-picked from 2be91915dc)

Change-Id: Ia407b74d3287d0b6af0139a90b6eb3bfaebf2155
2013-08-15 11:13:39 -07:00
Christopher Ferris
c5cf53701a Merge "Optimize __memset_chk, __memcpy_chk. DO NOT MERGE." 2013-08-15 18:11:02 +00:00
Christopher Ferris
59a13c122e Optimize __memset_chk, __memcpy_chk. DO NOT MERGE.
This change creates assembler versions of __memcpy_chk/__memset_chk
that is implemented in the memcpy/memset assembler code. This change
avoids an extra call to memcpy/memset, instead allowing a simple fall
through to occur from the chk code into the body of the real
implementation.

Testing:

- Ran the libc_test on __memcpy_chk/__memset_chk on all nexus devices.
- Wrote a small test executable that has three calls to __memcpy_chk and
  three calls to __memset_chk. First call dest_len is length + 1. Second
  call dest_len is length. Third call dest_len is length - 1.
  Verified that the first two calls pass, and the third fails. Examined
  the logcat output on all nexus devices to verify that the fortify
  error message was sent properly.
- I benchmarked the new __memcpy_chk and __memset_chk on all systems. For
  __memcpy_chk and large copies, the savings is relatively small (about 1%).
  For small copies, the savings is large on cortex-a15/krait devices
  (between 5% to 30%).
  For cortex-a9 and small copies, the speed up is present, but relatively
  small (about 3% to 5%).
  For __memset_chk and large copies, the savings is also small (about 1%).
  However, all processors show larger speed-ups on small copies (about 30% to
  100%).

Bug: 9293744

Merge from internal master.

(cherry-picked from 7c860db074)

Change-Id: I916ad305e4001269460ca6ebd38aaa0be8ac7f52
2013-08-14 18:14:43 -07:00
Brian Carlstrom
26c755b256 am 0f14e8d5: am c85e0dbb: Merge "Add more information to error due to truncated Elf32_Ehdr"
* commit '0f14e8d5ea2cef28cfa0f39851ad55b134043e7d':
  Add more information to error due to truncated Elf32_Ehdr
2013-08-14 15:56:12 -07:00
Brian Carlstrom
0f14e8d5ea am c85e0dbb: Merge "Add more information to error due to truncated Elf32_Ehdr"
* commit 'c85e0dbb0b8d602f930cf7ae99901730c1c6a26a':
  Add more information to error due to truncated Elf32_Ehdr
2013-08-14 15:54:08 -07:00
Brian Carlstrom
c85e0dbb0b Merge "Add more information to error due to truncated Elf32_Ehdr" 2013-08-14 22:51:47 +00:00
Brian Carlstrom
0e79b91962 Add more information to error due to truncated Elf32_Ehdr
Change-Id: I24f30bd0c1120bcf85d77f5c4e69f0fefe9a2478
2013-08-14 15:47:46 -07:00
The Android Open Source Project
243ae9f461 Reconcile with klp-release - do not merge
Change-Id: I427a690248ab49aca987347b18f08ec0aabe38b9
2013-08-14 14:10:28 -07:00
Michael Wright
a71f676b47 am 7b197ea1: am 5e4a2f31: Merge "Update kernel input headers"
* commit '7b197ea1107055bcdf0a15f285495c5d70a3555c':
  Update kernel input headers
2013-08-14 13:48:18 -07:00
Michael Wright
7b197ea110 am 5e4a2f31: Merge "Update kernel input headers"
* commit '5e4a2f3174485678d461d6b0eeb11a5e9a32e531':
  Update kernel input headers
2013-08-14 13:47:03 -07:00
Michael Wright
5e4a2f3174 Merge "Update kernel input headers" 2013-08-14 20:45:19 +00:00
Michael Wright
55bdef8677 Update kernel input headers
To upstream SHA e1c85813f3832b909d1c4309b213bb0a52c79ba5

Change-Id: I72ee3d59c105bc0252b5ca0c49c569d12ec685d1
2013-08-14 13:30:20 -07:00
Christopher Ferris
3f78cb428e am f0c3d909: Create optimized __strcpy_chk/__strcat_chk.
* commit 'f0c3d909136167fdbe32b7815e5e1e02b4c35d62':
  Create optimized __strcpy_chk/__strcat_chk.
2013-08-14 07:58:50 -07:00
Elliott Hughes
d861b6cbdf am 3912f90e: Make ctype.h a little less unhygienic.
* commit '3912f90e56780ef54c68c796ff6793f5692e7658':
  Make ctype.h a little less unhygienic.
2013-08-13 14:48:40 -07:00
Elliott Hughes
34cd499875 am fd61eccf: am ff9b7aa6: Merge "Make ctype.h a little less unhygienic."
* commit 'fd61eccf6b909ee6374ad43164f0e9bcd4b3547c':
  Make ctype.h a little less unhygienic.
2013-08-13 14:45:44 -07:00
Elliott Hughes
0d5745fe8a am 5951e846: Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
* commit '5951e84646553cdcba0c619f1424f2d934eeabb2':
  Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
2013-08-13 14:45:22 -07:00
Elliott Hughes
fd61eccf6b am ff9b7aa6: Merge "Make ctype.h a little less unhygienic."
* commit 'ff9b7aa695bd4860c0551b8899f2f26311174855':
  Make ctype.h a little less unhygienic.
2013-08-13 14:43:26 -07:00
Elliott Hughes
ff9b7aa695 Merge "Make ctype.h a little less unhygienic." 2013-08-13 21:40:13 +00:00
Elliott Hughes
5e9b20f721 Make ctype.h a little less unhygienic.
This caused trouble for stlport.

Change-Id: Id40787c5a2b7a3a4e12fb557efe549778a01cbbd
2013-08-13 14:30:59 -07:00
Elliott Hughes
c1772397f9 am ff8dcd4a: am c933493a: Merge "Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols."
* commit 'ff8dcd4a1056257b454da71e1ea1371bb73d3a79':
  Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
2013-08-12 14:28:52 -07:00
Elliott Hughes
ff8dcd4a10 am c933493a: Merge "Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols."
* commit 'c933493ac28c40558f369d175da738ba601d8499':
  Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
2013-08-12 13:25:48 -07:00
Elliott Hughes
c933493ac2 Merge "Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols." 2013-08-12 20:23:34 +00:00
Elliott Hughes
aec2ffbc5a Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
Change-Id: I94c411c22634e43184445c82e7388e51fc46a8cc
2013-08-12 12:07:05 -07:00
Elliott Hughes
2a5d2e98f9 am 9e9d1e01: resolved conflicts for merge of 86125aca to klp-dev
* commit '9e9d1e016faf12c4bc5454ce16e20f7db693a72d':
2013-08-08 18:10:55 -07:00
Elliott Hughes
598f3e9c4a Merge "resolved conflicts for merge of dce94165 to klp-dev-plus-aosp" into klp-dev-plus-aosp 2013-08-09 01:05:49 +00:00
Elliott Hughes
3c3a64616a resolved conflicts for merge of dce94165 to klp-dev-plus-aosp
Change-Id: If5f34f4a31c6a1218751f472ac949c324117a948
2013-08-08 18:03:38 -07:00
Elliott Hughes
14ec1b5886 am ceb670cf: Merge branch \'klp-dev\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into klp-dev
* commit 'ceb670cfc09e407a30627d5044f45d5e28e1be5d':
  Add futimens.
2013-08-08 17:59:33 -07:00
Christopher Ferris
a07a955666 am 1036cd79: am 6beb3ea6: (-s ours) am d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit '1036cd7939a4d6474d3f5762ea8bfdd95d3d0cfe':
2013-08-08 17:59:32 -07:00
Christopher Ferris
0a7e61d4a1 am 5ec2ab68: am 21b4ffa7: (-s ours) am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '5ec2ab68f98af7fcb4975bafcb7293f835c9c4b6':
2013-08-08 17:59:31 -07:00
Christopher Ferris
d41e52a238 am d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit 'd7d5049d58427e23318fa1920d63712676fc7725':
  Fix strcpy.c that should have been strcpy.S. DO NOT MERGE
2013-08-08 17:44:21 -07:00
Christopher Ferris
2e0a707f79 am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '5427eb5c63417c7bc59bbfe112c97917dcef4e8c':
  Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE
2013-08-08 17:44:21 -07:00
2389 changed files with 106678 additions and 31274 deletions

View File

@@ -2,6 +2,11 @@ LOCAL_PATH:= $(call my-dir)
include $(LOCAL_PATH)/arch-$(TARGET_ARCH)/syscalls.mk
# Make everything depend on any changes to included makefiles.
libc_common_additional_dependencies := \
$(LOCAL_PATH)/arch-$(TARGET_ARCH)/syscalls.mk \
$(LOCAL_PATH)/Android.mk \
# Define the common source files for all the libc instances
# =========================================================
libc_common_src_files := \
@@ -45,7 +50,6 @@ libc_common_src_files := \
stdio/wbuf.c \
stdlib/atexit.c \
stdlib/ctype_.c \
stdlib/exit.c \
stdlib/getenv.c \
stdlib/putenv.c \
stdlib/setenv.c \
@@ -73,18 +77,13 @@ libc_common_src_files := \
bionic/atol.c \
bionic/atoll.c \
bionic/bindresvport.c \
bionic/bionic_clone.c \
bionic/clearenv.c \
bionic/cpuacct.c \
bionic/daemon.c \
bionic/err.c \
bionic/ether_aton.c \
bionic/ether_ntoa.c \
bionic/fcntl.c \
bionic/fdprintf.c \
bionic/flockfile.c \
bionic/fork.c \
bionic/fstatfs.c \
bionic/ftime.c \
bionic/ftok.c \
bionic/fts.c \
@@ -100,21 +99,15 @@ libc_common_src_files := \
bionic/isatty.c \
bionic/issetugid.c \
bionic/ldexp.c \
bionic/lseek64.c \
bionic/md5.c \
bionic/memmem.c \
bionic/memswap.c \
bionic/name_mem.c \
bionic/openat.c \
bionic/open.c \
bionic/pathconf.c \
bionic/perror.c \
bionic/pread.c \
bionic/pselect.c \
bionic/ptsname.c \
bionic/ptsname_r.c \
bionic/pututline.c \
bionic/pwrite.c \
bionic/reboot.c \
bionic/recv.c \
bionic/sched_cpualloc.c \
@@ -122,21 +115,12 @@ libc_common_src_files := \
bionic/sched_getcpu.c \
bionic/semaphore.c \
bionic/send.c \
bionic/setegid.c \
bionic/seteuid.c \
bionic/setpgrp.c \
bionic/setresuid.c \
bionic/setreuid.c \
bionic/setuid.c \
bionic/sigblock.c \
bionic/siginterrupt.c \
bionic/siglist.c \
bionic/signal.c \
bionic/signame.c \
bionic/sigsetmask.c \
bionic/sigsuspend.c \
bionic/sleep.c \
bionic/statfs.c \
bionic/strndup.c \
bionic/strntoimax.c \
bionic/strntoumax.c \
@@ -145,48 +129,61 @@ libc_common_src_files := \
bionic/system_properties_compat.c \
bionic/tcgetpgrp.c \
bionic/tcsetpgrp.c \
bionic/thread_atexit.c \
bionic/time64.c \
bionic/umount.c \
bionic/unlockpt.c \
bionic/usleep.c \
bionic/utmp.c \
bionic/wcscoll.c \
netbsd/gethnamaddr.c \
netbsd/inet/nsap_addr.c \
netbsd/resolv/__dn_comp.c \
netbsd/resolv/__res_close.c \
netbsd/resolv/__res_send.c \
netbsd/resolv/herror.c \
netbsd/resolv/res_comp.c \
netbsd/resolv/res_data.c \
netbsd/resolv/res_debug.c \
netbsd/resolv/res_init.c \
netbsd/resolv/res_mkquery.c \
netbsd/resolv/res_query.c \
netbsd/resolv/res_send.c \
netbsd/resolv/res_state.c \
netbsd/resolv/res_cache.c \
netbsd/net/nsdispatch.c \
netbsd/net/getaddrinfo.c \
netbsd/net/getnameinfo.c \
netbsd/net/getservbyname.c \
netbsd/net/getservent.c \
netbsd/net/base64.c \
netbsd/net/getservbyport.c \
netbsd/nameser/ns_name.c \
netbsd/nameser/ns_parse.c \
netbsd/nameser/ns_ttl.c \
netbsd/nameser/ns_netint.c \
netbsd/nameser/ns_print.c \
netbsd/nameser/ns_samedomain.c \
libc_dns_src_files += \
netbsd/gethnamaddr.c \
netbsd/inet/nsap_addr.c \
netbsd/nameser/ns_name.c \
netbsd/nameser/ns_netint.c \
netbsd/nameser/ns_parse.c \
netbsd/nameser/ns_print.c \
netbsd/nameser/ns_samedomain.c \
netbsd/nameser/ns_ttl.c \
netbsd/net/base64.c \
netbsd/net/getaddrinfo.c \
netbsd/net/getnameinfo.c \
netbsd/net/getservbyname.c \
netbsd/net/getservbyport.c \
netbsd/net/getservent.c \
netbsd/net/nsdispatch.c \
netbsd/resolv/__dn_comp.c \
netbsd/resolv/herror.c \
netbsd/resolv/res_cache.c \
netbsd/resolv/__res_close.c \
netbsd/resolv/res_comp.c \
netbsd/resolv/res_data.c \
netbsd/resolv/res_debug.c \
netbsd/resolv/res_init.c \
netbsd/resolv/res_mkquery.c \
netbsd/resolv/res_query.c \
netbsd/resolv/__res_send.c \
netbsd/resolv/res_send.c \
netbsd/resolv/res_state.c \
# These are used by the 32-bit targets, but not the 64-bit ones.
ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm mips x86))
libc_common_src_files += \
bionic/legacy_32_bit_support.cpp \
bionic/ndk_cruft.cpp \
endif
# Fortify implementations of libc functions.
libc_common_src_files += \
bionic/__FD_chk.cpp \
bionic/__fgets_chk.cpp \
bionic/__memcpy_chk.cpp \
bionic/__memmove_chk.cpp \
bionic/__memset_chk.cpp \
bionic/__read_chk.cpp \
bionic/__recvfrom_chk.cpp \
bionic/__strcat_chk.cpp \
bionic/__strchr_chk.cpp \
bionic/__strcpy_chk.cpp \
@@ -202,50 +199,108 @@ libc_common_src_files += \
libc_bionic_src_files := \
bionic/abort.cpp \
bionic/access.cpp \
bionic/assert.cpp \
bionic/bionic_time_conversions.cpp \
bionic/brk.cpp \
bionic/chmod.cpp \
bionic/chown.cpp \
bionic/clone.cpp \
bionic/dirent.cpp \
bionic/__errno.c \
bionic/dup2.cpp \
bionic/epoll_create.cpp \
bionic/epoll_wait.cpp \
bionic/epoll_pwait.cpp \
bionic/__errno.cpp \
bionic/eventfd_read.cpp \
bionic/eventfd_write.cpp \
bionic/ffs.cpp \
bionic/fork.cpp \
bionic/futimens.cpp \
bionic/getauxval.cpp \
bionic/getcwd.cpp \
bionic/inotify_init.cpp \
bionic/lchown.cpp \
bionic/libc_init_common.cpp \
bionic/libc_logging.cpp \
bionic/libgen.cpp \
bionic/mmap.cpp \
bionic/link.cpp \
bionic/lstat.cpp \
bionic/mkdir.cpp \
bionic/mkfifo.cpp \
bionic/mknod.cpp \
bionic/open.cpp \
bionic/pause.cpp \
bionic/pipe.cpp \
bionic/poll.cpp \
bionic/pthread_atfork.cpp \
bionic/pthread_attr.cpp \
bionic/pthread_cond.cpp \
bionic/pthread_create.cpp \
bionic/pthread_detach.cpp \
bionic/pthread_equal.cpp \
bionic/pthread_exit.cpp \
bionic/pthread_getcpuclockid.cpp \
bionic/pthread_getschedparam.cpp \
bionic/pthread_internals.cpp \
bionic/pthread_join.cpp \
bionic/pthread_key.cpp \
bionic/pthread_kill.cpp \
bionic/pthread_mutex.cpp \
bionic/pthread_once.cpp \
bionic/pthread_rwlock.cpp \
bionic/pthread_self.cpp \
bionic/pthread_setname_np.cpp \
bionic/pthread_setschedparam.cpp \
bionic/pthread_sigmask.cpp \
bionic/ptrace.cpp \
bionic/raise.cpp \
bionic/readlink.cpp \
bionic/rename.cpp \
bionic/rmdir.cpp \
bionic/sbrk.cpp \
bionic/scandir.cpp \
bionic/sched_getaffinity.cpp \
bionic/setegid.cpp \
bionic/__set_errno.cpp \
bionic/seteuid.cpp \
bionic/setlocale.cpp \
bionic/signalfd.cpp \
bionic/sigaction.cpp \
bionic/sigaddset.cpp \
bionic/sigdelset.cpp \
bionic/sigemptyset.cpp \
bionic/sigfillset.cpp \
bionic/sigismember.cpp \
bionic/signal.cpp \
bionic/sigpending.cpp \
bionic/sigprocmask.cpp \
bionic/sigsuspend.cpp \
bionic/sigwait.cpp \
bionic/stat.cpp \
bionic/statvfs.cpp \
bionic/strerror.cpp \
bionic/strerror_r.cpp \
bionic/strsignal.cpp \
bionic/stubs.cpp \
bionic/symlink.cpp \
bionic/sysconf.cpp \
bionic/thread_atexit.cpp \
bionic/tdestroy.cpp \
bionic/timer.cpp \
bionic/tmpfile.cpp \
bionic/unlink.cpp \
bionic/utimes.cpp \
bionic/wait.cpp \
bionic/wchar.cpp \
# These are shared by all the 32-bit targets, but not the 64-bit ones.
ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm mips x86))
libc_bionic_src_files += \
bionic/mmap.cpp \
endif
libc_tzcode_src_files := \
tzcode/asctime.c \
tzcode/difftime.c \
@@ -254,6 +309,8 @@ libc_tzcode_src_files := \
tzcode/strptime.c \
libc_upstream_freebsd_src_files := \
upstream-freebsd/lib/libc/gen/sleep.c \
upstream-freebsd/lib/libc/gen/usleep.c \
upstream-freebsd/lib/libc/stdio/clrerr.c \
upstream-freebsd/lib/libc/stdio/fclose.c \
upstream-freebsd/lib/libc/stdio/fdopen.c \
@@ -342,6 +399,7 @@ libc_upstream_netbsd_src_files := \
upstream-netbsd/libc/stdlib/div.c \
upstream-netbsd/libc/stdlib/drand48.c \
upstream-netbsd/libc/stdlib/erand48.c \
upstream-netbsd/libc/stdlib/exit.c \
upstream-netbsd/libc/stdlib/jrand48.c \
upstream-netbsd/libc/stdlib/ldiv.c \
upstream-netbsd/libc/stdlib/lldiv.c \
@@ -358,104 +416,100 @@ libc_upstream_netbsd_src_files := \
upstream-netbsd/libc/string/strcasestr.c \
upstream-netbsd/libc/string/strcoll.c \
upstream-netbsd/libc/string/strxfrm.c \
upstream-netbsd/libc/thread-stub/__isthreaded.c \
upstream-netbsd/libc/unistd/killpg.c \
# Architecture specific source files go here
# =========================================================
ifeq ($(TARGET_ARCH),arm)
libc_common_src_files += \
bionic/memmove.c.arm \
string/bcopy.c \
string/strncmp.c \
string/strncat.c \
string/strncpy.c \
bionic/strchr.cpp \
string/strrchr.c \
bionic/memchr.c \
bionic/memrchr.c \
string/index.c \
bionic/strnlen.c \
string/strlcat.c \
string/strlcpy.c \
upstream-freebsd/lib/libc/string/wcschr.c \
upstream-freebsd/lib/libc/string/wcsrchr.c \
upstream-freebsd/lib/libc/string/wcscmp.c \
upstream-freebsd/lib/libc/string/wcscpy.c \
upstream-freebsd/lib/libc/string/wmemcmp.c \
upstream-freebsd/lib/libc/string/wcslen.c \
upstream-freebsd/lib/libc/string/wcscat.c
# These files need to be arm so that gdbserver
# can set breakpoints in them without messing
# up any thumb code.
libc_common_src_files += \
bionic/pthread-atfork.c.arm \
bionic/pthread-rwlocks.c.arm \
bionic/pthread-timers.c.arm \
bionic/ptrace.c.arm
libc_static_common_src_files += \
bionic/pthread.c.arm \
bionic/pthread_create.cpp.arm \
bionic/pthread_key.cpp.arm \
bionic/memchr.c \
bionic/memmove.c.arm \
bionic/memrchr.c \
bionic/strchr.cpp \
bionic/strnlen.c \
string/bcopy.c \
string/index.c \
string/strlcat.c \
string/strlcpy.c \
string/strncat.c \
string/strncmp.c \
string/strncpy.c \
string/strrchr.c \
upstream-freebsd/lib/libc/string/wcscat.c \
upstream-freebsd/lib/libc/string/wcschr.c \
upstream-freebsd/lib/libc/string/wcscmp.c \
upstream-freebsd/lib/libc/string/wcscpy.c \
upstream-freebsd/lib/libc/string/wcslen.c \
upstream-freebsd/lib/libc/string/wcsrchr.c \
upstream-freebsd/lib/libc/string/wmemcmp.c \
endif # arm
ifeq ($(TARGET_ARCH),x86)
libc_common_src_files += \
bionic/pthread-atfork.c \
bionic/pthread-rwlocks.c \
bionic/pthread-timers.c \
bionic/ptrace.c \
libc_static_common_src_files += \
bionic/pthread.c \
bionic/pthread_create.cpp \
bionic/pthread_key.cpp \
endif # x86
ifeq ($(TARGET_ARCH),mips)
libc_common_src_files += \
bionic/memcmp.c \
string/bcopy.c \
string/strcmp.c \
string/strcpy.c \
string/strncmp.c \
string/strcat.c \
string/strncat.c \
string/strncpy.c \
bionic/strchr.cpp \
string/strrchr.c \
bionic/memchr.c \
bionic/memrchr.c \
string/index.c \
bionic/strnlen.c \
string/strlcat.c \
string/strlcpy.c \
upstream-freebsd/lib/libc/string/wcschr.c \
upstream-freebsd/lib/libc/string/wcsrchr.c \
upstream-freebsd/lib/libc/string/wcscmp.c \
upstream-freebsd/lib/libc/string/wcscpy.c \
upstream-freebsd/lib/libc/string/wmemcmp.c \
upstream-freebsd/lib/libc/string/wcslen.c \
upstream-freebsd/lib/libc/string/wcscat.c
libc_common_src_files += \
bionic/pthread-atfork.c \
bionic/pthread-rwlocks.c \
bionic/pthread-timers.c \
bionic/ptrace.c
libc_static_common_src_files += \
bionic/pthread.c \
bionic/pthread_create.cpp \
bionic/pthread_key.cpp \
bionic/memchr.c \
bionic/memcmp.c \
bionic/memrchr.c \
bionic/strchr.cpp \
bionic/strnlen.c \
string/bcopy.c \
string/index.c \
string/strcat.c \
string/strcmp.c \
string/strcpy.c \
string/strlcat.c \
string/strlcpy.c \
string/strncat.c \
string/strncmp.c \
string/strncpy.c \
string/strrchr.c \
upstream-freebsd/lib/libc/string/wcscat.c \
upstream-freebsd/lib/libc/string/wcschr.c \
upstream-freebsd/lib/libc/string/wcscmp.c \
upstream-freebsd/lib/libc/string/wcscpy.c \
upstream-freebsd/lib/libc/string/wcslen.c \
upstream-freebsd/lib/libc/string/wcsrchr.c \
upstream-freebsd/lib/libc/string/wmemcmp.c \
endif # mips
ifeq ($(strip $(TARGET_CPU_VARIANT)),)
$(warning TARGET_CPU_VARIANT is not defined)
ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86_64))
libc_common_src_files += \
bionic/memchr.c \
bionic/memcmp.c \
bionic/memcpy.c \
bionic/memmove.c \
bionic/memrchr.c \
bionic/memset.c \
bionic/strchr.cpp \
bionic/strnlen.c \
string/bcopy.c \
string/index.c \
string/strcat.c \
string/strcmp.c \
string/strcpy.c \
string/strlcat.c \
string/strlcpy.c \
string/strlen.c \
string/strncat.c \
string/strncmp.c \
string/strncpy.c \
string/strrchr.c \
upstream-freebsd/lib/libc/string/wcscat.c \
upstream-freebsd/lib/libc/string/wcschr.c \
upstream-freebsd/lib/libc/string/wcscmp.c \
upstream-freebsd/lib/libc/string/wcscpy.c \
upstream-freebsd/lib/libc/string/wcslen.c \
upstream-freebsd/lib/libc/string/wcsrchr.c \
upstream-freebsd/lib/libc/string/wmemcmp.c \
endif # x86_64
ifeq ($(TARGET_ARCH),arm)
ifeq ($(strip $(TARGET_CPU_VARIANT)),)
$(warning TARGET_ARCH is arm, but TARGET_CPU_VARIANT is not defined)
endif
endif
###########################################################
@@ -481,25 +535,30 @@ _LIBC_ARCH_COMMON_SRC_FILES :=
_LIBC_ARCH_CPU_VARIANT_SRC_FILES :=
_LIBC_ARCH_STATIC_SRC_FILES :=
_LIBC_ARCH_DYNAMIC_SRC_FILES :=
include bionic/libc/arch-$(TARGET_ARCH)/$(TARGET_ARCH).mk
_LIBC_ARCH_ADDITIONAL_DEPENDENCIES :=
libc_common_src_files += $(_LIBC_ARCH_COMMON_SRC_FILES)
libc_common_src_files += $(_LIBC_ARCH_CPU_VARIANT_SRC_FILES)
libc_common_additional_dependencies += \
$(LOCAL_PATH)/arch-$(TARGET_ARCH)/$(TARGET_ARCH).mk
include $(LOCAL_PATH)/arch-$(TARGET_ARCH)/$(TARGET_ARCH).mk
libc_bionic_src_files += $(_LIBC_ARCH_COMMON_SRC_FILES)
libc_bionic_src_files += $(_LIBC_ARCH_CPU_VARIANT_SRC_FILES)
libc_arch_static_src_files := $(_LIBC_ARCH_STATIC_SRC_FILES)
libc_arch_dynamic_src_files := $(_LIBC_ARCH_DYNAMIC_SRC_FILES)
libc_common_additional_dependencies += $(_LIBC_ARCH_ADDITIONAL_DEPENDENCIES)
# Define some common cflags
# ========================================================
libc_common_cflags := \
-DWITH_ERRLIST \
-DANDROID_CHANGES \
-D_LIBC=1 \
-DFLOATING_POINT \
-DINET6 \
-I$(LOCAL_PATH)/private \
-DPOSIX_MISTAKE \
-DLOG_ON_HEAP_ERROR \
-Wall -Wextra
-Wall -Wextra \
# Try to catch typical 32-bit assumptions that break with 64-bit pointers.
libc_common_cflags += \
-Werror=pointer-to-int-cast \
-Werror=int-to-pointer-cast \
-Werror=type-limits \
ifeq ($(strip $(DEBUG_BIONIC_LIBC)),true)
libc_common_cflags += -DDEBUG
@@ -516,18 +575,7 @@ ifeq ($(TARGET_ARCH),arm)
libc_common_cflags += -DSOFTFLOAT
libc_common_cflags += -fstrict-aliasing
libc_crt_target_cflags := -mthumb-interwork
endif # !arm
ifeq ($(TARGET_ARCH),x86)
libc_common_cflags += -DSOFTFLOAT
libc_crt_target_cflags :=
ifeq ($(ARCH_X86_HAVE_SSE2),true)
libc_crt_target_cflags += -DUSE_SSE2=1
endif
ifeq ($(ARCH_X86_HAVE_SSSE3),true)
libc_crt_target_cflags += -DUSE_SSSE3=1
endif
endif # x86
endif # arm
ifeq ($(TARGET_ARCH),mips)
ifneq ($(ARCH_MIPS_HAS_FPU),true)
@@ -537,6 +585,16 @@ ifeq ($(TARGET_ARCH),mips)
libc_crt_target_cflags := $(TARGET_GLOBAL_CFLAGS)
endif # mips
ifeq ($(TARGET_ARCH),x86)
libc_crt_target_cflags := -m32
libc_crt_target_ldflags := -melf_i386
endif # x86
ifeq ($(TARGET_ARCH),x86_64)
libc_crt_target_cflags := -m64
libc_crt_target_ldflags := -melf_x86_64
endif # x86_64
# Define ANDROID_SMP appropriately.
ifeq ($(TARGET_CPU_SMP),true)
libc_common_cflags += -DANDROID_SMP=1
@@ -547,7 +605,16 @@ endif
# crtbrand.c needs <stdint.h> and a #define for the platform SDK version.
libc_crt_target_cflags += \
-I$(LOCAL_PATH)/include \
-DPLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION)
-I$(LOCAL_PATH)/arch-$(TARGET_ARCH)/include \
-DPLATFORM_SDK_VERSION=$(PLATFORM_SDK_VERSION) \
# Define some common conlyflags
libc_common_conlyflags := \
-std=gnu99
# Define some common cppflags
libc_common_cppflags := \
-std=gnu++11
# Define some common includes
# ========================================================
@@ -557,12 +624,6 @@ libc_common_c_includes := \
$(LOCAL_PATH)/stdio \
external/safe-iop/include
# Needed to access private/__dso_handle.h from
# crtbegin_xxx.S and crtend_xxx.S
libc_crt_target_cflags += \
-I$(LOCAL_PATH)/private \
-I$(LOCAL_PATH)/arch-$(TARGET_ARCH)/include
# Define the libc run-time (crt) support object files that must be built,
# which are needed to build all other objects (shared/static libs and
# executables)
@@ -577,18 +638,20 @@ libc_crt_target_cflags += \
# that will call __cxa_finalize(&__dso_handle) in order to ensure that
# static C++ destructors are properly called on dlclose().
#
libc_crt_target_crtbegin_file := $(LOCAL_PATH)/arch-common/bionic/crtbegin.c
libc_crt_target_crtbegin_so_file := $(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c
ifeq ($(TARGET_ARCH),arm)
libc_crt_target_so_cflags :=
endif
ifeq ($(TARGET_ARCH),mips)
libc_crt_target_so_cflags := -fPIC
libc_crt_target_crtbegin_file := $(LOCAL_PATH)/arch-$(TARGET_ARCH)/bionic/crtbegin.c
endif
ifeq ($(TARGET_ARCH),x86)
ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
libc_crt_target_so_cflags := -fPIC
endif
libc_crt_target_so_cflags += $(libc_crt_target_cflags)
libc_crt_target_crtbegin_file := $(LOCAL_PATH)/arch-$(TARGET_ARCH)/bionic/crtbegin.c
libc_crt_target_crtbegin_so_file := $(LOCAL_PATH)/arch-$(TARGET_ARCH)/bionic/crtbegin_so.c
# See the comment in crtbrand.c for the reason why we need to generate
# crtbrand.s before generating crtbrand.o.
@@ -618,7 +681,7 @@ $(GEN): $(libc_crt_target_crtbegin_so_file)
ALL_GENERATED_SOURCES += $(GEN)
GEN := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_so.o
$(GEN): $(LOCAL_PATH)/arch-$(TARGET_ARCH)/bionic/crtend_so.S
$(GEN): $(LOCAL_PATH)/arch-common/bionic/crtend_so.S
@mkdir -p $(dir $@)
$(hide) $(TARGET_CC) $(libc_crt_target_so_cflags) \
-MD -MF $(@:%.o=%.d) -o $@ -c $<
@@ -650,7 +713,7 @@ ALL_GENERATED_SOURCES += $(GEN)
GEN := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_static.o
$(GEN): $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_static1.o $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbrand.o
@mkdir -p $(dir $@)
$(hide) $(TARGET_LD) -r -o $@ $^
$(hide) $(TARGET_LD) $(libc_crt_target_ldflags) -r -o $@ $^
ALL_GENERATED_SOURCES += $(GEN)
GEN := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_dynamic1.o
@@ -665,13 +728,13 @@ ALL_GENERATED_SOURCES += $(GEN)
GEN := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_dynamic.o
$(GEN): $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbegin_dynamic1.o $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtbrand.o
@mkdir -p $(dir $@)
$(hide) $(TARGET_LD) -r -o $@ $^
$(hide) $(TARGET_LD) $(libc_crt_target_ldflags) -r -o $@ $^
ALL_GENERATED_SOURCES += $(GEN)
# We rename crtend.o to crtend_android.o to avoid a
# name clash between gcc and bionic.
GEN := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)/crtend_android.o
$(GEN): $(LOCAL_PATH)/arch-$(TARGET_ARCH)/bionic/crtend.S
$(GEN): $(LOCAL_PATH)/arch-common/bionic/crtend.S
@mkdir -p $(dir $@)
$(hide) $(TARGET_CC) $(libc_crt_target_cflags) \
-MD -MF $(@:%.o=%.d) -o $@ -c $<
@@ -696,9 +759,11 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := bionic/__stack_chk_fail.cpp
LOCAL_CFLAGS := $(libc_common_cflags) -fno-stack-protector -Werror
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_MODULE := libbionic_ssp
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_SYSTEM_SHARED_LIBRARIES :=
include $(BUILD_STATIC_LIBRARY)
@@ -713,14 +778,38 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(libc_tzcode_src_files)
LOCAL_CFLAGS := \
$(libc_common_cflags) \
-std=gnu99 \
-DSTD_INSPIRED=1 \
-DTZDIR=\"/system/usr/share/zoneinfo\" \
-DTM_GMTOFF=tm_gmtoff \
-DUSG_COMPAT=1
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_MODULE := libc_tzcode
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_SYSTEM_SHARED_LIBRARIES :=
include $(BUILD_STATIC_LIBRARY)
# ========================================================
# libc_dns.a - modified NetBSD DNS code
# ========================================================
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(libc_dns_src_files)
LOCAL_CFLAGS := \
$(libc_common_cflags) \
-DINET6 \
-I$(LOCAL_PATH)/private \
-I$(LOCAL_PATH)/upstream-netbsd/libc/include # for NetBSD private headers
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_MODULE := libc_dns
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_SYSTEM_SHARED_LIBRARIES :=
include $(BUILD_STATIC_LIBRARY)
@@ -741,9 +830,11 @@ LOCAL_CFLAGS := \
-I$(LOCAL_PATH)/upstream-freebsd \
-I$(LOCAL_PATH)/upstream-freebsd/libc/include \
-include upstream-freebsd/freebsd-compat.h
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_MODULE := libc_freebsd
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_SYSTEM_SHARED_LIBRARIES :=
include $(BUILD_STATIC_LIBRARY)
@@ -761,12 +852,15 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(libc_upstream_netbsd_src_files)
LOCAL_CFLAGS := \
$(libc_common_cflags) \
-DPOSIX_MISTAKE \
-I$(LOCAL_PATH)/upstream-netbsd \
-I$(LOCAL_PATH)/upstream-netbsd/libc/include \
-include upstream-netbsd/netbsd-compat.h
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_MODULE := libc_netbsd
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_SYSTEM_SHARED_LIBRARIES :=
include $(BUILD_STATIC_LIBRARY)
@@ -780,11 +874,17 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(libc_bionic_src_files)
LOCAL_CFLAGS := $(libc_common_cflags) -Werror
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_MODULE := libc_bionic
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_SYSTEM_SHARED_LIBRARIES :=
# Set -DPTHREAD_DEBUG_ENABLED=true to enable support for pthread deadlock prediction.
# Since this code is experimental it is disabled by default.
LOCAL_CFLAGS += $(libc_common_cflags) -DPTHREAD_DEBUG_ENABLED=false
include $(BUILD_STATIC_LIBRARY)
@@ -795,18 +895,20 @@ include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(libc_common_src_files)
LOCAL_CFLAGS := $(libc_common_cflags) \
-std=gnu99 \
-I$(LOCAL_PATH)/upstream-netbsd/libc/include # for netbsd private headers
LOCAL_CFLAGS := $(libc_common_cflags)
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_MODULE := libc_common
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_WHOLE_STATIC_LIBRARIES := \
libbionic_ssp \
libc_bionic \
libc_dns \
libc_freebsd \
libc_netbsd \
libc_tzcode
libc_tzcode \
LOCAL_SYSTEM_SHARED_LIBRARIES :=
# TODO: split out the asflags.
@@ -834,11 +936,12 @@ LOCAL_SRC_FILES := \
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_CFLAGS := $(libc_common_cflags) \
-DLIBC_STATIC \
-std=gnu99
-DLIBC_STATIC
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_MODULE := libc_nomalloc
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_WHOLE_STATIC_LIBRARIES := libc_common
LOCAL_SYSTEM_SHARED_LIBRARIES :=
@@ -858,11 +961,12 @@ LOCAL_SRC_FILES := \
bionic/libc_init_static.cpp
LOCAL_CFLAGS := $(libc_common_cflags) \
-DLIBC_STATIC \
-std=gnu99
-DLIBC_STATIC
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_MODULE := libc
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_WHOLE_STATIC_LIBRARIES := libc_common
LOCAL_SYSTEM_SHARED_LIBRARIES :=
@@ -874,13 +978,9 @@ include $(BUILD_STATIC_LIBRARY)
# ========================================================
include $(CLEAR_VARS)
# pthread deadlock prediction:
# set -DPTHREAD_DEBUG -DPTHREAD_DEBUG_ENABLED=1 to enable support for
# pthread deadlock prediction.
# Since this code is experimental it is disabled by default.
# see libc/bionic/pthread_debug.c for details
LOCAL_CFLAGS := $(libc_common_cflags) -std=gnu99 -DPTHREAD_DEBUG -DPTHREAD_DEBUG_ENABLED=0
LOCAL_CFLAGS := $(libc_common_cflags)
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_C_INCLUDES := $(libc_common_c_includes)
LOCAL_SRC_FILES := \
@@ -896,14 +996,14 @@ ifeq ($(TARGET_ARCH),arm)
LOCAL_CFLAGS += -DCRT_LEGACY_WORKAROUND
LOCAL_SRC_FILES := \
arch-arm/bionic/crtbegin_so.c \
arch-common/bionic/crtbegin_so.c \
arch-arm/bionic/atexit_legacy.c \
$(LOCAL_SRC_FILES) \
arch-arm/bionic/crtend_so.S
arch-common/bionic/crtend_so.S
endif
LOCAL_MODULE:= libc
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_REQUIRED_MODULES := tzdata
# WARNING: The only library libc.so should depend on is libdl.so! If you add other libraries,
@@ -937,6 +1037,8 @@ include $(CLEAR_VARS)
LOCAL_CFLAGS := \
$(libc_common_cflags) \
-DMALLOC_LEAK_CHECK
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_C_INCLUDES := $(libc_common_c_includes)
@@ -947,7 +1049,7 @@ LOCAL_SRC_FILES := \
bionic/malloc_debug_check.cpp \
LOCAL_MODULE:= libc_malloc_debug_leak
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_SHARED_LIBRARIES := libc libdl
LOCAL_WHOLE_STATIC_LIBRARIES := libc_common
@@ -968,6 +1070,8 @@ include $(CLEAR_VARS)
LOCAL_CFLAGS := \
$(libc_common_cflags) \
-DMALLOC_QEMU_INSTRUMENT
LOCAL_CONLYFLAGS := $(libc_common_conlyflags)
LOCAL_CPPFLAGS := $(libc_common_cppflags)
LOCAL_C_INCLUDES := $(libc_common_c_includes)
@@ -975,7 +1079,7 @@ LOCAL_SRC_FILES := \
bionic/malloc_debug_qemu.cpp
LOCAL_MODULE:= libc_malloc_debug_qemu
LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies)
LOCAL_SHARED_LIBRARIES := libc libdl
LOCAL_WHOLE_STATIC_LIBRARIES := libc_common

View File

@@ -1,26 +0,0 @@
Bionic is a very small C library because we have decided to *not* implement various features
of the POSIX standard. we only add functions on a as-needed basis, and there are a few things
we wish we'll never put in there.
this file is here to document explicitely what we don't want to support in Bionic:
- C++ exceptions are not supported. on embedded systems, they lead to extremely larger and
slower code for no good reason (even when so-called zero-cost exception schemes are
implemented, they enforce very large numbers of registers spills to the stack, even
in functions that do not throw an exception themselves).
- pthread cancellation is *not* supported. this seemingly simple "feature" is the source
of much bloat and complexity in a C library. Besides, you'd better write correct
multi-threaded code instead of relying on this stuff.
- pthread_once() doesn't support C++ exceptions thrown from the init function, or the init
function doing a fork().
- locales and wide characters are not supported. we use ICU for all this i18n stuff, which
is much better than the ill-designed related C libraries functions.
- at the moment, several user-account-related functions like getpwd are stubbed and return
the values corresponding to root. this will be fixed when we'll be able to have distinct
users on the Android filesystem. :-(
see bionic/stubs.c for the details

View File

@@ -1,326 +1,305 @@
# This file is used to automatically generate bionic's the system calls stubs.
# This file is used to automatically generate bionic's system call stubs.
#
# Each non comment line has the following format:
# Each non-blank, non-comment line has the following format:
#
# return_type func_name[:syscall_name[:call_id]]([parameter_list]) (1|-1|"stub")
# return_type func_name[|alias_list][:syscall_name[:socketcall_id]]([parameter_list]) arch_list
#
# Note that:
# where:
# arch_list ::= "all" | arch+
# arch ::= "aarch64" | "arm" | "mips" | "x86" | "x86_64"
#
# Note:
# - syscall_name corresponds to the name of the syscall, which may differ from
# the exported function name (example: the exit syscall is implemented by the _exit()
# function, which is not the same as the standard C exit() function which calls it)
# The call_id parameter, given that func_name and syscall_name have
#
# - alias_list is optional comma separated list of function aliases.
#
# - The call_id parameter, given that func_name and syscall_name have
# been provided, allows the user to specify dispatch style syscalls.
# For example, socket() syscall on i386 actually becomes:
# socketcall(__NR_socket, 1, *(rest of args on stack)).
#
# - each parameter type is assumed to be stored on 32 bits, there is no plan to support
# 64-bit architectures at the moment
#
# - the final field can be "1", meaning: generate a stub for each architecture,
# taking the constants from the kernel header files.
#
# - the final field can be "stub" meaning: do not generate any stubs ---
# in this case, a hand-written custom stub must be provided.
# TODO: replace this with something like "custom" or "none", or remove
# it entirely.
#
# - the final field can be a three-element list of 1s and -1 meaning:
# this system call is only available on some of the architectures (1),
# and no stub should be generated for those architectures marked with -1.
# the order is arm,x86,mips.
# TODO: replace this with something more readable like "-arm,-mips" (meaning x86 only).
# - Each parameter type is assumed to be stored in 32 bits.
#
# This file is processed by a python script named gensyscalls.py.
#
# process management
void _exit:exit_group (int) 1
void _exit_thread:exit (int) 1
pid_t __fork:fork (void) 1
pid_t _waitpid:waitpid (pid_t, int*, int, struct rusage*) -1,1,1
int __waitid:waitid(int, pid_t, struct siginfo_t*, int,void*) 1
pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage) 1
int execve(const char*, char* const*, char* const*) all
# NOTE: this system call is never called directly, but we list it there
# to have __NR_clone properly defined.
#
pid_t __sys_clone:clone (int, void*, int*, void*, int*) 1
int execve (const char*, char* const*, char* const*) 1
int __setuid:setuid32 (uid_t) 1,1,-1
int __setuid:setuid (uid_t) -1,-1,1
uid_t getuid:getuid32 () 1,1,-1
uid_t getuid:getuid () -1,-1,1
gid_t getgid:getgid32 () 1,1,-1
gid_t getgid:getgid () -1,-1,1
uid_t geteuid:geteuid32 () 1,1,-1
uid_t geteuid:geteuid () -1,-1,1
gid_t getegid:getegid32 () 1,1,-1
gid_t getegid:getegid () -1,-1,1
uid_t getresuid:getresuid32 (uid_t *ruid, uid_t *euid, uid_t *suid) 1,1,-1
uid_t getresuid:getresuid (uid_t *ruid, uid_t *euid, uid_t *suid) -1,-1,1
gid_t getresgid:getresgid32 (gid_t *rgid, gid_t *egid, gid_t *sgid) 1,1,-1
gid_t getresgid:getresgid (gid_t *rgid, gid_t *egid, gid_t *sgid) -1,-1,1
pid_t gettid() 1
ssize_t readahead(int, off64_t, size_t) 1
int getgroups:getgroups32(int, gid_t *) 1,1,-1
int getgroups:getgroups(int, gid_t *) -1,-1,1
pid_t getpgid(pid_t) 1
pid_t getppid() 1
pid_t getsid(pid_t) 1
pid_t setsid() 1
int setgid:setgid32(gid_t) 1,1,-1
int setgid:setgid(gid_t) -1,-1,1
int seteuid:seteuid32(uid_t) stub
int __setreuid:setreuid32(uid_t, uid_t) 1,1,-1
int __setreuid:setreuid(uid_t, uid_t) -1,-1,1
int __setresuid:setresuid32(uid_t, uid_t, uid_t) 1,1,-1
int __setresuid:setresuid(uid_t, uid_t, uid_t) -1,-1,1
int setresgid:setresgid32(gid_t, gid_t, gid_t) 1,1,-1
int setresgid:setresgid(gid_t, gid_t, gid_t) -1,-1,1
void* __brk:brk(void*) 1
# see comments in arch-arm/bionic/kill.S to understand why we don't generate an ARM stub for kill/tkill
int kill(pid_t, int) -1,1,1
int tkill(pid_t tid, int sig) -1,1,1
int tgkill(pid_t tgid, pid_t tid, int sig) -1,1,1
int __ptrace:ptrace(int request, int pid, void* addr, void* data) 1
int __set_thread_area:set_thread_area(void* user_desc) -1,1,1
int __getpriority:getpriority(int, int) 1
int setpriority(int, int, int) 1
int setrlimit(int resource, const struct rlimit *rlp) 1
int getrlimit:ugetrlimit(int resource, struct rlimit *rlp) 1,1,-1
int getrlimit:getrlimit(int resource, struct rlimit *rlp) -1,-1,1
int getrusage(int who, struct rusage* r_usage) 1
int setgroups:setgroups32(int, const gid_t *) 1,1,-1
int setgroups:setgroups(int, const gid_t *) -1,-1,1
pid_t getpgrp(void) stub
int setpgid(pid_t, pid_t) 1
pid_t vfork(void) 1,-1,-1
int setregid:setregid32(gid_t, gid_t) 1,1,-1
int setregid:setregid(gid_t, gid_t) -1,-1,1
int chroot(const char *) 1
# IMPORTANT: Even though <sys/prctl.h> declares prctl(int,...), the syscall stub must take 6 arguments
uid_t getuid:getuid32() arm,x86
uid_t getuid:getuid() aarch64,mips,x86_64
gid_t getgid:getgid32() arm,x86
gid_t getgid:getgid() aarch64,mips,x86_64
uid_t geteuid:geteuid32() arm,x86
uid_t geteuid:geteuid() aarch64,mips,x86_64
gid_t getegid:getegid32() arm,x86
gid_t getegid:getegid() aarch64,mips,x86_64
uid_t getresuid:getresuid32(uid_t* ruid, uid_t* euid, uid_t* suid) arm,x86
uid_t getresuid:getresuid(uid_t* ruid, uid_t* euid, uid_t* suid) aarch64,mips,x86_64
gid_t getresgid:getresgid32(gid_t* rgid, gid_t* egid, gid_t* sgid) arm,x86
gid_t getresgid:getresgid(gid_t* rgid, gid_t* egid, gid_t* sgid) aarch64,mips,x86_64
pid_t gettid() all
ssize_t readahead(int, off64_t, size_t) all
int getgroups:getgroups32(int, gid_t*) arm,x86
int getgroups:getgroups(int, gid_t*) aarch64,mips,x86_64
pid_t getpgid(pid_t) all
pid_t getppid() all
pid_t getsid(pid_t) all
pid_t setsid() all
int setgid:setgid32(gid_t) arm,x86
int setgid:setgid(gid_t) aarch64,mips,x86_64
int setuid:setuid32(uid_t) arm,x86
int setuid:setuid(uid_t) aarch64,mips,x86_64
int setreuid:setreuid32(uid_t, uid_t) arm,x86
int setreuid:setreuid(uid_t, uid_t) aarch64,mips,x86_64
int setresuid:setresuid32(uid_t, uid_t, uid_t) arm,x86
int setresuid:setresuid(uid_t, uid_t, uid_t) aarch64,mips,x86_64
int setresgid:setresgid32(gid_t, gid_t, gid_t) arm,x86
int setresgid:setresgid(gid_t, gid_t, gid_t) aarch64,mips,x86_64
void* __brk:brk(void*) all
int kill(pid_t, int) all
int tkill(pid_t tid, int sig) all
int tgkill(pid_t tgid, pid_t tid, int sig) all
int __ptrace:ptrace(int request, int pid, void* addr, void* data) all
int __set_thread_area:set_thread_area(void* user_desc) mips,x86
int __getpriority:getpriority(int, int) all
int setpriority(int, int, int) all
int setrlimit(int resource, const struct rlimit* rlp) all
int getrlimit:ugetrlimit(int resource, struct rlimit* rlp) arm,x86
int getrlimit:getrlimit(int resource, struct rlimit* rlp) aarch64,mips,x86_64
int getrusage(int who, struct rusage* r_usage) all
int setgroups:setgroups32(int, const gid_t*) arm,x86
int setgroups:setgroups(int, const gid_t*) aarch64,mips,x86_64
int setpgid(pid_t, pid_t) all
pid_t vfork(void) arm
int setregid:setregid32(gid_t, gid_t) arm,x86
int setregid:setregid(gid_t, gid_t) aarch64,mips,x86_64
int chroot(const char*) all
# IMPORTANT: Even though <sys/prctl.h> declares prctl(int, ...), the syscall stub must take 6 arguments
# to match the kernel implementation.
int prctl(int option, unsigned int arg2, unsigned int arg3, unsigned int arg4, unsigned int arg5) 1
int capget(cap_user_header_t header, cap_user_data_t data) 1
int capset(cap_user_header_t header, const cap_user_data_t data) 1
int sigaltstack(const stack_t*, stack_t*) 1
int acct(const char* filepath) 1
int prctl(int option, unsigned int arg2, unsigned int arg3, unsigned int arg4, unsigned int arg5) all
long __arch_prctl:arch_prctl(int, unsigned long) x86_64
int capget(cap_user_header_t header, cap_user_data_t data) all
int capset(cap_user_header_t header, const cap_user_data_t data) all
int sigaltstack(const stack_t*, stack_t*) all
int acct(const char* filepath) all
# file descriptors
ssize_t read (int, void*, size_t) 1
ssize_t write (int, const void*, size_t) 1
ssize_t pread64 (int, void *, size_t, off64_t) 1
ssize_t pwrite64 (int, void *, size_t, off64_t) 1
int __open:open (const char*, int, mode_t) 1
int __openat:openat (int, const char*, int, mode_t) 1
int close (int) 1
int creat(const char*, mode_t) stub
off_t lseek(int, off_t, int) 1
int __llseek:_llseek (int, unsigned long, unsigned long, loff_t*, int) 1
pid_t getpid () 1
void * mmap(void *, size_t, int, int, int, long) stub
void * __mmap2:mmap2(void*, size_t, int, int, int, long) 1
int munmap(void *, size_t) 1
void * mremap(void *, size_t, size_t, unsigned long) 1
int msync(const void *, size_t, int) 1
int mprotect(const void *, size_t, int) 1
int madvise(const void *, size_t, int) 1
int mlock(const void *addr, size_t len) 1
int munlock(const void *addr, size_t len) 1
int mlockall(int flags) 1
int munlockall() 1
int mincore(void* start, size_t length, unsigned char* vec) 1
int __ioctl:ioctl(int, int, void *) 1
int readv(int, const struct iovec *, int) 1
int writev(int, const struct iovec *, int) 1
int __fcntl:fcntl(int, int, void*) 1
int flock(int, int) 1
int fchmod(int, mode_t) 1
int dup(int) 1
int pipe(int *) 1,1,-1
int pipe2(int *, int) 1
int dup2(int, int) 1
int select:_newselect(int, struct fd_set *, struct fd_set *, struct fd_set *, struct timeval *) 1
int ftruncate(int, off_t) 1
int ftruncate64(int, off64_t) 1
int getdents:getdents64(unsigned int, struct dirent *, unsigned int) 1
int fsync(int) 1
int fdatasync(int) 1
int fchown:fchown32(int, uid_t, gid_t) 1,1,-1
int fchown:fchown(int, uid_t, gid_t) -1,-1,1
void sync(void) 1
int __fcntl64:fcntl64(int, int, void *) 1
int __fstatfs64:fstatfs64(int, size_t, struct statfs *) 1
ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count) 1
int fstatat:fstatat64(int dirfd, const char *path, struct stat *buf, int flags) 1
int mkdirat(int dirfd, const char *pathname, mode_t mode) 1
int fchownat(int dirfd, const char *path, uid_t owner, gid_t group, int flags) 1
int fchmodat(int dirfd, const char *path, mode_t mode, int flags) 1
int renameat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath) 1
int fsetxattr(int, const char *, const void *, size_t, int) 1
ssize_t fgetxattr(int, const char *, void *, size_t) 1
ssize_t flistxattr(int, char *, size_t) 1
int fremovexattr(int, const char *) 1
ssize_t read(int, void*, size_t) all
ssize_t write(int, const void*, size_t) all
ssize_t pread64(int, void*, size_t, off64_t) arm,mips,x86
ssize_t pread64|pread(int, void*, size_t, off_t) aarch64,x86_64
ssize_t pwrite64(int, void*, size_t, off64_t) arm,mips,x86
ssize_t pwrite64|pwrite(int, void*, size_t, off_t) aarch64,x86_64
int close(int) all
pid_t getpid() all
void* mmap(void*, size_t, int, int, int, long) aarch64,x86_64
void* __mmap2:mmap2(void*, size_t, int, int, int, long) arm,mips,x86
int munmap(void*, size_t) all
void* mremap(void*, size_t, size_t, unsigned long) all
int msync(const void*, size_t, int) all
int mprotect(const void*, size_t, int) all
int madvise(const void*, size_t, int) all
int mlock(const void* addr, size_t len) all
int munlock(const void* addr, size_t len) all
int mlockall(int flags) all
int munlockall() all
int mincore(void* start, size_t length, unsigned char* vec) all
int __ioctl:ioctl(int, int, void*) all
int readv(int, const struct iovec*, int) all
int writev(int, const struct iovec*, int) all
int __fcntl64:fcntl64(int, int, void*) arm,mips,x86
int fcntl(int, int, void*) aarch64,x86_64
int flock(int, int) all
int fchmod(int, mode_t) all
int dup(int) all
int pipe2(int*, int) all
int dup3(int, int, int) all
int getdents:getdents64(unsigned int, struct dirent*, unsigned int) all
int fsync(int) all
int fdatasync(int) all
int fchown:fchown32(int, uid_t, gid_t) arm,x86
int fchown:fchown(int, uid_t, gid_t) aarch64,mips,x86_64
void sync(void) all
int __fstatfs64:fstatfs64(int, size_t, struct statfs*) arm,mips,x86
int fstatfs(int, struct statfs*) aarch64,x86_64
int fsetxattr(int, const char*, const void*, size_t, int) all
ssize_t fgetxattr(int, const char*, void*, size_t) all
ssize_t flistxattr(int, char*, size_t) all
int fremovexattr(int, const char*) all
int __openat:openat(int, const char*, int, mode_t) all
int faccessat(int, const char*, int, int) all
int fchmodat(int, const char*, mode_t, int) all
int fchownat(int, const char*, uid_t, gid_t, int) all
int fstatat:fstatat64(int, const char*, struct stat*, int) arm,mips,x86
int fstatat:newfstatat(int, const char*, struct stat*, int) aarch64,x86_64
int linkat(int, const char*, int, const char*, int) all
int mkdirat(int, const char*, mode_t) all
int mknodat(int, const char*, mode_t, dev_t) all
int readlinkat(int, const char*, char*, size_t) all
int renameat(int, const char*, int, const char*) all
int symlinkat(const char*, int, const char*) all
int unlinkat(int, const char*, int) all
int utimensat(int, const char*, const struct timespec times[2], int) all
# Paired off_t/off64_t system calls. On 64-bit systems,
# sizeof(off_t) == sizeof(off64_t), so there we emit two symbols that are
# aliases. On 32-bit systems, we have two different system calls.
# That means that every system call in this section should take three lines.
off_t lseek(int, off_t, int) arm,mips,x86
int __llseek:_llseek(int, unsigned long, unsigned long, off64_t*, int) arm,mips,x86
off_t lseek|lseek64(int, off_t, int) aarch64,x86_64
int ftruncate(int, off_t) arm,mips,x86
int ftruncate64(int, off64_t) arm,mips,x86
int ftruncate|ftruncate64(int, off_t) aarch64,x86_64
ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count) arm,mips,x86
ssize_t sendfile64(int out_fd, int in_fd, off64_t* offset, size_t count) arm,mips,x86
ssize_t sendfile|sendfile64(int out_fd, int in_fd, off_t* offset, size_t count) aarch64,x86_64
int truncate(const char*, off_t) arm,mips,x86
int truncate64(const char*, off64_t) arm,mips,x86
int truncate|truncate64(const char*, off_t) aarch64,x86_64
# file system
int link (const char*, const char*) 1
int unlink (const char*) 1
int unlinkat (int, const char *, int) 1
int chdir (const char*) 1
int mknod (const char*, mode_t, dev_t) 1
int chmod (const char*,mode_t) 1
int chown:chown32(const char *, uid_t, gid_t) 1,1,-1
int chown:chown(const char *, uid_t, gid_t) -1,-1,1
int lchown:lchown32 (const char*, uid_t, gid_t) 1,1,-1
int lchown:lchown (const char*, uid_t, gid_t) -1,-1,1
int mount (const char*, const char*, const char*, unsigned long, const void*) 1
int umount(const char*) stub
int umount2 (const char*, int) 1
int fstat:fstat64(int, struct stat*) 1
int stat:stat64(const char *, struct stat *) 1
int lstat:lstat64(const char *, struct stat *) 1
int mkdir(const char *, mode_t) 1
int readlink(const char *, char *, size_t) 1
int rmdir(const char *) 1
int rename(const char *, const char *) 1
int __getcwd:getcwd(char * buf, size_t size) 1
int access(const char *, int) 1
int faccessat(int, const char *, int, int) 1
int symlink(const char *, const char *) 1
int fchdir(int) 1
int truncate(const char*, off_t) 1
int setxattr(const char *, const char *, const void *, size_t, int) 1
int lsetxattr(const char *, const char *, const void *, size_t, int) 1
ssize_t getxattr(const char *, const char *, void *, size_t) 1
ssize_t lgetxattr(const char *, const char *, void *, size_t) 1
ssize_t listxattr(const char *, char *, size_t) 1
ssize_t llistxattr(const char *, char *, size_t) 1
int removexattr(const char *, const char *) 1
int lremovexattr(const char *, const char *) 1
int __statfs64:statfs64(const char *, size_t, struct statfs *) 1
long unshare(unsigned long) 1
int swapon(const char *, int) 1
int swapoff(const char *) 1
int chdir(const char*) all
int mount(const char*, const char*, const char*, unsigned long, const void*) all
int umount2(const char*, int) all
int fstat:fstat64(int, struct stat*) arm,mips,x86
int fstat(int, struct stat*) aarch64,x86_64
int __getcwd:getcwd(char* buf, size_t size) all
int fchdir(int) all
int setxattr(const char*, const char*, const void*, size_t, int) all
int lsetxattr(const char*, const char*, const void*, size_t, int) all
ssize_t getxattr(const char*, const char*, void*, size_t) all
ssize_t lgetxattr(const char*, const char*, void*, size_t) all
ssize_t listxattr(const char*, char*, size_t) all
ssize_t llistxattr(const char*, char*, size_t) all
int removexattr(const char*, const char*) all
int lremovexattr(const char*, const char*) all
int __statfs64:statfs64(const char*, size_t, struct statfs*) arm,mips,x86
int statfs(const char*, struct statfs*) aarch64,x86_64
long unshare(unsigned long) all
int swapon(const char*, int) all
int swapoff(const char*) all
# time
int pause () 1
int gettimeofday(struct timeval*, struct timezone*) 1
int settimeofday(const struct timeval*, const struct timezone*) 1
clock_t times(struct tms *) 1
int nanosleep(const struct timespec *, struct timespec *) 1
int clock_gettime(clockid_t clk_id, struct timespec *tp) 1
int clock_settime(clockid_t clk_id, const struct timespec *tp) 1
int clock_getres(clockid_t clk_id, struct timespec *res) 1
int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *req, struct timespec *rem) 1
int getitimer(int, const struct itimerval *) 1
int setitimer(int, const struct itimerval *, struct itimerval *) 1
int __timer_create:timer_create(clockid_t clockid, struct sigevent *evp, timer_t *timerid) 1
int __timer_settime:timer_settime(timer_t, int, const struct itimerspec*, struct itimerspec*) 1
int __timer_gettime:timer_gettime(timer_t, struct itimerspec*) 1
int __timer_getoverrun:timer_getoverrun(timer_t) 1
int __timer_delete:timer_delete(timer_t) 1
int utimes(const char*, const struct timeval tvp[2]) 1
int utimensat(int, const char *, const struct timespec times[2], int) 1
int timerfd_create(clockid_t, int) 1
int timerfd_settime(int, int, const struct itimerspec *, struct itimerspec *) 1
int timerfd_gettime(int, struct itimerspec *) 1
int gettimeofday(struct timeval*, struct timezone*) all
int settimeofday(const struct timeval*, const struct timezone*) all
clock_t times(struct tms*) all
int nanosleep(const struct timespec*, struct timespec*) all
int clock_gettime(clockid_t clk_id, struct timespec* tp) all
int clock_settime(clockid_t clk_id, const struct timespec* tp) all
int clock_getres(clockid_t clk_id, struct timespec* res) all
int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec* req, struct timespec* rem) all
int getitimer(int, const struct itimerval*) all
int setitimer(int, const struct itimerval*, struct itimerval*) all
int __timer_create:timer_create(clockid_t clockid, struct sigevent* evp, timer_t* timerid) all
int __timer_settime:timer_settime(timer_t, int, const struct itimerspec*, struct itimerspec*) all
int __timer_gettime:timer_gettime(timer_t, struct itimerspec*) all
int __timer_getoverrun:timer_getoverrun(timer_t) all
int __timer_delete:timer_delete(timer_t) all
int timerfd_create(clockid_t, int) all
int timerfd_settime(int, int, const struct itimerspec*, struct itimerspec*) all
int timerfd_gettime(int, struct itimerspec*) all
# signals
int sigaction(int, const struct sigaction *, struct sigaction *) 1
int sigprocmask(int, const sigset_t *, sigset_t *) 1
int __sigsuspend:sigsuspend(int unused1, int unused2, unsigned mask) 1,1,-1
int __sigsuspend:sigsuspend(const sigset_t *mask) -1,-1,1
int __rt_sigaction:rt_sigaction (int sig, const struct sigaction *act, struct sigaction *oact, size_t sigsetsize) 1
int __rt_sigprocmask:rt_sigprocmask (int how, const sigset_t *set, sigset_t *oset, size_t sigsetsize) 1
int __rt_sigtimedwait:rt_sigtimedwait(const sigset_t *set, struct siginfo_t *info, struct timespec_t *timeout, size_t sigset_size) 1
int sigpending(sigset_t *) 1
int signalfd4(int fd, const sigset_t *mask, size_t sizemask, int flags) 1
int __sigaction:sigaction(int, const struct sigaction*, struct sigaction*) arm,mips,x86
int __rt_sigaction:rt_sigaction(int, const struct sigaction*, struct sigaction*, size_t) all
int __rt_sigpending:rt_sigpending(sigset_t*, size_t) all
int __rt_sigprocmask:rt_sigprocmask(int, const sigset_t*, sigset_t*, size_t) all
int __rt_sigsuspend:rt_sigsuspend(const sigset_t*, size_t) all
int __rt_sigtimedwait:rt_sigtimedwait(const sigset_t*, struct siginfo_t*, struct timespec_t*, size_t) all
int signalfd4(int, const sigset_t*, size_t, int) all
# sockets
int socket(int, int, int) 1,-1,1
int socketpair(int, int, int, int*) 1,-1,1
int bind(int, struct sockaddr *, int) 1,-1,1
int connect(int, struct sockaddr *, socklen_t) 1,-1,1
int listen(int, int) 1,-1,1
int accept(int, struct sockaddr *, socklen_t *) 1,-1,1
int getsockname(int, struct sockaddr *, socklen_t *) 1,-1,1
int getpeername(int, struct sockaddr *, socklen_t *) 1,-1,1
int sendto(int, const void *, size_t, int, const struct sockaddr *, socklen_t) 1,-1,1
int recvfrom(int, void *, size_t, unsigned int, struct sockaddr *, socklen_t *) 1,-1,1
int shutdown(int, int) 1,-1,1
int setsockopt(int, int, int, const void *, socklen_t) 1,-1,1
int getsockopt(int, int, int, void *, socklen_t *) 1,-1,1
int sendmsg(int, const struct msghdr *, unsigned int) 1,-1,1
int recvmsg(int, struct msghdr *, unsigned int) 1,-1,1
int socket(int, int, int) aarch64,arm,mips,x86_64
int socketpair(int, int, int, int*) aarch64,arm,mips,x86_64
int bind(int, struct sockaddr*, int) aarch64,arm,mips,x86_64
int connect(int, struct sockaddr*, socklen_t) aarch64,arm,mips,x86_64
int listen(int, int) aarch64,arm,mips,x86_64
int accept(int, struct sockaddr*, socklen_t*) aarch64,arm,mips,x86_64
int getsockname(int, struct sockaddr*, socklen_t*) aarch64,arm,mips,x86_64
int getpeername(int, struct sockaddr*, socklen_t*) aarch64,arm,mips,x86_64
int sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t) aarch64,arm,mips,x86_64
int recvfrom(int, void*, size_t, unsigned int, struct sockaddr*, socklen_t*) aarch64,arm,mips,x86_64
int shutdown(int, int) aarch64,arm,mips,x86_64
int setsockopt(int, int, int, const void*, socklen_t) aarch64,arm,mips,x86_64
int getsockopt(int, int, int, void*, socklen_t*) aarch64,arm,mips,x86_64
int sendmsg(int, const struct msghdr*, unsigned int) aarch64,arm,mips,x86_64
int recvmsg(int, struct msghdr*, unsigned int) aarch64,arm,mips,x86_64
# sockets for x86. These are done as an "indexed" call to socketcall syscall.
int socket:socketcall:1 (int, int, int) -1,1,-1
int bind:socketcall:2 (int, struct sockaddr *, int) -1,1,-1
int connect:socketcall:3(int, struct sockaddr *, socklen_t) -1,1,-1
int listen:socketcall:4(int, int) -1,1,-1
int accept:socketcall:5(int, struct sockaddr *, socklen_t *) -1,1,-1
int getsockname:socketcall:6(int, struct sockaddr *, socklen_t *) -1,1,-1
int getpeername:socketcall:7(int, struct sockaddr *, socklen_t *) -1,1,-1
int socketpair:socketcall:8(int, int, int, int*) -1,1,-1
int sendto:socketcall:11(int, const void *, size_t, int, const struct sockaddr *, socklen_t) -1,1,-1
int recvfrom:socketcall:12(int, void *, size_t, unsigned int, struct sockaddr *, socklen_t *) -1,1,-1
int shutdown:socketcall:13(int, int) -1,1,-1
int setsockopt:socketcall:14(int, int, int, const void *, socklen_t) -1,1,-1
int getsockopt:socketcall:15(int, int, int, void *, socklen_t *) -1,1,-1
int sendmsg:socketcall:16(int, const struct msghdr *, unsigned int) -1,1,-1
int recvmsg:socketcall:17(int, struct msghdr *, unsigned int) -1,1,-1
int socket:socketcall:1(int, int, int) x86
int bind:socketcall:2(int, struct sockaddr*, int) x86
int connect:socketcall:3(int, struct sockaddr*, socklen_t) x86
int listen:socketcall:4(int, int) x86
int accept:socketcall:5(int, struct sockaddr*, socklen_t*) x86
int getsockname:socketcall:6(int, struct sockaddr*, socklen_t*) x86
int getpeername:socketcall:7(int, struct sockaddr*, socklen_t*) x86
int socketpair:socketcall:8(int, int, int, int*) x86
int sendto:socketcall:11(int, const void*, size_t, int, const struct sockaddr*, socklen_t) x86
int recvfrom:socketcall:12(int, void*, size_t, unsigned int, struct sockaddr*, socklen_t*) x86
int shutdown:socketcall:13(int, int) x86
int setsockopt:socketcall:14(int, int, int, const void*, socklen_t) x86
int getsockopt:socketcall:15(int, int, int, void*, socklen_t*) x86
int sendmsg:socketcall:16(int, const struct msghdr*, unsigned int) x86
int recvmsg:socketcall:17(int, struct msghdr*, unsigned int) x86
# scheduler & real-time
int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param) 1
int sched_getscheduler(pid_t pid) 1
int sched_yield(void) 1
int sched_setparam(pid_t pid, const struct sched_param *param) 1
int sched_getparam(pid_t pid, struct sched_param *param) 1
int sched_get_priority_max(int policy) 1
int sched_get_priority_min(int policy) 1
int sched_rr_get_interval(pid_t pid, struct timespec *interval) 1
int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set) 1
int __sched_getaffinity:sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set) 1
int __getcpu:getcpu(unsigned *cpu, unsigned *node, void *unused) 1
int sched_setscheduler(pid_t pid, int policy, const struct sched_param* param) all
int sched_getscheduler(pid_t pid) all
int sched_yield(void) all
int sched_setparam(pid_t pid, const struct sched_param* param) all
int sched_getparam(pid_t pid, struct sched_param* param) all
int sched_get_priority_max(int policy) all
int sched_get_priority_min(int policy) all
int sched_rr_get_interval(pid_t pid, struct timespec* interval) all
int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set) all
int __sched_getaffinity:sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set) all
int __getcpu:getcpu(unsigned* cpu, unsigned* node, void* unused) all
# io priorities
int ioprio_set(int which, int who, int ioprio) 1
int ioprio_get(int which, int who) 1
int ioprio_set(int which, int who, int ioprio) all
int ioprio_get(int which, int who) all
# other
int uname(struct utsname *) 1
mode_t umask(mode_t) 1
int __reboot:reboot(int, int, int, void *) 1
int __syslog:syslog(int, char *, int) 1
int init_module(void *, unsigned long, const char *) 1
int delete_module(const char*, unsigned int) 1
int klogctl:syslog(int, char *, int) 1
int sysinfo(struct sysinfo *) 1
int personality(unsigned long) 1
long perf_event_open(struct perf_event_attr *attr_uptr, pid_t pid, int cpu, int group_fd, unsigned long flags) 1
int uname(struct utsname*) all
mode_t umask(mode_t) all
int __reboot:reboot(int, int, int, void*) all
int __syslog:syslog(int, char*, int) all
int init_module(void*, unsigned long, const char*) all
int delete_module(const char*, unsigned int) all
int klogctl:syslog(int, char*, int) all
int sysinfo(struct sysinfo*) all
int personality(unsigned long) all
long perf_event_open(struct perf_event_attr* attr_uptr, pid_t pid, int cpu, int group_fd, unsigned long flags) all
# futex
int futex(void *, int, int, void *, void *, int) 1
int epoll_create1(int) all
int epoll_ctl(int, int op, int, struct epoll_event*) all
int __epoll_pwait:epoll_pwait(int, struct epoll_event*, int, int, const sigset_t*, size_t) all
# epoll
int epoll_create(int size) 1
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event) 1
int epoll_wait(int epfd, struct epoll_event *events, int max, int timeout) 1
int eventfd:eventfd2(unsigned int, int) all
int inotify_init(void) 1
int inotify_add_watch(int, const char *, unsigned int) 1
int inotify_rm_watch(int, unsigned int) 1
void _exit:exit_group(int) all
void __exit:exit(int) all
int poll(struct pollfd *, unsigned int, long) 1
int futex(void*, int, int, void*, void*, int) all
int eventfd:eventfd2(unsigned int, int) 1
int inotify_init1(int) all
int inotify_add_watch(int, const char*, unsigned int) all
int inotify_rm_watch(int, unsigned int) all
# ARM-specific ARM_NR_BASE == 0x0f0000 == 983040
int __set_tls:__ARM_NR_set_tls(void*) 1,-1,-1
int cacheflush:__ARM_NR_cacheflush(long start, long end, long flags) 1,-1,-1
int __pselect6:pselect6(int, fd_set*, fd_set*, fd_set*, timespec*, void*) all
int __ppoll:ppoll(pollfd*, unsigned int, timespec*, const sigset_t*, size_t) all
int __set_tid_address:set_tid_address(int*) all
pid_t wait4(pid_t, int*, int, struct rusage*) all
int __waitid:waitid(int, pid_t, struct siginfo_t*, int, void*) all
# ARM-specific
int __set_tls:__ARM_NR_set_tls(void*) arm
int cacheflush:__ARM_NR_cacheflush(long start, long end, long flags) arm
# MIPS-specific
int _flush_cache:cacheflush(char *addr, const int nbytes, const int op) -1,-1,1
int syscall(int number,...) -1,-1,1
int _flush_cache:cacheflush(char* addr, const int nbytes, const int op) mips

View File

@@ -0,0 +1,188 @@
# Generated by gensyscalls.py. Do not edit.
syscall_src :=
syscall_src += arch-aarch64/syscalls/__brk.S
syscall_src += arch-aarch64/syscalls/__epoll_pwait.S
syscall_src += arch-aarch64/syscalls/__exit.S
syscall_src += arch-aarch64/syscalls/__getcpu.S
syscall_src += arch-aarch64/syscalls/__getcwd.S
syscall_src += arch-aarch64/syscalls/__getpriority.S
syscall_src += arch-aarch64/syscalls/__ioctl.S
syscall_src += arch-aarch64/syscalls/__openat.S
syscall_src += arch-aarch64/syscalls/__ppoll.S
syscall_src += arch-aarch64/syscalls/__pselect6.S
syscall_src += arch-aarch64/syscalls/__ptrace.S
syscall_src += arch-aarch64/syscalls/__reboot.S
syscall_src += arch-aarch64/syscalls/__rt_sigaction.S
syscall_src += arch-aarch64/syscalls/__rt_sigpending.S
syscall_src += arch-aarch64/syscalls/__rt_sigprocmask.S
syscall_src += arch-aarch64/syscalls/__rt_sigsuspend.S
syscall_src += arch-aarch64/syscalls/__rt_sigtimedwait.S
syscall_src += arch-aarch64/syscalls/__sched_getaffinity.S
syscall_src += arch-aarch64/syscalls/__set_tid_address.S
syscall_src += arch-aarch64/syscalls/__syslog.S
syscall_src += arch-aarch64/syscalls/__timer_create.S
syscall_src += arch-aarch64/syscalls/__timer_delete.S
syscall_src += arch-aarch64/syscalls/__timer_getoverrun.S
syscall_src += arch-aarch64/syscalls/__timer_gettime.S
syscall_src += arch-aarch64/syscalls/__timer_settime.S
syscall_src += arch-aarch64/syscalls/__waitid.S
syscall_src += arch-aarch64/syscalls/_exit.S
syscall_src += arch-aarch64/syscalls/accept.S
syscall_src += arch-aarch64/syscalls/acct.S
syscall_src += arch-aarch64/syscalls/bind.S
syscall_src += arch-aarch64/syscalls/capget.S
syscall_src += arch-aarch64/syscalls/capset.S
syscall_src += arch-aarch64/syscalls/chdir.S
syscall_src += arch-aarch64/syscalls/chroot.S
syscall_src += arch-aarch64/syscalls/clock_getres.S
syscall_src += arch-aarch64/syscalls/clock_gettime.S
syscall_src += arch-aarch64/syscalls/clock_nanosleep.S
syscall_src += arch-aarch64/syscalls/clock_settime.S
syscall_src += arch-aarch64/syscalls/close.S
syscall_src += arch-aarch64/syscalls/connect.S
syscall_src += arch-aarch64/syscalls/delete_module.S
syscall_src += arch-aarch64/syscalls/dup.S
syscall_src += arch-aarch64/syscalls/dup3.S
syscall_src += arch-aarch64/syscalls/epoll_create1.S
syscall_src += arch-aarch64/syscalls/epoll_ctl.S
syscall_src += arch-aarch64/syscalls/eventfd.S
syscall_src += arch-aarch64/syscalls/execve.S
syscall_src += arch-aarch64/syscalls/faccessat.S
syscall_src += arch-aarch64/syscalls/fchdir.S
syscall_src += arch-aarch64/syscalls/fchmod.S
syscall_src += arch-aarch64/syscalls/fchmodat.S
syscall_src += arch-aarch64/syscalls/fchown.S
syscall_src += arch-aarch64/syscalls/fchownat.S
syscall_src += arch-aarch64/syscalls/fcntl.S
syscall_src += arch-aarch64/syscalls/fdatasync.S
syscall_src += arch-aarch64/syscalls/fgetxattr.S
syscall_src += arch-aarch64/syscalls/flistxattr.S
syscall_src += arch-aarch64/syscalls/flock.S
syscall_src += arch-aarch64/syscalls/fremovexattr.S
syscall_src += arch-aarch64/syscalls/fsetxattr.S
syscall_src += arch-aarch64/syscalls/fstat.S
syscall_src += arch-aarch64/syscalls/fstatat.S
syscall_src += arch-aarch64/syscalls/fstatfs.S
syscall_src += arch-aarch64/syscalls/fsync.S
syscall_src += arch-aarch64/syscalls/ftruncate.S
syscall_src += arch-aarch64/syscalls/futex.S
syscall_src += arch-aarch64/syscalls/getdents.S
syscall_src += arch-aarch64/syscalls/getegid.S
syscall_src += arch-aarch64/syscalls/geteuid.S
syscall_src += arch-aarch64/syscalls/getgid.S
syscall_src += arch-aarch64/syscalls/getgroups.S
syscall_src += arch-aarch64/syscalls/getitimer.S
syscall_src += arch-aarch64/syscalls/getpeername.S
syscall_src += arch-aarch64/syscalls/getpgid.S
syscall_src += arch-aarch64/syscalls/getpid.S
syscall_src += arch-aarch64/syscalls/getppid.S
syscall_src += arch-aarch64/syscalls/getresgid.S
syscall_src += arch-aarch64/syscalls/getresuid.S
syscall_src += arch-aarch64/syscalls/getrlimit.S
syscall_src += arch-aarch64/syscalls/getrusage.S
syscall_src += arch-aarch64/syscalls/getsid.S
syscall_src += arch-aarch64/syscalls/getsockname.S
syscall_src += arch-aarch64/syscalls/getsockopt.S
syscall_src += arch-aarch64/syscalls/gettid.S
syscall_src += arch-aarch64/syscalls/gettimeofday.S
syscall_src += arch-aarch64/syscalls/getuid.S
syscall_src += arch-aarch64/syscalls/getxattr.S
syscall_src += arch-aarch64/syscalls/init_module.S
syscall_src += arch-aarch64/syscalls/inotify_add_watch.S
syscall_src += arch-aarch64/syscalls/inotify_init1.S
syscall_src += arch-aarch64/syscalls/inotify_rm_watch.S
syscall_src += arch-aarch64/syscalls/ioprio_get.S
syscall_src += arch-aarch64/syscalls/ioprio_set.S
syscall_src += arch-aarch64/syscalls/kill.S
syscall_src += arch-aarch64/syscalls/klogctl.S
syscall_src += arch-aarch64/syscalls/lgetxattr.S
syscall_src += arch-aarch64/syscalls/linkat.S
syscall_src += arch-aarch64/syscalls/listen.S
syscall_src += arch-aarch64/syscalls/listxattr.S
syscall_src += arch-aarch64/syscalls/llistxattr.S
syscall_src += arch-aarch64/syscalls/lremovexattr.S
syscall_src += arch-aarch64/syscalls/lseek.S
syscall_src += arch-aarch64/syscalls/lsetxattr.S
syscall_src += arch-aarch64/syscalls/madvise.S
syscall_src += arch-aarch64/syscalls/mincore.S
syscall_src += arch-aarch64/syscalls/mkdirat.S
syscall_src += arch-aarch64/syscalls/mknodat.S
syscall_src += arch-aarch64/syscalls/mlock.S
syscall_src += arch-aarch64/syscalls/mlockall.S
syscall_src += arch-aarch64/syscalls/mmap.S
syscall_src += arch-aarch64/syscalls/mount.S
syscall_src += arch-aarch64/syscalls/mprotect.S
syscall_src += arch-aarch64/syscalls/mremap.S
syscall_src += arch-aarch64/syscalls/msync.S
syscall_src += arch-aarch64/syscalls/munlock.S
syscall_src += arch-aarch64/syscalls/munlockall.S
syscall_src += arch-aarch64/syscalls/munmap.S
syscall_src += arch-aarch64/syscalls/nanosleep.S
syscall_src += arch-aarch64/syscalls/perf_event_open.S
syscall_src += arch-aarch64/syscalls/personality.S
syscall_src += arch-aarch64/syscalls/pipe2.S
syscall_src += arch-aarch64/syscalls/prctl.S
syscall_src += arch-aarch64/syscalls/pread64.S
syscall_src += arch-aarch64/syscalls/pwrite64.S
syscall_src += arch-aarch64/syscalls/read.S
syscall_src += arch-aarch64/syscalls/readahead.S
syscall_src += arch-aarch64/syscalls/readlinkat.S
syscall_src += arch-aarch64/syscalls/readv.S
syscall_src += arch-aarch64/syscalls/recvfrom.S
syscall_src += arch-aarch64/syscalls/recvmsg.S
syscall_src += arch-aarch64/syscalls/removexattr.S
syscall_src += arch-aarch64/syscalls/renameat.S
syscall_src += arch-aarch64/syscalls/sched_get_priority_max.S
syscall_src += arch-aarch64/syscalls/sched_get_priority_min.S
syscall_src += arch-aarch64/syscalls/sched_getparam.S
syscall_src += arch-aarch64/syscalls/sched_getscheduler.S
syscall_src += arch-aarch64/syscalls/sched_rr_get_interval.S
syscall_src += arch-aarch64/syscalls/sched_setaffinity.S
syscall_src += arch-aarch64/syscalls/sched_setparam.S
syscall_src += arch-aarch64/syscalls/sched_setscheduler.S
syscall_src += arch-aarch64/syscalls/sched_yield.S
syscall_src += arch-aarch64/syscalls/sendfile.S
syscall_src += arch-aarch64/syscalls/sendmsg.S
syscall_src += arch-aarch64/syscalls/sendto.S
syscall_src += arch-aarch64/syscalls/setgid.S
syscall_src += arch-aarch64/syscalls/setgroups.S
syscall_src += arch-aarch64/syscalls/setitimer.S
syscall_src += arch-aarch64/syscalls/setpgid.S
syscall_src += arch-aarch64/syscalls/setpriority.S
syscall_src += arch-aarch64/syscalls/setregid.S
syscall_src += arch-aarch64/syscalls/setresgid.S
syscall_src += arch-aarch64/syscalls/setresuid.S
syscall_src += arch-aarch64/syscalls/setreuid.S
syscall_src += arch-aarch64/syscalls/setrlimit.S
syscall_src += arch-aarch64/syscalls/setsid.S
syscall_src += arch-aarch64/syscalls/setsockopt.S
syscall_src += arch-aarch64/syscalls/settimeofday.S
syscall_src += arch-aarch64/syscalls/setuid.S
syscall_src += arch-aarch64/syscalls/setxattr.S
syscall_src += arch-aarch64/syscalls/shutdown.S
syscall_src += arch-aarch64/syscalls/sigaltstack.S
syscall_src += arch-aarch64/syscalls/signalfd4.S
syscall_src += arch-aarch64/syscalls/socket.S
syscall_src += arch-aarch64/syscalls/socketpair.S
syscall_src += arch-aarch64/syscalls/statfs.S
syscall_src += arch-aarch64/syscalls/swapoff.S
syscall_src += arch-aarch64/syscalls/swapon.S
syscall_src += arch-aarch64/syscalls/symlinkat.S
syscall_src += arch-aarch64/syscalls/sync.S
syscall_src += arch-aarch64/syscalls/sysinfo.S
syscall_src += arch-aarch64/syscalls/tgkill.S
syscall_src += arch-aarch64/syscalls/timerfd_create.S
syscall_src += arch-aarch64/syscalls/timerfd_gettime.S
syscall_src += arch-aarch64/syscalls/timerfd_settime.S
syscall_src += arch-aarch64/syscalls/times.S
syscall_src += arch-aarch64/syscalls/tkill.S
syscall_src += arch-aarch64/syscalls/truncate.S
syscall_src += arch-aarch64/syscalls/umask.S
syscall_src += arch-aarch64/syscalls/umount2.S
syscall_src += arch-aarch64/syscalls/uname.S
syscall_src += arch-aarch64/syscalls/unlinkat.S
syscall_src += arch-aarch64/syscalls/unshare.S
syscall_src += arch-aarch64/syscalls/utimensat.S
syscall_src += arch-aarch64/syscalls/wait4.S
syscall_src += arch-aarch64/syscalls/write.S
syscall_src += arch-aarch64/syscalls/writev.S

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__brk)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_brk
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__brk)
.hidden _C_LABEL(__brk)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__epoll_pwait)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_epoll_pwait
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__epoll_pwait)
.hidden _C_LABEL(__epoll_pwait)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__exit)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_exit
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__exit)
.hidden _C_LABEL(__exit)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__getcpu)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getcpu
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__getcpu)
.hidden _C_LABEL(__getcpu)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__getcwd)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getcwd
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__getcwd)
.hidden _C_LABEL(__getcwd)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__getpriority)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getpriority
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__getpriority)
.hidden _C_LABEL(__getpriority)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__ioctl)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_ioctl
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__ioctl)
.hidden _C_LABEL(__ioctl)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__openat)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_openat
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__openat)
.hidden _C_LABEL(__openat)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__ppoll)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_ppoll
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__ppoll)
.hidden _C_LABEL(__ppoll)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__pselect6)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_pselect6
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__pselect6)
.hidden _C_LABEL(__pselect6)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__ptrace)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_ptrace
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__ptrace)
.hidden _C_LABEL(__ptrace)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__reboot)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_reboot
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__reboot)
.hidden _C_LABEL(__reboot)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__rt_sigaction)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_rt_sigaction
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__rt_sigaction)
.hidden _C_LABEL(__rt_sigaction)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__rt_sigpending)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_rt_sigpending
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__rt_sigpending)
.hidden _C_LABEL(__rt_sigpending)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__rt_sigprocmask)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_rt_sigprocmask
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__rt_sigprocmask)
.hidden _C_LABEL(__rt_sigprocmask)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__rt_sigsuspend)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_rt_sigsuspend
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__rt_sigsuspend)
.hidden _C_LABEL(__rt_sigsuspend)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__rt_sigtimedwait)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_rt_sigtimedwait
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__rt_sigtimedwait)
.hidden _C_LABEL(__rt_sigtimedwait)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__sched_getaffinity)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_sched_getaffinity
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__sched_getaffinity)
.hidden _C_LABEL(__sched_getaffinity)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__set_tid_address)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_set_tid_address
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__set_tid_address)
.hidden _C_LABEL(__set_tid_address)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__syslog)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_syslog
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__syslog)
.hidden _C_LABEL(__syslog)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__timer_create)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_timer_create
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__timer_create)
.hidden _C_LABEL(__timer_create)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__timer_delete)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_timer_delete
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__timer_delete)
.hidden _C_LABEL(__timer_delete)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__timer_getoverrun)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_timer_getoverrun
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__timer_getoverrun)
.hidden _C_LABEL(__timer_getoverrun)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__timer_gettime)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_timer_gettime
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__timer_gettime)
.hidden _C_LABEL(__timer_gettime)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__timer_settime)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_timer_settime
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__timer_settime)
.hidden _C_LABEL(__timer_settime)

View File

@@ -0,0 +1,22 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(__waitid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_waitid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(__waitid)
.hidden _C_LABEL(__waitid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(_exit)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_exit_group
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(_exit)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(accept)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_accept
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(accept)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(acct)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_acct
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(acct)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(bind)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_bind
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(bind)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(capget)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_capget
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(capget)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(capset)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_capset
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(capset)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(chdir)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_chdir
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(chdir)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(chroot)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_chroot
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(chroot)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(clock_getres)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_clock_getres
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(clock_getres)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(clock_gettime)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_clock_gettime
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(clock_gettime)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(clock_nanosleep)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_clock_nanosleep
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(clock_nanosleep)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(clock_settime)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_clock_settime
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(clock_settime)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(close)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_close
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(close)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(connect)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_connect
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(connect)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(delete_module)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_delete_module
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(delete_module)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(dup)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_dup
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(dup)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(dup3)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_dup3
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(dup3)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(epoll_create1)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_epoll_create1
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(epoll_create1)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(epoll_ctl)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_epoll_ctl
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(epoll_ctl)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(eventfd)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_eventfd2
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(eventfd)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(execve)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_execve
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(execve)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(faccessat)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_faccessat
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(faccessat)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fchdir)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fchdir
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fchdir)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fchmod)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fchmod
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fchmod)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fchmodat)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fchmodat
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fchmodat)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fchown)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fchown
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fchown)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fchownat)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fchownat
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fchownat)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fcntl)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fcntl
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fcntl)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fdatasync)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fdatasync
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fdatasync)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fgetxattr)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fgetxattr
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fgetxattr)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(flistxattr)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_flistxattr
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(flistxattr)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(flock)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_flock
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(flock)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fremovexattr)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fremovexattr
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fremovexattr)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fsetxattr)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fsetxattr
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fsetxattr)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fstat)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fstat
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fstat)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fstatat)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_newfstatat
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fstatat)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fstatfs)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fstatfs
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fstatfs)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(fsync)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_fsync
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(fsync)

View File

@@ -0,0 +1,24 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(ftruncate)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_ftruncate
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(ftruncate)
.globl _C_LABEL(ftruncate64)
.equ _C_LABEL(ftruncate64), _C_LABEL(ftruncate)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(futex)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_futex
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(futex)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getdents)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getdents64
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getdents)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getegid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getegid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getegid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(geteuid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_geteuid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(geteuid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getgid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getgid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getgid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getgroups)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getgroups
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getgroups)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getitimer)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getitimer
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getitimer)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getpeername)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getpeername
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getpeername)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getpgid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getpgid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getpgid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getpid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getpid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getpid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getppid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getppid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getppid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getresgid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getresgid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getresgid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getresuid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getresuid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getresuid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getrlimit)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getrlimit
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getrlimit)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getrusage)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getrusage
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getrusage)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getsid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getsid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getsid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getsockname)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getsockname
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getsockname)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getsockopt)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getsockopt
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getsockopt)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(gettid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_gettid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(gettid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(gettimeofday)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_gettimeofday
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(gettimeofday)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getuid)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getuid
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getuid)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(getxattr)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_getxattr
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(getxattr)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(init_module)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_init_module
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(init_module)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(inotify_add_watch)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_inotify_add_watch
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(inotify_add_watch)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(inotify_init1)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_inotify_init1
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(inotify_init1)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(inotify_rm_watch)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_inotify_rm_watch
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(inotify_rm_watch)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(ioprio_get)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_ioprio_get
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(ioprio_get)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(ioprio_set)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_ioprio_set
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(ioprio_set)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(kill)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_kill
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(kill)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(klogctl)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_syslog
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(klogctl)

View File

@@ -0,0 +1,21 @@
/* Generated by gensyscalls.py. Do not edit. */
#include <private/bionic_asm.h>
ENTRY(lgetxattr)
stp x29, x30, [sp, #-16]!
mov x29, sp
str x8, [sp, #-16]!
mov x8, __NR_lgetxattr
svc #0
ldr x8, [sp], #16
ldp x29, x30, [sp], #16
cmn x0, #(MAX_ERRNO + 1)
cneg x0, x0, hi
b.hi __set_errno
ret
END(lgetxattr)

Some files were not shown because too many files have changed in this diff Show More