OSDN Git Service
Dimitry Ivanov [Tue, 16 May 2017 22:15:22 +0000 (22:15 +0000)]
linker: remove link from external library on unload am:
b37d10cc80 am:
3a644889b2
am:
cb40eec87c
Change-Id: Id0d4a58612a9be52a1f1a0f976bbeeab89547c09
Dimitry Ivanov [Tue, 16 May 2017 22:12:22 +0000 (22:12 +0000)]
linker: remove link from external library on unload am:
b37d10cc80
am:
3a644889b2
Change-Id: I7c022194739391c24a736a3a5deb906433fc5649
Dimitry Ivanov [Tue, 16 May 2017 22:08:52 +0000 (22:08 +0000)]
linker: remove link from external library on unload
am:
b37d10cc80
Change-Id: I48901a8fbf4bc25fff1462e6086fc23b76ca2ba3
Dimitry Ivanov [Wed, 19 Apr 2017 18:28:16 +0000 (11:28 -0700)]
linker: remove link from external library on unload
When unloading library make sure the soinfo_link to parent
from linked external libraries is removed as well.
Bug:
36104177
Bug: http://b/
37433850
Test: manual
Change-Id: I601b54144acecac54744805b38313c46045c54cb
(cherry picked from commit
ee398f820700de30941fd82e38bd917e1513cbc6)
Dimitry Ivanov [Sun, 14 May 2017 18:00:07 +0000 (18:00 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
46c3aa2c0e -s ours am:
02b94ea8ff am:
623d83754a am:
254aec13d0 am:
c65740f4a5 am:
59abd613d4 am:
2514cb784d am:
f3537c61bf am:
be8327ce71
am:
6be47949d6
Change-Id: I3f2e5fd302dda1d0ce018cd7074bfd2c1b8727b0
Dimitry Ivanov [Sun, 14 May 2017 17:59:54 +0000 (17:59 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
772db5e6d4 am:
78b10daab3 -s ours am:
dfb42b364d am:
de4e1ef729 am:
62110f9538 am:
cb3e51d006 am:
b2792c701f am:
7ac2da9266
am:
f62dc07af3
Change-Id: If6103a556f58227bc38ea0c19f7e8f7c76b481cd
Dimitry Ivanov [Sun, 14 May 2017 17:57:36 +0000 (17:57 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
46c3aa2c0e -s ours am:
02b94ea8ff am:
623d83754a am:
254aec13d0 am:
c65740f4a5 am:
59abd613d4 am:
2514cb784d am:
f3537c61bf
am:
be8327ce71
Change-Id: Icd38c97287d0f2215bc4677f7c4f971badd9b6fa
Dimitry Ivanov [Sun, 14 May 2017 17:57:23 +0000 (17:57 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
772db5e6d4 am:
78b10daab3 -s ours am:
dfb42b364d am:
de4e1ef729 am:
62110f9538 am:
cb3e51d006 am:
b2792c701f
am:
7ac2da9266
Change-Id: I00d7ea4507586ceb236e21d78c4da8be380fbf78
Dimitry Ivanov [Sun, 14 May 2017 17:54:35 +0000 (17:54 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
46c3aa2c0e -s ours am:
02b94ea8ff am:
623d83754a am:
254aec13d0 am:
c65740f4a5 am:
59abd613d4 am:
2514cb784d
am:
f3537c61bf
Change-Id: Ib97ef3be452422f32390457047d64b17c02ac9e0
Dimitry Ivanov [Sun, 14 May 2017 17:54:23 +0000 (17:54 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
772db5e6d4 am:
78b10daab3 -s ours am:
dfb42b364d am:
de4e1ef729 am:
62110f9538 am:
cb3e51d006
am:
b2792c701f
Change-Id: Id90e8ed17cdd2804d6f6534cfbbb70e1892be0cd
Dimitry Ivanov [Sun, 14 May 2017 17:52:14 +0000 (17:52 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
46c3aa2c0e -s ours am:
02b94ea8ff am:
623d83754a am:
254aec13d0 am:
c65740f4a5 am:
59abd613d4
am:
2514cb784d
Change-Id: I333d717351fb970e651260a7ec88d17bc9a1c014
Dimitry Ivanov [Sun, 14 May 2017 17:51:54 +0000 (17:51 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
772db5e6d4 am:
78b10daab3 -s ours am:
dfb42b364d am:
de4e1ef729 am:
62110f9538
am:
cb3e51d006
Change-Id: I17db0fafc84cda99bb401efcca497342b9ad4d9a
Dimitry Ivanov [Sun, 14 May 2017 17:49:34 +0000 (17:49 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
46c3aa2c0e -s ours am:
02b94ea8ff am:
623d83754a am:
254aec13d0 am:
c65740f4a5
am:
59abd613d4
Change-Id: I1f1fd31090a9a2bc2d3c1472558d2b2dc2993c40
Dimitry Ivanov [Sun, 14 May 2017 17:49:23 +0000 (17:49 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
772db5e6d4 am:
78b10daab3 -s ours am:
dfb42b364d am:
de4e1ef729
am:
62110f9538
Change-Id: I93471ac1d92f3e0908744e1c648df1b367d62e7f
Dimitry Ivanov [Sun, 14 May 2017 17:46:34 +0000 (17:46 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
46c3aa2c0e -s ours am:
02b94ea8ff am:
623d83754a am:
254aec13d0
am:
c65740f4a5
Change-Id: I59cea9af44bfa75e1a9f7f4c780396f2d3f606db
Dimitry Ivanov [Sun, 14 May 2017 17:46:23 +0000 (17:46 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
772db5e6d4 am:
78b10daab3 -s ours am:
dfb42b364d
am:
de4e1ef729
Change-Id: If332d0da191a7e1671fffe2e4ee1f02dd3bb5845
Dimitry Ivanov [Sun, 14 May 2017 17:44:04 +0000 (17:44 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
46c3aa2c0e -s ours am:
02b94ea8ff am:
623d83754a
am:
254aec13d0
Change-Id: I3bf9d4ddda2fecb0a1e18b9f7600585118555121
Dimitry Ivanov [Sun, 14 May 2017 17:43:52 +0000 (17:43 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
772db5e6d4 am:
78b10daab3 -s ours
am:
dfb42b364d
Change-Id: I000de0ab7f28fab41b846ff8837669e97d048e26
Dimitry Ivanov [Sun, 14 May 2017 17:41:34 +0000 (17:41 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
46c3aa2c0e -s ours am:
02b94ea8ff
am:
623d83754a
Change-Id: Ieff24664f41ed85ddb65af28a0f44bdbfb76bee2
Dimitry Ivanov [Sun, 14 May 2017 17:41:22 +0000 (17:41 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
772db5e6d4
am:
78b10daab3 -s ours
Change-Id: I6ce0ea6a941043e1271d3a02a1f8dc706716e6c9
Dimitry Ivanov [Sun, 14 May 2017 17:33:31 +0000 (17:33 +0000)]
loader: fix leak of child-to-parent links on dlclose() am:
46c3aa2c0e -s ours
am:
02b94ea8ff
Change-Id: I0b49c8b7b3d3557f98815e29cd902c29a029a02e
Dimitry Ivanov [Sun, 14 May 2017 17:33:21 +0000 (17:33 +0000)]
loader: fix leak of child-to-parent links on dlclose()
am:
772db5e6d4
Change-Id: I538995372384103dcbd1ca6f3ff5fcd4ae80c972
Dimitry Ivanov [Sun, 14 May 2017 17:30:22 +0000 (17:30 +0000)]
loader: fix leak of child-to-parent links on dlclose()
am:
46c3aa2c0e -s ours
Change-Id: I41138d893d74f59fc0e888c444e314523a8e7a49
Dimitry Ivanov [Fri, 21 Apr 2017 23:44:48 +0000 (16:44 -0700)]
loader: fix leak of child-to-parent links on dlclose()
Use children instead of parents in is_recursive() - this
allows us to remove code adding links from child to
parent when loading a library.
Bug:
36104177
Test: /data/nativetest/bionic-unit-tests/bionic-unit-tests32 --gtest_filter=dl*
Test: manual - dlopen/dlclose libandroid.so 10 times and see how many blocks are
used after each dlclose() - make sure they are constant.
Change-Id: I776d47de92101c6ba47f400205ccbfe8844a7cb8
Dimitry Ivanov [Sat, 22 Apr 2017 00:44:25 +0000 (17:44 -0700)]
loader: fix leak of child-to-parent links on dlclose()
Remove the code adding link from child to parent. The link is
not used anywhere in the linker for L release.
Bug:
36104177
Test: manual - dlopen/dlclose libandroid.so 10 times and see how many blocks are
used after each dlclose() - make sure they are constant.
Change-Id: I57039e934ba233253ad7dce2e071833528460116
Chitti Babu Theegala [Thu, 15 Dec 2016 20:43:28 +0000 (02:13 +0530)]
Fix streaming(memcpy) performance on Cortex-A7
Stream-mode detection for L1 in A7-core is failing for
non cache-line-size (non 64 byte) aligned addresses.
This leads to destination data getting cached unnecessarily.
This A7 issue is confirmed by ARM
This issue is solved by aligning destination address to 64 byte before
entering the loop in memcpy routine.
Though we get lower score for micro_bench memcpy when L1 cache is bypassed,
it is desirable since it avoids unnecessary eviction of other process data
from L1 which is good for overall system performance.
Higher micro_bench memcpy numbers for < 64byte alignment shows good numbers
but this is at the cost of L1 cache pollution. During memcpy/memset,
unnecessary data is filled in L1 cache, this causes eviction of other
process data from L1.
For example during msmset(0), L1 cache gets filled with 0s which should be
avoided.
Additionally, there is another issue with cortex A7 that impacts performance
for all alignments / all Android Wear versions:
Store Buffer on A7 is 32 byte which limits the 32-byte back to back stores.
In the current implementation back to back 32bytes writes is causing CPU stalls.
This issue can be solved by interleaved Loads and Stores.
This helps in avoiding CPU stalls during memcpy by utilizing efficiently the
A7 internal load and store buffers.
Bug:
31917556
Change-Id: Ie5f12f2bb5d86f627686730416279057e4f5f6d0
(cherry picked from commit
cbfdc7f9054e0bc8071aaf3a70afc00273a8a869)
Christopher Ferris [Mon, 28 Nov 2016 19:09:49 +0000 (11:09 -0800)]
Add cortex-a7 specific routines.
Test: Changed angler target to use cortex-a7 and I compiled.
Test: Booted this version on angler and ran bionic-unit-tests.
Bug:
31917556
Change-Id: Ice7f6ea38a2569582161a8e659d7877918c1a45a
(cherry picked from commit
ecebb49ac636b90b3db48b7375c26c07c95fd104)
Elliott Hughes [Thu, 8 Dec 2016 22:57:25 +0000 (22:57 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5 am:
214dd6e0fb am:
71e3bb5d42 -s ours am:
170de03123 am:
59c1e60f83 am:
148a06a7c3 am:
16de57d711 am:
7a163f01d0 am:
f2ecd5dc25 am:
9b48faee8a am:
492039369d am:
7cd170c2f4
am:
5c03247adb
Change-Id: I84c4d03f3763e9c3f1e091e7fc6f9b8da0c10679
Elliott Hughes [Thu, 8 Dec 2016 22:52:24 +0000 (22:52 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5 am:
214dd6e0fb am:
71e3bb5d42 -s ours am:
170de03123 am:
59c1e60f83 am:
148a06a7c3 am:
16de57d711 am:
7a163f01d0 am:
f2ecd5dc25 am:
9b48faee8a am:
492039369d
am:
7cd170c2f4
Change-Id: I91141842fd5526887ccd7d99f02368dea36788a6
Elliott Hughes [Thu, 8 Dec 2016 22:48:23 +0000 (22:48 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5 am:
214dd6e0fb am:
71e3bb5d42 -s ours am:
170de03123 am:
59c1e60f83 am:
148a06a7c3 am:
16de57d711 am:
7a163f01d0 am:
f2ecd5dc25 am:
9b48faee8a
am:
492039369d
Change-Id: I0a3e4b288a282d3a11249bf804161de3f0848bde
Elliott Hughes [Thu, 8 Dec 2016 22:43:24 +0000 (22:43 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5 am:
214dd6e0fb am:
71e3bb5d42 -s ours am:
170de03123 am:
59c1e60f83 am:
148a06a7c3 am:
16de57d711 am:
7a163f01d0 am:
f2ecd5dc25
am:
9b48faee8a
Change-Id: I814f637cca0c7309d730450e4d3f05aa1b5d684c
Elliott Hughes [Thu, 8 Dec 2016 22:38:23 +0000 (22:38 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5 am:
214dd6e0fb am:
71e3bb5d42 -s ours am:
170de03123 am:
59c1e60f83 am:
148a06a7c3 am:
16de57d711 am:
7a163f01d0
am:
f2ecd5dc25
Change-Id: I175cc9208a110413eece74afd03476b2776a7a88
Elliott Hughes [Thu, 8 Dec 2016 22:33:52 +0000 (22:33 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5 am:
214dd6e0fb am:
71e3bb5d42 -s ours am:
170de03123 am:
59c1e60f83 am:
148a06a7c3 am:
16de57d711
am:
7a163f01d0
Change-Id: I1d37717604f210fbc1c1ddabbd69ec55f118cc48
Elliott Hughes [Thu, 8 Dec 2016 22:29:22 +0000 (22:29 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5 am:
214dd6e0fb am:
71e3bb5d42 -s ours am:
170de03123 am:
59c1e60f83 am:
148a06a7c3
am:
16de57d711
Change-Id: I93395c898ac3b1ef6ebeb6ca53c52a057b7d108d
Elliott Hughes [Thu, 8 Dec 2016 22:24:24 +0000 (22:24 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
9ea3f1c8a5 am:
62b2f0523e am:
91b8b9dd71 -s ours am:
2ad4e6e4f6 am:
c58d806231 am:
ffcf543b9c am:
c08dc9cbb3 am:
bc9f3827ab am:
39d3f63f99
am:
9f6aad92e1
Change-Id: I6e20fed16e234c25d5fcd575597eab5ae2288f6b
Elliott Hughes [Thu, 8 Dec 2016 22:24:23 +0000 (22:24 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5 am:
214dd6e0fb am:
71e3bb5d42 -s ours am:
170de03123 am:
59c1e60f83
am:
148a06a7c3
Change-Id: I2b04ead381c43e5afee710813cff4f1b12d10419
Elliott Hughes [Thu, 8 Dec 2016 22:19:22 +0000 (22:19 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
9ea3f1c8a5 am:
62b2f0523e am:
91b8b9dd71 -s ours am:
2ad4e6e4f6 am:
c58d806231 am:
ffcf543b9c am:
c08dc9cbb3 am:
bc9f3827ab
am:
39d3f63f99
Change-Id: I9f8a9b9e3b7a1eeb8bd7fd9ab80a25ff04f533ea
Elliott Hughes [Thu, 8 Dec 2016 22:19:21 +0000 (22:19 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5 am:
214dd6e0fb am:
71e3bb5d42 -s ours am:
170de03123
am:
59c1e60f83
Change-Id: I674cdcf370ca9820273aa21fe0b409c0d4351792
Elliott Hughes [Thu, 8 Dec 2016 22:14:22 +0000 (22:14 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
9ea3f1c8a5 am:
62b2f0523e am:
91b8b9dd71 -s ours am:
2ad4e6e4f6 am:
c58d806231 am:
ffcf543b9c am:
c08dc9cbb3
am:
bc9f3827ab
Change-Id: Ib1a2089dd005e2312d46add2da8fd2e38887faa6
Elliott Hughes [Thu, 8 Dec 2016 22:14:21 +0000 (22:14 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5 am:
214dd6e0fb am:
71e3bb5d42 -s ours
am:
170de03123
Change-Id: Ib9c8bcb874cdc99c06951102da7cee61b5d09dc2
Elliott Hughes [Thu, 8 Dec 2016 22:09:34 +0000 (22:09 +0000)]
Merge "Check for bad packets in getaddrinfo.c's getanswer." into nyc-dev am:
568757393a am:
cefc226477
am:
2206299bbf
Change-Id: I07c8e188931424acd4987eae9cceae2e4f7b2373
Elliott Hughes [Thu, 8 Dec 2016 22:09:24 +0000 (22:09 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
9ea3f1c8a5 am:
62b2f0523e am:
91b8b9dd71 -s ours am:
2ad4e6e4f6 am:
c58d806231 am:
ffcf543b9c
am:
c08dc9cbb3
Change-Id: Iea58d7677bfdc67c381dd5e0d415328704f98525
Elliott Hughes [Thu, 8 Dec 2016 22:09:21 +0000 (22:09 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5 am:
214dd6e0fb
am:
71e3bb5d42 -s ours
Change-Id: I9128113ef3843603ce29409baa375d72a2c70804
Elliott Hughes [Thu, 8 Dec 2016 22:09:21 +0000 (22:09 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
418fe1eb1a am:
263fb70e6c
am:
d929beb65c
Change-Id: I3424df295560dc1fb97ea3044cd9bf2a201f4cd6
Elliott Hughes [Thu, 8 Dec 2016 22:04:32 +0000 (22:04 +0000)]
Merge "Check for bad packets in getaddrinfo.c's getanswer." into nyc-dev am:
568757393a
am:
cefc226477
Change-Id: I4c317f9307640688bead99bf19e556c8e7724f88
Elliott Hughes [Thu, 8 Dec 2016 22:04:19 +0000 (22:04 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
9ea3f1c8a5 am:
62b2f0523e am:
91b8b9dd71 -s ours am:
2ad4e6e4f6 am:
c58d806231
am:
ffcf543b9c
Change-Id: I4b1d461cea68db0d8b88a7e0d5755987b8c9c2d3
Elliott Hughes [Thu, 8 Dec 2016 22:04:19 +0000 (22:04 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
418fe1eb1a
am:
263fb70e6c
Change-Id: I875853245a74d4b164555dc665450db7d3335c0f
Elliott Hughes [Thu, 8 Dec 2016 21:59:20 +0000 (21:59 +0000)]
Merge "Check for bad packets in getaddrinfo.c's getanswer." into nyc-dev
am:
568757393a
Change-Id: I7dd7da0c79692a2773fafbbd7c7583c5404789f4
Elliott Hughes [Thu, 8 Dec 2016 21:59:19 +0000 (21:59 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
9ea3f1c8a5 am:
62b2f0523e am:
91b8b9dd71 -s ours am:
2ad4e6e4f6
am:
c58d806231
Change-Id: Iccad5db8fbed8d449c07fbfcdcbf5fc0d7f160e5
Elliott Hughes [Thu, 8 Dec 2016 21:59:19 +0000 (21:59 +0000)]
Check for bad packets in getaddrinfo.c's getanswer.
am:
418fe1eb1a
Change-Id: Ieb228346980c1718e42aa6673dcee530f54ac2fc
Elliott Hughes [Thu, 8 Dec 2016 21:55:54 +0000 (21:55 +0000)]
Merge "Check for bad packets in getaddrinfo.c's getanswer." into nyc-dev
Elliott Hughes [Thu, 8 Dec 2016 21:54:49 +0000 (21:54 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
9ea3f1c8a5 am:
62b2f0523e am:
91b8b9dd71 -s ours
am:
2ad4e6e4f6
Change-Id: I36e2e234308fe8e527acd45c53b918fd4a8f20cf
Elliott Hughes [Thu, 8 Dec 2016 21:54:48 +0000 (21:54 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
105a0bdfa5
am:
214dd6e0fb
Change-Id: Icb2a9662e7909d5e9e23fddf632999053398d0f6
Elliott Hughes [Thu, 8 Dec 2016 21:50:18 +0000 (21:50 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
9ea3f1c8a5 am:
62b2f0523e
am:
91b8b9dd71 -s ours
Change-Id: Ifd8532b08f3545aa93561cb73226f116ace49e19
Elliott Hughes [Thu, 8 Dec 2016 21:50:18 +0000 (21:50 +0000)]
Check for bad packets in getaddrinfo.c's getanswer.
am:
105a0bdfa5
Change-Id: I3a6ff59b6b35398f5aa6838995670a6bb9546bc9
Elliott Hughes [Thu, 8 Dec 2016 21:22:17 +0000 (21:22 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
87c0dba7b1 am:
dc0492ac4f am:
f277bb86c6 am:
389e3e92e2 am:
0ffd7a5fb1 am:
0bf10a656b
am:
2646bfc213
Change-Id: I539d424a1176d294e1c1201367f4fe786b345726
Elliott Hughes [Thu, 8 Dec 2016 21:17:17 +0000 (21:17 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
9ea3f1c8a5
am:
62b2f0523e
Change-Id: I32e6e9d2747364697846ff47ff0622fff260d319
Elliott Hughes [Thu, 8 Dec 2016 21:17:17 +0000 (21:17 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
87c0dba7b1 am:
dc0492ac4f am:
f277bb86c6 am:
389e3e92e2 am:
0ffd7a5fb1
am:
0bf10a656b
Change-Id: I22e9e28194f3599e0792ec9d7d1145cb954b3287
Elliott Hughes [Thu, 8 Dec 2016 21:12:16 +0000 (21:12 +0000)]
Check for bad packets in getaddrinfo.c's getanswer.
am:
9ea3f1c8a5
Change-Id: Id6ba716299450f0f0625750460524fa07f55e708
Elliott Hughes [Thu, 8 Dec 2016 21:12:16 +0000 (21:12 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
87c0dba7b1 am:
dc0492ac4f am:
f277bb86c6 am:
389e3e92e2
am:
0ffd7a5fb1
Change-Id: I286e1860addc1ae571273d2b4a4e1359e990b6aa
Elliott Hughes [Thu, 8 Dec 2016 21:07:17 +0000 (21:07 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
87c0dba7b1 am:
dc0492ac4f am:
f277bb86c6
am:
389e3e92e2
Change-Id: Ie935c8491aa18867a5087ca4cf707eec318b85f6
Elliott Hughes [Thu, 8 Dec 2016 21:02:16 +0000 (21:02 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
87c0dba7b1 am:
dc0492ac4f
am:
f277bb86c6
Change-Id: I93c52807f84160dee04c93a0cdeee0ddf758db1b
Elliott Hughes [Thu, 8 Dec 2016 20:57:15 +0000 (20:57 +0000)]
Check for bad packets in getaddrinfo.c's getanswer. am:
87c0dba7b1
am:
dc0492ac4f
Change-Id: I949b993b8490d27ec180257fcca06d8984940f0f
Elliott Hughes [Thu, 8 Dec 2016 20:52:15 +0000 (20:52 +0000)]
Check for bad packets in getaddrinfo.c's getanswer.
am:
87c0dba7b1
Change-Id: I3a09f86362797881b4e7cc0ee807d28addf7b342
Elliott Hughes [Mon, 14 Nov 2016 21:56:32 +0000 (13:56 -0800)]
Check for bad packets in getaddrinfo.c's getanswer.
The near duplicate in gethnamaddr.c was already doing so (this fix
is basically copy and pasted from there, but with both copies modified
to avoid skirting undefined behavior).
Bug: http://b/
32322088
Test: browser still works
Change-Id: Ied6662be567fb1bddc7ceb138cae1da77fb57976
(cherry picked from commit
27a4459d945e34fabd7166791a5b862ccea83f23)
Christopher Ferris [Tue, 15 Nov 2016 22:04:16 +0000 (14:04 -0800)]
Fix uninitialized variable usage.
If the dladdr call fails, then info.dli_fname will be unitialized.
Make sure that this can't happen.
Bug:
32907235
Test: Enabled malloc debug on an angler and verified that function names
Test: still work.
Change-Id: I738e66d9f37bce07bc4c10f1f9bac11fbfdae2c7
(cherry picked from commit
a19bc2d4edfc261bdccfc5f855c50e83477b3757)
(cherry picked from commit
b7f0267f0ddfa2d2ffb71a7980e80b05961401d0)
Christopher Ferris [Tue, 8 Nov 2016 22:05:18 +0000 (14:05 -0800)]
Fix error case to print newlines properly.
Bug:
32640542
Test: Built and ran on a failing device.
(cherry picked from commit
4dd2785f056f885e6dc9a022b867f511c2e83c3c)
Change-Id: I81a578af7608c741819062bd54aa8e348a621b83
Christopher Ferris [Thu, 3 Nov 2016 23:06:40 +0000 (16:06 -0700)]
Make prctl test check maps.
It turns out that sometimes this kernel bug can be present but not
trigger a crash. Modify the test to check for overlapping maps instead.
Bug:
32640542
Test: Verified that this fails on a device without the kernel patch
Test: (both bionic-unit-tests32 and CtsBionicTestCases32). Verified
Test: this passes on an angler.
(cherry picked from commit
f1649d92f7869331ea1c4db7f2bb189489af03e6)
Change-Id: Ia3fae3ee3d01f33d8414c1796fc3e942d5b56ec8
Elliott Hughes [Tue, 15 Nov 2016 20:31:01 +0000 (12:31 -0800)]
Check for bad packets in getaddrinfo.c's getanswer.
The near duplicate in gethnamaddr.c was already doing so (this fix
is basically copy and pasted from there, but with both copies modified
to avoid skirting undefined behavior).
(cherrypick of
27a4459d945e34fabd7166791a5b862ccea83f23 from master.)
Bug: http://b/
32322088
Change-Id: I9668b1515ad87665e47cae962812474bb480f205
Elliott Hughes [Mon, 14 Nov 2016 21:56:32 +0000 (13:56 -0800)]
Check for bad packets in getaddrinfo.c's getanswer.
The near duplicate in gethnamaddr.c was already doing so (this fix
is basically copy and pasted from there, but with both copies modified
to avoid skirting undefined behavior).
(cherrypick of
27a4459d945e34fabd7166791a5b862ccea83f23 from master.)
Bug: http://b/
32322088
Test: browser still works
Change-Id: I16950bb0ff9dc806cc5405b913ca4ef96e43c19f
Elliott Hughes [Mon, 14 Nov 2016 21:56:32 +0000 (13:56 -0800)]
Check for bad packets in getaddrinfo.c's getanswer.
The near duplicate in gethnamaddr.c was already doing so (this fix
is basically copy and pasted from there, but with both copies modified
to avoid skirting undefined behavior).
Bug: http://b/
32322088
Test: browser still works
Change-Id: Ied6662be567fb1bddc7ceb138cae1da77fb57976
(cherry picked from commit
27a4459d945e34fabd7166791a5b862ccea83f23)
Tianjie Xu [Fri, 7 Oct 2016 04:30:14 +0000 (04:30 +0000)]
Fix a linking error in bionic/tests am:
3656958a16 am:
0893380bed
am:
b2b0460c5b
Change-Id: I049b57acdb89e2e841e46120ce06616b0bc65922
Tianjie Xu [Fri, 7 Oct 2016 04:26:44 +0000 (04:26 +0000)]
Fix a linking error in bionic/tests am:
3656958a16
am:
0893380bed
Change-Id: I462b022e42676ec6ceba39ece3933dc4cc6237d0
Tianjie Xu [Fri, 7 Oct 2016 04:22:45 +0000 (04:22 +0000)]
Fix a linking error in bionic/tests
am:
3656958a16
Change-Id: I5636ecc4e0a5ff4e1ee0a6cd0f1d182d444e63f9
Tianjie Xu [Fri, 7 Oct 2016 02:23:05 +0000 (19:23 -0700)]
Fix a linking error in bionic/tests
Fix the following linking error by adding liblog in the makefile:
"system/core/libziparchive/zip_archive.cc:277: error: undefined reference to
'__android_log_error_write'"
The error happens because libziparchive has dependency on liblog. This
error affects the downstream branches of nyc-dev.
Bug:
31251826
Test: mma -j32
Change-Id: Ia42909bbbd150ae0ca9f6aa6b14372f2e0aedccf
neo.chae [Wed, 5 Oct 2016 16:30:00 +0000 (16:30 +0000)]
Fix for default library path "/vendor/lib"
am:
8995c3876b
Change-Id: I06cfc0106ce5a9de3ec97a7aae2495bde6ddc87d
neo.chae [Tue, 4 Oct 2016 02:00:27 +0000 (11:00 +0900)]
Fix for default library path "/vendor/lib"
Android N restrict which libraries C/C++ code
can link against at runtime.
If device has a vendor partition
then /system/vendor symlink to /vendor.
Otherwise /vendor symlink to /system/vendor.
But is_system_library() is only checking /vendor/lib.
It will return false for /system/vendor/lib path.
It is need to add a real path to default library path.
Similarily, default ld library path is already checking.
parse_LD_LIBRARY_PATH()->parse_path()->resolve_paths()
Test: build bionic and run bionic-unit-tests
Bug: http://b/
31919547
Change-Id: Ie6777e2b02729948ce77a94de32343d40358bf2c
Signed-off-by: Hyangseok Chae <neo.chae@lge.com>
(cherry picked from commit
2589f9de6473a2030594e2c5e95541f00eb2dc7a)
Joachim Sauer [Tue, 4 Oct 2016 14:03:16 +0000 (14:03 +0000)]
Update timezone data to 2016g.
am:
ba9734ffd5
Change-Id: Iefe8047d6121febc517b812e22d80f87aa452dd8
Joachim Sauer [Mon, 3 Oct 2016 12:38:43 +0000 (13:38 +0100)]
Update timezone data to 2016g.
The 2016g release of the tz code and data is available. It reflects the
following changes, which were either circulated on the tz mailing list
or are relatively minor technical or administrative changes:
Changes to future time stamps
Turkey switched from EET/EEST (+02/+03) to permanent +03,
effective 2016-09-07. (Thanks to Burak AYDIN.) Use "+03" rather
than an invented abbreviation for the new time.
New leap second 2016-12-31 23:59:60 UTC as per IERS Bulletin C 52.
(Thanks to Tim Parenti.)
Changes to past time stamps
For America/Los_Angeles, spring-forward transition times have been
corrected from 02:00 to 02:01 in 1948, and from 02:00 to 01:00 in
1950-1966.
For zones using Soviet time on 1919-07-01, transitions to UT-based
time were at 00:00 UT, not at 02:00 local time. The affected
zones are Europe/Kirov, Europe/Moscow, Europe/Samara, and
Europe/Ulyanovsk. (Thanks to Alexander Belopolsky.)
Changes to past and future time zone abbreviations
The Factory zone now uses the time zone abbreviation -00 instead
of a long English-language string, as -00 is now the normal way to
represent an undefined time zone.
Several zones in Antarctica and the former Soviet Union, along
with zones intended for ships at sea that cannot use POSIX TZ
strings, now use numeric time zone abbreviations instead of
invented or obsolete alphanumeric abbreviations. The affected
zones are Antarctica/Casey, Antarctica/Davis,
Antarctica/DumontDUrville, Antarctica/Mawson, Antarctica/Rothera,
Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok,
Asia/Anadyr, Asia/Ashgabat, Asia/Baku, Asia/Bishkek, Asia/Chita,
Asia/Dushanbe, Asia/Irkutsk, Asia/Kamchatka, Asia/Khandyga,
Asia/Krasnoyarsk, Asia/Magadan, Asia/Omsk, Asia/Sakhalin,
Asia/Samarkand, Asia/Srednekolymsk, Asia/Tashkent, Asia/Tbilisi,
Asia/Ust-Nera, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg,
Asia/Yerevan, Etc/GMT-14, Etc/GMT-13, Etc/GMT-12, Etc/GMT-11,
Etc/GMT-10, Etc/GMT-9, Etc/GMT-8, Etc/GMT-7, Etc/GMT-6, Etc/GMT-5,
Etc/GMT-4, Etc/GMT-3, Etc/GMT-2, Etc/GMT-1, Etc/GMT+1, Etc/GMT+2,
Etc/GMT+3, Etc/GMT+4, Etc/GMT+5, Etc/GMT+6, Etc/GMT+7, Etc/GMT+8,
Etc/GMT+9, Etc/GMT+10, Etc/GMT+11, Etc/GMT+12, Europe/Kaliningrad,
Europe/Minsk, Europe/Samara, Europe/Volgograd, and
Indian/Kerguelen. For Europe/Moscow the invented abbreviation MSM
was replaced by +05, whereas MSK and MSD were kept as they are not
our invention and are widely used.
Changes to zone names
Rename Asia/Rangoon to Asia/Yangon, with a backward compatibility link.
(Thanks to David Massoud.)
Test: Ran CTS modules CtsLibcoreTestCases and CtsBionicTestCases.
Bug:
31848040
Change-Id: I4e9857616570ca9a540e27c109951ab265fea792
Elliott Hughes [Tue, 4 Oct 2016 02:38:35 +0000 (02:38 +0000)]
Fix tzdata loading.
am:
fa8f1d0ab2
Change-Id: I9bb66df357a20b74f3ea25043287be2567c6a260
Elliott Hughes [Mon, 3 Oct 2016 19:29:30 +0000 (12:29 -0700)]
Fix tzdata loading.
Android uses one large file of tzdata, so the "read up to the maximum
possible length of a valid tzfile" code in upstream localtime.c is
broken: there is always data after the current tzfile (even the
last tzfile is followed by the zone.tab data). This patch passes the
exact length through to the read(2) call so we don't over-read, rather
than have to rewrite upstream code that measures back from the "end" of
the tzfile.
The old code failed the existing time.strftime_null_tm_zone test after
updating to tzdata2016g.
(cherry picked from commit
81c46fc10fa60fd341f11024d8d3f26ff2c69082)
Bug: http://b/
31848040
Test: time.strftime_null_tm_zone
Change-Id: Iee059b5a8c051bd4952cfd80f02b00d83e489d5e
Dimitry Ivanov [Fri, 26 Aug 2016 22:04:28 +0000 (22:04 +0000)]
Merge "Fix dlext.ns_smoke test" into nyc-mr1-dev
am:
abe80314eb
Change-Id: I1bda620e360b96757c13394f290e45e1a981b9aa
Dimitry Ivanov [Fri, 26 Aug 2016 22:04:28 +0000 (22:04 +0000)]
Fix dlext.ns_smoke test
am:
23af6af7c2
Change-Id: I2f2106a03e573abf4f3d2574040c6cb4203fff1d
Dimitry Ivanov [Fri, 26 Aug 2016 21:57:40 +0000 (21:57 +0000)]
Merge "Fix dlext.ns_smoke test" into nyc-mr1-dev
Dimitry Ivanov [Fri, 26 Aug 2016 05:22:24 +0000 (05:22 +0000)]
linker: stat /proc/self/exe instead of executable_path am:
f987129903
am:
d5ac5ffa43
Change-Id: Iaae5632101b4af9a48fee6c897edb5b8ec6979e3
Dimitry Ivanov [Fri, 26 Aug 2016 05:19:54 +0000 (05:19 +0000)]
linker: stat /proc/self/exe instead of executable_path
am:
f987129903
Change-Id: I9d523394eea21f14abf4ad02c424afe028f38b4f
Dimitry Ivanov [Fri, 26 Aug 2016 02:44:14 +0000 (02:44 +0000)]
Merge "linker: stat /proc/self/exe instead of executable_path" into nyc-mr1-dev
am:
690c8ba6e7
Change-Id: Ib66401072a32c6bc5ebb7a435ace19e9f22a2916
Dimitry Ivanov [Fri, 26 Aug 2016 02:44:13 +0000 (02:44 +0000)]
linker: stat /proc/self/exe instead of executable_path
am:
7da4bbbe87
Change-Id: I4dc2883489876ac44c8a5b302511f49a2ad4e77d
Dimitry Ivanov [Thu, 25 Aug 2016 21:53:35 +0000 (14:53 -0700)]
linker: stat /proc/self/exe instead of executable_path
The absolute path to an executable may no longer be valid for
example when the file is unlinked immediately after exec.
Using /proc/self/exe instead of absolute path solves this problem.
Bug: http://b/
31084669
Test: Run the app from http://b/
31084669 make sure executable starts
Test: by checking ps and /proc/<pid>/exe
Change-Id: I5c819f39ef0fc4fc71b05de71e8af9ede611f04c
(cherry picked from commit
7da4bbbe87a7eca742c6c45a76aaf191aa70d948)
Dimitry Ivanov [Fri, 26 Aug 2016 02:32:57 +0000 (02:32 +0000)]
Merge "linker: stat /proc/self/exe instead of executable_path" into nyc-mr1-dev
Dimitry Ivanov [Thu, 25 Aug 2016 22:51:55 +0000 (22:51 +0000)]
linker: warn about W+E load segments
am:
a6f3b63f33
Change-Id: I4f422aeeaab25d3e82ead3512d2b938ee62b1c7b
Dimitry Ivanov [Wed, 13 Jul 2016 23:28:20 +0000 (16:28 -0700)]
Fix dlext.ns_smoke test
Check for updated error_message
Bug: http://b/
31097098
Test: adb shell bionic-unit-tests32/64 --gtest_filter=dlext.ns*
(cherry picked from commit
3a6c6b3254b2033a9a0246013a2c8b486800624b)
Change-Id: I0f0dd59a6deba016d37d0ccc80113b62db86c1c2
Dimitry Ivanov [Thu, 25 Aug 2016 21:53:35 +0000 (14:53 -0700)]
linker: stat /proc/self/exe instead of executable_path
The absolute path to an executable may no longer be valid for
example when the file is unlinked immediately after exec.
Using /proc/self/exe instead of absolute path solves this problem.
Bug: http://b/
31084669
Test: Run the app from http://b/
31084669 make sure executable starts
Test: by checking ps and /proc/<pid>/exe
Change-Id: I5c819f39ef0fc4fc71b05de71e8af9ede611f04c
Dimitry Ivanov [Wed, 24 Aug 2016 21:14:58 +0000 (14:14 -0700)]
linker: warn about W+E load segments
No mapped segment from the elf file can be writable and
executable at the same time. This commit adds a warning
for malformed PT_LOAD segments in the elf-files.
Change-Id: I5e1e41bc2aabc209d3b07dd6ca2689a394294628
Test: flip protection flag for libtest_empty.so (used hexedit), adb sync
Test: run bionic-unit-tests and make sure it displays the warning.
Bug: http://b/
30146890
Alex Vakulenko [Wed, 24 Aug 2016 06:24:01 +0000 (06:24 +0000)]
Merge "Fix pty.bug_28979140 test in Bionic" into nyc-mr1-dev
am:
56762e036b
Change-Id: Ice60745edf755eefd2b78c20b37518c40ba24284
Alex Vakulenko [Wed, 24 Aug 2016 06:24:00 +0000 (06:24 +0000)]
Fix pty.bug_28979140 test in Bionic
am:
766275e7f6
Change-Id: I04b0e54f2f2eabf389a9868f0757f80351621cdd
TreeHugger Robot [Wed, 24 Aug 2016 06:17:24 +0000 (06:17 +0000)]
Merge "Fix pty.bug_28979140 test in Bionic" into nyc-mr1-dev
Alex Vakulenko [Tue, 12 Jul 2016 00:26:35 +0000 (17:26 -0700)]
Fix pty.bug_28979140 test in Bionic
The test relies on the fact/assumes that CPU 0 is available to the
test process. This is not necessarily the case. Instead of allocating
CPU 0 to the main thread, find the first available CPU and use that
instead.
BUG=b/
29991929
TEST=All Bionic unit tests pass
Change-Id: I36b311cdba57112d663d652757fd5114183fc780
Dimitry Ivanov [Thu, 11 Aug 2016 04:22:44 +0000 (04:22 +0000)]
linker_asan: Translate absolute dlopen paths to use asan-libraries.
am:
5aa67675f8
Change-Id: I912e82324fc014dcfaaed0be57911ee4390a6355
Dimitry Ivanov [Wed, 10 Aug 2016 02:38:43 +0000 (19:38 -0700)]
linker_asan: Translate absolute dlopen paths to use asan-libraries.
This patch enables absolute path translation to instrumented library
when linker_asan is in use.
Test: adb shell cat /proc/<rlid pid>/maps | grep libril-qc-qmi-1.so
check that it is mapped from /data/vendor/lib64 and not /vendor/lib64
Bug: http://b/
30320104
Change-Id: I3bc24754b192afc0a72d6f3801f7b42141ce715b