Commit Graph

5494 Commits

Author SHA1 Message Date
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
8a41a44843 am 243ae9f4: (-s ours) Reconcile with klp-release - do not merge
* commit '243ae9f4618e6697ed745e4ec75a53fadef3bc3f':
  bionic: replace 4K property pages with 32K property pages
2013-08-14 14:13:53 -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
4581515290 am a71f676b: am 7b197ea1: am 5e4a2f31: Merge "Update kernel input headers"
* commit 'a71f676b474ff78d69b1edc514fafea58919e5fb':
  Update kernel input headers
2013-08-14 13:52:13 -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
509e584552 am 3f78cb42: am f0c3d909: Create optimized __strcpy_chk/__strcat_chk.
* commit '3f78cb428eb51c8813ccbfaa4716682a0e41537e':
  Create optimized __strcpy_chk/__strcat_chk.
2013-08-14 08:16: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
The Android Automerger
de19a0c55d merge in klp-release history after reset to klp-dev 2013-08-14 06:04:54 -07:00
Christopher Ferris
f0c3d90913 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
Change-Id: Id5aec8c3cb14101d91bd125eaf3770c9c8aa3f57
(cherry picked from commit 2be91915dc)
2013-08-14 07:46:00 +00:00
Christopher Ferris
6e118609ec Merge "Create optimized __strcpy_chk/__strcat_chk." 2013-08-14 03:34:27 +00:00
Christopher Ferris
2be91915dc 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
Change-Id: Id5aec8c3cb14101d91bd125eaf3770c9c8aa3f57
2013-08-13 18:05:33 -07:00
Elliott Hughes
5ba3c7000a am d861b6cb: am 3912f90e: Make ctype.h a little less unhygienic.
* commit 'd861b6cbdf965186e6e85c7973c1eeddd083fc0e':
  Make ctype.h a little less unhygienic.
2013-08-13 14:51:03 -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
3cd7f4897f am 34cd4998: am fd61eccf: am ff9b7aa6: Merge "Make ctype.h a little less unhygienic."
* commit '34cd499875a266f6d2a58dcc85c8b7bb15525428':
  Make ctype.h a little less unhygienic.
2013-08-13 14:47:41 -07:00
Elliott Hughes
7a15aaa379 am 0d5745fe: am 5951e846: Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
* commit '0d5745fe8aedf46fa7e8aafc6c2beeae1ef59712':
  Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
2013-08-13 14:47: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
3912f90e56 Make ctype.h a little less unhygienic.
This caused trouble for stlport.

(cherry picked from commit 5e9b20f721)

Change-Id: I85d09c12c6de1e8502f83e0ef0f17747fdfe08a5
2013-08-13 14:42:43 -07:00
Elliott Hughes
5951e84646 Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
(cherry picked from commit aec2ffbc5a)

Change-Id: Ib61b52dc37e63493094a0a7af23bf89d4a9f0ce5
2013-08-13 14:41:07 -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
6539da0f25 am c1772397: am ff8dcd4a: am c933493a: Merge "Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols."
* commit 'c1772397f96e82e142dd082da4747824e7c8a839':
  Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
2013-08-12 15:52:02 -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
The Android Automerger
f63a467cdd merge in klp-release history after reset to klp-dev 2013-08-12 06:00:44 -07:00
Elliott Hughes
70e5758f5c am 2a5d2e98: am 9e9d1e01: resolved conflicts for merge of 86125aca to klp-dev
* commit '2a5d2e98f9ffbddf37d8d57ed3028c3c8349e351':
2013-08-09 06:07:11 -07:00
Elliott Hughes
a7fc5bde71 am 598f3e9c: Merge "resolved conflicts for merge of dce94165 to klp-dev-plus-aosp" into klp-dev-plus-aosp
* commit '598f3e9c4a48a4f4cbae6fb163f378d9fd1e6321':
  Add futimens.
2013-08-09 06:07:10 -07:00
Elliott Hughes
8e6855e0a8 am 14ec1b58: am ceb670cf: Merge branch \'klp-dev\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into klp-dev
* commit '14ec1b58869362f07ffdf7495cbba2f746da7b77':
  Add futimens.
2013-08-09 06:07:04 -07:00
Christopher Ferris
fe94d1f0a8 am a07a9556: (-s ours) 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 'a07a9556663db4dcf7924dd50a91dd6d5f3e266c':
2013-08-09 06:07:03 -07:00
Christopher Ferris
7e8a18960c am 0a7e61d4: (-s ours) 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 '0a7e61d4a1a28a7c66c05e0ef0b69c7c5b14a2d9':
2013-08-09 06:07:03 -07:00
Christopher Ferris
d60dca00dd am d41e52a2: (-s ours) am d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit 'd41e52a238bdb91df5dffb81f202b3d50949bb9a':
  Fix strcpy.c that should have been strcpy.S. DO NOT MERGE
2013-08-09 06:06:56 -07:00
Christopher Ferris
351c506315 am 2e0a707f: (-s ours) am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '2e0a707f793a6831452aca9ed0021e90014f3635':
  Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE
2013-08-09 06:06:56 -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
9e9d1e016f resolved conflicts for merge of 86125aca to klp-dev
Change-Id: I78622ecbad27301b285193a085fa04374aa60033
2013-08-08 18:08:33 -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
Elliott Hughes
ceb670cfc0 Merge branch 'klp-dev' of https://googleplex-android.googlesource.com/_direct/platform/bionic into klp-dev 2013-08-08 17:53:31 -07:00
Christopher Ferris
1036cd7939 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 '6beb3ea6a1a49baef001ddd8c6872631f5e90f82':
  Fix strcpy.c that should have been strcpy.S. DO NOT MERGE
2013-08-08 17:53:19 -07:00
Christopher Ferris
5ec2ab68f9 am 21b4ffa7: (-s ours) am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '21b4ffa7372b029e5a4898b877feb843da2831e9':
  Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE
2013-08-08 17:53:18 -07:00