Elliott Hughes
738370d938
Don't fail to run DT_INIT and DT_INIT_ARRAY constructors if a shared library has DT_PREINIT_ARRAY constructors.
...
The GNU dynamic linker silently ignores a DT_PREINIT_ARRAY section
in a shared library. We had ineffectual code that tried to report
an error, which I tried to fix but got wrong --- my version still
wouldn't report the error to the caller, but would prevent us from
continuing to call constructors.
Bug: 8825226
(cherry picked from commit 8147d3c284
)
Change-Id: Iad8e7e3743d1a5e6bd1d44ef40b1ab3499cb64f2
2013-05-09 15:53:30 -07:00
Elliott Hughes
98f7659d7e
Merge "Don't fail to run DT_INIT and DT_INIT_ARRAY constructors if a shared library has DT_PREINIT_ARRAY constructors."
2013-05-09 22:30:21 +00:00
Elliott Hughes
8147d3c284
Don't fail to run DT_INIT and DT_INIT_ARRAY constructors if a shared library has DT_PREINIT_ARRAY constructors.
...
The GNU dynamic linker silently ignores a DT_PREINIT_ARRAY section
in a shared library. We had ineffectual code that tried to report
an error, which I tried to fix but got wrong --- my version still
wouldn't report the error to the caller, but would prevent us from
continuing to call constructors.
Bug: 8825226
Change-Id: I4fd8450ecc44d8767a1cb808aeecfbfbfc77c070
2013-05-09 15:29:54 -07:00
Ben Cheng
3c2ab6ffbb
am ca54ae44
: am 262b7384
: Adjust PC value in ARM stack trace.
...
* commit 'ca54ae44a4c8764028b3092f9f1cfdd619a94fa6':
Adjust PC value in ARM stack trace.
2013-05-09 09:41:18 -07:00
Ben Cheng
ca54ae44a4
am 262b7384
: Adjust PC value in ARM stack trace.
...
* commit '262b7384e4e691d42070a57472ecc64cf668c480':
Adjust PC value in ARM stack trace.
2013-05-09 09:37:50 -07:00
Ben Cheng
a078f9dcf0
am 49f6e970
: am ff220f70
: Merge "Remove a spurious FIXME and unnecessary type cast."
...
* commit '49f6e9706202b5caef3a68690153a96baa14cab1':
Remove a spurious FIXME and unnecessary type cast.
2013-05-08 15:04:56 -07:00
Ben Cheng
77a2932836
am 3353e653
: am b9256ada
: Merge "Adjust PC value in ARM stack trace."
...
* commit '3353e6535a6964c92c280c36c99e1493befa9dc0':
Adjust PC value in ARM stack trace.
2013-05-08 15:04:56 -07:00
Nick Kralevich
f8867a5632
am 37cd8800
: am d541ba17
: Merge "Use restrict pointers for various libc functions."
...
* commit '37cd8800d532e5901cc3b332bc39d8580f2ba9ab':
Use restrict pointers for various libc functions.
2013-05-08 15:04:55 -07:00
Ben Cheng
49f6e97062
am ff220f70
: Merge "Remove a spurious FIXME and unnecessary type cast."
...
* commit 'ff220f70036178aa0d7dcf1cbc4825085a84441e':
Remove a spurious FIXME and unnecessary type cast.
2013-05-08 13:26:12 -07:00
Ben Cheng
3353e6535a
am b9256ada
: Merge "Adjust PC value in ARM stack trace."
...
* commit 'b9256adab3aa7e7628d7bbd015132a511de7a43d':
Adjust PC value in ARM stack trace.
2013-05-08 13:26:11 -07:00
Nick Kralevich
37cd8800d5
am d541ba17
: Merge "Use restrict pointers for various libc functions."
...
* commit 'd541ba17197fd3ef1f60462e51261c4340369218':
Use restrict pointers for various libc functions.
2013-05-08 13:26:11 -07:00
Ben Cheng
262b7384e4
Adjust PC value in ARM stack trace.
...
-2 for Thumb BLX(2) or -4 for the rest.
Change-Id: Ie59351a0012c2267309f63f0462fdba4698846fe
2013-05-08 11:21:53 -07:00
Ben Cheng
ff220f7003
Merge "Remove a spurious FIXME and unnecessary type cast."
2013-05-07 23:56:11 +00:00
Ben Cheng
63dd03cced
Remove a spurious FIXME and unnecessary type cast.
...
Change-Id: I05dcefdec7f047bef7eef5c5ceb7453992d56c24
2013-05-07 16:53:33 -07:00
Ben Cheng
b9256adab3
Merge "Adjust PC value in ARM stack trace."
2013-05-07 22:45:42 +00:00
Ben Cheng
52171b9bdc
Adjust PC value in ARM stack trace.
...
-2 for Thumb BLX(2) or -4 for the rest.
Change-Id: I804fdabfa1db4709bede222d4b432e8d42d53167
2013-05-07 15:44:13 -07:00
Nick Kralevich
d541ba1719
Merge "Use restrict pointers for various libc functions."
2013-05-07 17:37:48 +00:00
Nick Kralevich
1c462b7a04
Use restrict pointers for various libc functions.
...
All the cool kids say this is the best thing since sliced bread.
http://cellperformance.beyond3d.com/articles/2006/05/demystifying-the-restrict-keyword.html
For the most part, these changes match what glibc does.
Change-Id: I176268f27f82800162fe5f2515b08d5469ea2dfe
2013-05-07 10:00:21 -07:00
Christopher Ferris
a14f7933f4
Merge "Tune the memcpy for krait."
2013-05-03 23:12:18 +00:00
Nick Kralevich
f0c9683e17
am c9757ac8
: am b01f7afd
: Merge "Use __predict_false on some fortify methods."
...
* commit 'c9757ac81eb48f9cfee0ba7833fed8a3363ecee2':
Use __predict_false on some fortify methods.
2013-05-02 15:00:41 -07:00
Nick Kralevich
c9757ac81e
am b01f7afd
: Merge "Use __predict_false on some fortify methods."
...
* commit 'b01f7afd5fd5df5f8fe925b4fe493269191b62a2':
Use __predict_false on some fortify methods.
2013-05-02 14:56:37 -07:00
Nick Kralevich
b01f7afd5f
Merge "Use __predict_false on some fortify methods."
2013-05-02 21:52:19 +00:00
Nick Kralevich
532d6f09b1
Use __predict_false on some fortify methods.
...
Give the compiler some hints that these error conditions
are unlikely to occur in practice.
Change-Id: Ifaf7322a12120ef663c8315c1a18c2dcbe4bda23
2013-05-02 14:31:51 -07:00
Nick Kralevich
137a9ad176
am 4f614a70
: am e4ac8feb
: Merge "libc: cleanup strchr"
...
* commit '4f614a7036b37480695884a4be3f3fe70188cd60':
libc: cleanup strchr
2013-05-02 14:28:18 -07:00
Nick Kralevich
4f614a7036
am e4ac8feb
: Merge "libc: cleanup strchr"
...
* commit 'e4ac8feb58ed1f963db9a1f32fa74a06a1f594f2':
libc: cleanup strchr
2013-05-02 14:25:42 -07:00
Nick Kralevich
e4ac8feb58
Merge "libc: cleanup strchr"
2013-05-02 21:17:16 +00:00
Christopher Ferris
4d8fe5177e
Tune the memcpy for krait.
...
Streamline the memcpy a bit removing some unnecessary instructions.
The biggest speed improvement comes from changing the size of
the preload. On krait, the sweet spot for the preload in the main
loop is twice the L1 cache line size.
In most cases, these small tweaks yield > 1000MB/s speed ups. As
the size of the memcpy approaches about 1MB, the speed improvement
disappears.
Change-Id: Ief79694d65324e2db41bee4707dae19b8c24be62
2013-05-02 14:04:31 -07:00
Nick Kralevich
4f40e511b0
libc: cleanup strchr
...
Move strchr to a .cpp file, and change to bionic directory.
Change-Id: I64ade7df326c0a9a714aca4caf5647b6833b1c97
2013-05-02 13:58:03 -07:00
Nick Kralevich
240bc95be1
am 65fe3ea7
: am 5e3b502b
: Merge "keep test names consistent with other tests."
...
* commit '65fe3ea708bf16ebaa354080b90b6e6c83a24e70':
keep test names consistent with other tests.
2013-05-01 15:11:32 -07:00
Nick Kralevich
874ea191de
am b9aab3a4
: am 8c00c91a
: Merge "add strrchr -D_FORTIFY_SOURCE=2 test."
...
* commit 'b9aab3a462efb79cdae83d9b819e299216f9cf5f':
add strrchr -D_FORTIFY_SOURCE=2 test.
2013-05-01 15:11:32 -07:00
Nick Kralevich
65fe3ea708
am 5e3b502b
: Merge "keep test names consistent with other tests."
...
* commit '5e3b502b6b56634953ea152409363088974fa5e9':
keep test names consistent with other tests.
2013-05-01 15:10:07 -07:00
Nick Kralevich
b9aab3a462
am 8c00c91a
: Merge "add strrchr -D_FORTIFY_SOURCE=2 test."
...
* commit '8c00c91aa051f18e107466b5d8c9280a2e1fabc1':
add strrchr -D_FORTIFY_SOURCE=2 test.
2013-05-01 15:10:07 -07:00
Nick Kralevich
5e3b502b6b
Merge "keep test names consistent with other tests."
2013-05-01 22:06:15 +00:00
Nick Kralevich
277226bf43
keep test names consistent with other tests.
...
Change-Id: I23dc4d963af40406b270af83cd17f6c8c95f1de3
2013-05-01 15:05:01 -07:00
Nick Kralevich
8c00c91aa0
Merge "add strrchr -D_FORTIFY_SOURCE=2 test."
2013-05-01 22:01:20 +00:00
Nick Kralevich
80541922e3
add strrchr -D_FORTIFY_SOURCE=2 test.
...
Change-Id: I1b95bb0086ae9f2f506f3cc90cee834c0ce3b1d8
2013-05-01 14:55:33 -07:00
Nick Kralevich
6c6949fc00
am 8355ab55
: am bee0ab16
: Merge "libc: upgrade strrchr to FORTIFY_SOURCE=2"
...
* commit '8355ab5524557da2737ea9084a8131c1015ae14f':
libc: upgrade strrchr to FORTIFY_SOURCE=2
2013-04-30 16:30:20 -07:00
Nick Kralevich
8355ab5524
am bee0ab16
: Merge "libc: upgrade strrchr to FORTIFY_SOURCE=2"
...
* commit 'bee0ab16e47086d2f31f6f9ff41328066d5a7128':
libc: upgrade strrchr to FORTIFY_SOURCE=2
2013-04-30 16:25:23 -07:00
Nick Kralevich
bee0ab16e4
Merge "libc: upgrade strrchr to FORTIFY_SOURCE=2"
2013-04-30 23:13:04 +00:00
Nick Kralevich
3b2e6bc9ac
libc: upgrade strrchr to FORTIFY_SOURCE=2
...
Change-Id: I4c34c2ce22c5092c4446dc1ab55f37604c1c223f
2013-04-30 14:19:23 -07:00
Nick Kralevich
c9bf778112
am 2ff94a09
: am c4687130
: Merge "libc: upgrade some libc functions to _FORTIFY_SOURCE=2"
...
* commit '2ff94a096427a5b5e729ae356c98463c9a9dabf1':
libc: upgrade some libc functions to _FORTIFY_SOURCE=2
2013-04-30 11:57:22 -07:00
Nick Kralevich
2ff94a0964
am c4687130
: Merge "libc: upgrade some libc functions to _FORTIFY_SOURCE=2"
...
* commit 'c46871302e7bd099aaf54d91da93a2248acbf733':
libc: upgrade some libc functions to _FORTIFY_SOURCE=2
2013-04-30 11:56:08 -07:00
Nick Kralevich
c46871302e
Merge "libc: upgrade some libc functions to _FORTIFY_SOURCE=2"
2013-04-30 18:51:22 +00:00
Nick Kralevich
9020fd503c
libc: upgrade some libc functions to _FORTIFY_SOURCE=2
...
Upgrade the following functions:
* vsnprintf
* vsprintf
* snprintf
* fgets
* strcpy
* strcat
* strncat
* strlcpy
* strlcat
* strlen
* strchr
Change-Id: Icc036fc7f0bb317e05f7c051617887a1601271aa
2013-04-30 11:31:35 -07:00
Nick Kralevich
d411fbd497
am aed0c3ac
: am b94b2851
: Merge "libc: upgrade sprintf to _FORTIFY_SOURCE=2"
...
* commit 'aed0c3ac54fa944b1f8512938277e7dc6b6fa2ee':
libc: upgrade sprintf to _FORTIFY_SOURCE=2
2013-04-30 08:54:30 -07:00
Nick Kralevich
90a293f7d3
am 56a1b492
: am 382a7753
: Merge "strncpy: implement _FORTIFY_SOURCE=2"
...
* commit '56a1b492c40b51204ad1b46a6b46819775c8912a':
strncpy: implement _FORTIFY_SOURCE=2
2013-04-30 08:54:28 -07:00
Nick Kralevich
780cf25bf4
am 89357dc7
: am c6dc62f0
: Merge "[NETFILTER]: Fix iptables ABI breakage"
...
* commit '89357dc730f6bfd532c4aed80373c84904cc3319':
[NETFILTER]: Fix iptables ABI breakage
2013-04-30 08:46:47 -07:00
Nick Kralevich
aed0c3ac54
am b94b2851
: Merge "libc: upgrade sprintf to _FORTIFY_SOURCE=2"
...
* commit 'b94b2851d72187cc9095864a9c99429ee62d7786':
libc: upgrade sprintf to _FORTIFY_SOURCE=2
2013-04-29 16:56:29 -07:00
Nick Kralevich
b94b2851d7
Merge "libc: upgrade sprintf to _FORTIFY_SOURCE=2"
2013-04-29 23:50:46 +00:00
Nick Kralevich
78d6d9888c
libc: upgrade sprintf to _FORTIFY_SOURCE=2
...
Upgrade sprintf to fortify_source level 2, to catch
additional security bugs.
Change-Id: Ibc957d65e4cb96152de84b3745a04e00fa22659e
2013-04-29 16:41:54 -07:00