OSDN Git Service
Dimitry Ivanov [Thu, 12 May 2016 22:20:21 +0000 (15:20 -0700)]
linker: Allow caller to specify parent namespace
This change enables apps to share libraries opened
with RTLD_GLOBAL between different classloader namespaces.
The new parameter to create_namespace allows native_loader
to instruct the linker to share libraries belonging to
global group from a specified namespace instead of
using the caller_ns.
Bug: http://b/
28560538
Bug: https://code.google.com/p/android/issues/detail?id=208458
Change-Id: I5d0c62730bbed19cdeb16c7559c74aa262a2475f
(cherry picked from commit
fc2da53440383fe1026e0eb287d643b577c2707d)
Christopher Ferris [Tue, 17 May 2016 19:12:23 +0000 (19:12 +0000)]
Fix overflow testing in sbrk. am:
1944780b62 am:
3a5ebf3154 -s ours am:
d95336ac42 am:
0993319651 am:
0ae30d9af8 am:
83b0671a33 am:
10a48fb557 am:
fd84d78b1e am:
b4d92e1362 am:
ad80daaab5
am:
7189a4ccc2
* commit '
7189a4ccc23598eeca0d769bc70916b6a9fe3bf6':
Fix overflow testing in sbrk.
Change-Id: I3ede782a21037ce189b093dc4448ac5154a11f1b
Elliott Hughes [Tue, 17 May 2016 19:06:53 +0000 (19:06 +0000)]
Fix brk/sbrk error checking. am:
f36b5088a3 am:
1d358c8ed4 -s ours am:
f3a1f4244d am:
c0c1abe518 am:
b6789dc3b5 am:
d54ed72cd8 am:
02f7869aef am:
1d59a2d6c3 am:
2f78cab202 am:
b472137abf
am:
0d7fdf1499
* commit '
0d7fdf149998059f4b3ac115d191ab53bf1b2f43':
Fix brk/sbrk error checking.
Change-Id: I8ef9e4a387599a330e75985f740973f941cc335f
Christopher Ferris [Tue, 17 May 2016 19:06:52 +0000 (19:06 +0000)]
Fix overflow testing in sbrk. am:
1944780b62 am:
3a5ebf3154 -s ours am:
d95336ac42 am:
0993319651 am:
0ae30d9af8 am:
83b0671a33 am:
10a48fb557 am:
fd84d78b1e am:
b4d92e1362
am:
ad80daaab5
* commit '
ad80daaab5cd1fc86ec2b61f0ed1eb8918a74a74':
Fix overflow testing in sbrk.
Change-Id: Iacf234b6d224df38dc59fde9c3c9f8a82ba1ad0a
Elliott Hughes [Tue, 17 May 2016 19:04:02 +0000 (19:04 +0000)]
Fix brk/sbrk error checking. am:
f36b5088a3 am:
1d358c8ed4 -s ours am:
f3a1f4244d am:
c0c1abe518 am:
b6789dc3b5 am:
d54ed72cd8 am:
02f7869aef am:
1d59a2d6c3 am:
2f78cab202
am:
b472137abf
* commit '
b472137abf6159bd963381befbf4516242cbea0c':
Fix brk/sbrk error checking.
Change-Id: Ibc660adf87cc5c61debd3e2e6e0ac58a4d661668
Christopher Ferris [Tue, 17 May 2016 19:03:59 +0000 (19:03 +0000)]
Fix overflow testing in sbrk. am:
1944780b62 am:
3a5ebf3154 -s ours am:
d95336ac42 am:
0993319651 am:
0ae30d9af8 am:
83b0671a33 am:
10a48fb557 am:
fd84d78b1e
am:
b4d92e1362
* commit '
b4d92e1362009637a1d0fb7ee7f96d2812a09202':
Fix overflow testing in sbrk.
Change-Id: I0e8c70deedb9f43204d306a5fdad22b14703dbe5
Elliott Hughes [Tue, 17 May 2016 19:00:49 +0000 (19:00 +0000)]
Fix brk/sbrk error checking. am:
f36b5088a3 am:
1d358c8ed4 -s ours am:
f3a1f4244d am:
c0c1abe518 am:
b6789dc3b5 am:
d54ed72cd8 am:
02f7869aef am:
1d59a2d6c3
am:
2f78cab202
* commit '
2f78cab2026db556b166386323542708a3bc6ba3':
Fix brk/sbrk error checking.
Change-Id: I20fce57c0bb3ee7fb99d2a9b10286b79c9458bd2
Christopher Ferris [Tue, 17 May 2016 19:00:48 +0000 (19:00 +0000)]
Fix overflow testing in sbrk. am:
1944780b62 am:
3a5ebf3154 -s ours am:
d95336ac42 am:
0993319651 am:
0ae30d9af8 am:
83b0671a33 am:
10a48fb557
am:
fd84d78b1e
* commit '
fd84d78b1e0840905b80a4c4072db27b5e3aa2c9':
Fix overflow testing in sbrk.
Change-Id: I8bf29354a9a631ad7c33a1eab3f66124546b7331
Elliott Hughes [Tue, 17 May 2016 18:57:30 +0000 (18:57 +0000)]
Fix brk/sbrk error checking. am:
f36b5088a3 am:
1d358c8ed4 -s ours am:
f3a1f4244d am:
c0c1abe518 am:
b6789dc3b5 am:
d54ed72cd8 am:
02f7869aef
am:
1d59a2d6c3
* commit '
1d59a2d6c3836e8f3a85062ce6725ae489c0122b':
Fix brk/sbrk error checking.
Change-Id: I3cc097839dfc3534f31c114c15bc89dedb6ba866
Christopher Ferris [Tue, 17 May 2016 18:57:23 +0000 (18:57 +0000)]
Fix overflow testing in sbrk. am:
1944780b62 am:
3a5ebf3154 -s ours am:
d95336ac42 am:
0993319651 am:
0ae30d9af8 am:
83b0671a33
am:
10a48fb557
* commit '
10a48fb5576d44326e35ee01d6163ba78faab9e4':
Fix overflow testing in sbrk.
Change-Id: Ie5de1ba25e3a769ff57bd9280ae4d4d9625fe4ee
Elliott Hughes [Tue, 17 May 2016 18:52:47 +0000 (18:52 +0000)]
Fix brk/sbrk error checking. am:
f36b5088a3 am:
1d358c8ed4 -s ours am:
f3a1f4244d am:
c0c1abe518 am:
b6789dc3b5 am:
d54ed72cd8
am:
02f7869aef
* commit '
02f7869aefb851d721c3020fca5b35c0ad9de713':
Fix brk/sbrk error checking.
Change-Id: I31322f99f91feb450792baa2781ad87873a0adc1
Christopher Ferris [Tue, 17 May 2016 18:52:47 +0000 (18:52 +0000)]
Fix overflow testing in sbrk. am:
1944780b62 am:
3a5ebf3154 -s ours am:
d95336ac42 am:
0993319651 am:
0ae30d9af8
am:
83b0671a33
* commit '
83b0671a33a0da3d0ed962f8f01ff166069093dd':
Fix overflow testing in sbrk.
Change-Id: Id325431f9de4bdfe102381da21445fa0781ccc82
Elliott Hughes [Tue, 17 May 2016 18:49:14 +0000 (18:49 +0000)]
Fix brk/sbrk error checking. am:
f36b5088a3 am:
1d358c8ed4 -s ours am:
f3a1f4244d am:
c0c1abe518 am:
b6789dc3b5
am:
d54ed72cd8
* commit '
d54ed72cd89cb66211a011e92acd645dcc0c2243':
Fix brk/sbrk error checking.
Change-Id: I630c562d6642cce13cb1697e4dfed2432323f57e
Christopher Ferris [Tue, 17 May 2016 18:49:09 +0000 (18:49 +0000)]
Fix overflow testing in sbrk. am:
1944780b62 am:
3a5ebf3154 -s ours am:
d95336ac42 am:
0993319651
am:
0ae30d9af8
* commit '
0ae30d9af8c55d95edf7ddb1c2cb4f9dc0579f83':
Fix overflow testing in sbrk.
Change-Id: I2d63124f58990f8ae3db35789bdd993d98d389ab
Elliott Hughes [Tue, 17 May 2016 18:44:48 +0000 (18:44 +0000)]
Fix brk/sbrk error checking. am:
f36b5088a3 am:
1d358c8ed4 -s ours am:
f3a1f4244d am:
c0c1abe518
am:
b6789dc3b5
* commit '
b6789dc3b5fbf8bbd6b407ffe53668138e828655':
Fix brk/sbrk error checking.
Change-Id: Ief90c1e5bac313ff5a2d18117e70b67e62ced301
Christopher Ferris [Tue, 17 May 2016 18:44:48 +0000 (18:44 +0000)]
Fix overflow testing in sbrk. am:
1944780b62 am:
3a5ebf3154 -s ours am:
d95336ac42
am:
0993319651
* commit '
099331965176b368af627858f087dc0eccd0fc18':
Fix overflow testing in sbrk.
Change-Id: I4bb6ccba7238bb786eee22cb96b0bc64c3f534b8
Christopher Ferris [Tue, 17 May 2016 18:41:21 +0000 (18:41 +0000)]
Fix overflow testing in sbrk. am:
1944780b62 am:
3a5ebf3154 -s ours
am:
d95336ac42
* commit '
d95336ac42e910e9dd11f01f5af65e8e1f4505cb':
Fix overflow testing in sbrk.
Change-Id: I60e5637cf560af8b95ccc585f86c2f0fa04481f1
Elliott Hughes [Tue, 17 May 2016 18:41:19 +0000 (18:41 +0000)]
Fix brk/sbrk error checking. am:
f36b5088a3 am:
1d358c8ed4 -s ours am:
f3a1f4244d
am:
c0c1abe518
* commit '
c0c1abe518ae6a7470aaf50f2170c588eca0c69a':
Fix brk/sbrk error checking.
Change-Id: I8e622e884c0fe5c7262bae9d42971c30f9b2e4a2
Christopher Ferris [Tue, 17 May 2016 18:37:25 +0000 (18:37 +0000)]
Fix overflow testing in sbrk. am:
1944780b62
am:
3a5ebf3154 -s ours
* commit '
3a5ebf3154f4ff22b9196f0cc43986a458b6cadc':
Fix overflow testing in sbrk.
Change-Id: I48cdfd2a6d05fa81bcd3dc3415c078b5f79c1f0f
Elliott Hughes [Tue, 17 May 2016 18:37:10 +0000 (18:37 +0000)]
Fix brk/sbrk error checking. am:
f36b5088a3 am:
1d358c8ed4 -s ours
am:
f3a1f4244d
* commit '
f3a1f4244dd53aa9ff5f3c13578c52d3f74aae86':
Fix brk/sbrk error checking.
Change-Id: Iedd0f7a24a709b4ee7e9b39fd293d56d71d7ec6f
Elliott Hughes [Tue, 17 May 2016 18:34:36 +0000 (18:34 +0000)]
Fix brk/sbrk error checking. am:
f36b5088a3
am:
1d358c8ed4 -s ours
* commit '
1d358c8ed4443d358f8a6141071c2445b52c8077':
Fix brk/sbrk error checking.
Change-Id: I8514cee9e52d38fe8aa92310d9566e8041c58efb
Christopher Ferris [Tue, 17 May 2016 18:20:00 +0000 (18:20 +0000)]
Fix overflow testing in sbrk.
am:
1944780b62
* commit '
1944780b62f84acb660f46c8ae37e10928de8dab':
Fix overflow testing in sbrk.
Change-Id: I25d6ec44731e53b098b3d6a70ae7eb37e5821ed1
Elliott Hughes [Tue, 17 May 2016 18:19:59 +0000 (18:19 +0000)]
Fix brk/sbrk error checking.
am:
f36b5088a3
* commit '
f36b5088a32775c44661fb6b348ed0b6b3b67e65':
Fix brk/sbrk error checking.
Change-Id: Ie98e3cd7f1f742a22f0f3f0bd1182e95c55a4280
Christopher Ferris [Thu, 22 May 2014 02:03:34 +0000 (19:03 -0700)]
Fix overflow testing in sbrk.
Modify the overflow testing for sbrk.
Bug:
15188366
Bug:
28740702
(cherry picked from commit
738b0cc5e95a9a650e9621603f4dd8dd16b07568)
Change-Id: Id79a2314d86333d689b291bc32e513664df7e058
Elliott Hughes [Sat, 26 Apr 2014 01:27:38 +0000 (18:27 -0700)]
Fix brk/sbrk error checking.
Note that the kernel returns the current break on error or if the requested
break is smaller than the minimum break, or the new break. I don't know where
we got the idea that the kernel could return -1.
Also optimizes the query case.
Also hides an accidentally-exported symbol for LP64.
Bug:
28740702
(cherry picked from commit
533dde4dbf87d6615952be3654fc74e5ff2e1003)
Change-Id: Ied16987756a501acf292368a14e3727ad631efa5
Pierre Imai [Fri, 6 May 2016 08:56:57 +0000 (17:56 +0900)]
Always update search domain paths.
_resolv_set_nameservers_for_net() so far did not update the search
paths, unless the servers changed as well.
BUG:
28437641
Change-Id: Id31f2d97c173e00357fb2ba95908afb4572c0fc1
(cherry picked from commit
06e2202a4cc6d9a0f382a0bbdcdbd2d527734d5f)
Dimitry Ivanov [Tue, 10 May 2016 00:37:39 +0000 (17:37 -0700)]
Remove linker-namespace functions from the header
They are intended for platform use only and we shouldn't have them
in the public header file.
Bug: http://b/
28174921
Change-Id: Ib9b3d0fa9442cfa2e784a693ad567d1444d774e5
(cherry picked from commit
41fd29532b52bb66e3e1f4620053713fd0299f6e)
Dimitry Ivanov [Thu, 5 May 2016 00:19:14 +0000 (17:19 -0700)]
Fix linker crash on trying to unload main executable
Linker crashed if linking of the main executable fails
instead of aborting with readable error message.
This patch modifies unload to soinfo_unload it all at once
in this particular case. This helps avoid situations when
one of the libraries on the DT_NEEDED list of main executable
has gotten unloaded by previous library unload because it
DT_NEEDED it too.
Example (consider following dependency tree):
main_executable
|-> liba.so
|-> libb.so
|-> libb.so
The list of the libraries need to be unloaded in this case
is [liba.so, libb.so], but if linker does unload one by one
by the time it gets to libb.so - the soinfo for the library
is already unloaded (and the segments were unmapped).
Passing everything as an array helps soinfo_unload to check
if a library was already unloaded by looking into local_unload_list.
Bug: http://b/
28565608
Change-Id: I7199290e10a186057dcf3b7b68dbce954af7dba1
(cherry picked from commit
83fcb542088db7874a387f4f41caac2019821fd2)
TreeHugger Robot [Tue, 3 May 2016 16:43:00 +0000 (16:43 +0000)]
Merge "Revert "Add a test exercising ptrace watchpoint functionality"" into nyc-dev
Pavel Labath [Tue, 3 May 2016 14:46:03 +0000 (14:46 +0000)]
Revert "Add a test exercising ptrace watchpoint functionality"
This test appears to be failing on shamu devices. Revert until we figure out what's the problem.
This reverts commit
88ce78d93a465c1c635901d26542d5ec07b6b6ee.
Bug:
28514348
Change-Id: I0d91ca5eb59eb3ccb5d48b02b245e0f1bcffb5bb
Lorenzo Colitti [Mon, 2 May 2016 12:46:17 +0000 (12:46 +0000)]
Merge "Record the resolution start time on errors." into nyc-dev
Pierre Imai [Wed, 27 Apr 2016 08:30:30 +0000 (17:30 +0900)]
Record the resolution start time on errors.
Also only record samples on the first try for a server.
BUG:
25731675
Change-Id: I10a68813c6636874e63aca1db661e63e1af72a2d
(cherry picked from commit
8b8611a0e6f1928b793c17e80d22c1e2810eadc0)
Vince Harron [Thu, 28 Apr 2016 17:03:42 +0000 (17:03 +0000)]
Merge "Add a test exercising ptrace watchpoint functionality" into nyc-dev
TreeHugger Robot [Thu, 28 Apr 2016 03:53:53 +0000 (03:53 +0000)]
Merge "Make malloc debug symbols platform-private" into nyc-dev
TreeHugger Robot [Thu, 28 Apr 2016 02:56:31 +0000 (02:56 +0000)]
Merge "Add unwind information for r7 in arm syscalls." into nyc-dev
Dimitry Ivanov [Thu, 28 Apr 2016 01:16:16 +0000 (18:16 -0700)]
Make malloc debug symbols platform-private
Bug: http://b/
28432442
Change-Id: I96b9cb8b57726b4e8d53069e72666cf107cdeba2
(cherry picked from commit
54548d8cf91ba2e891b2dd0d25ae5956c62ad3ef)
TreeHugger Robot [Thu, 28 Apr 2016 01:37:58 +0000 (01:37 +0000)]
Merge "Add libvorbisidec.so to the grey-list" into nyc-dev
Christopher Ferris [Thu, 28 Apr 2016 01:31:02 +0000 (18:31 -0700)]
Add unwind information for r7 in arm syscalls.
It turns out that clang can emit code where the sp is saved in the r7
register on arm. Unfortunately, a lot of our syscalls overwrite that
value while the syscall is executing, so unwinding through that syscall
fails.
Update the syscall generation code to add unwinding information for
these uses.
Bug:
28411713
Change-Id: Id51a5d43c058631bb50834527f93fa299bbcf759
Dimitry Ivanov [Wed, 27 Apr 2016 23:55:45 +0000 (16:55 -0700)]
Add libvorbisidec.so to the grey-list
Bug: http://b/
28403395
Change-Id: Ic718b1eea4616ca87b94eee211717c4475082cab
Pierre Imai [Tue, 26 Apr 2016 13:08:40 +0000 (22:08 +0900)]
DO NOT MERGE Fix DNS search path info.
Fix the resolver information returned by
android_net_res_stats_get_info_for_net,
erroneously included MAXDNSRCH empty results if no search path was set.
BUG:
25731675
Change-Id: I97ef5d2d47dc62ca403a3323c7f14902e47b29b6
(cherry picked from commit
1b069a990ad783cd20327a35df59fcdc83e2e1e2)
Pavel Labath [Thu, 21 Apr 2016 14:13:22 +0000 (15:13 +0100)]
Add a test exercising ptrace watchpoint functionality
This adds a test which verifies that watchpoints work on devices
which support them. It is motivated by issues experienced by Nexus
5 devices, where watchpoints work only sporadically.
These tests spawn a process, trace it, and verify it hits a
watchpoint of various sizes while executing on all available CPUs
(to help catch a recent bug, where some debugging functionality
was not available on non-boot CPUs). All x86(_64) targets are
expected to support this functionality. In case of arm(64),
watchpoints are expected to work on devices where the relevant
syscall indicates watchpoint presence. In case of mips, this test
is skipped as I could not verify that the test would work
correctly due to lack of hardware, and this test is intrinsically
hardware-dependend.
cherry picked from commit
1faca6c95bc3e2c9456b9dc5362915be2a188340
Bug:
28395519
Change-Id: Ie5cbb16b9eef51f322c02ed8dce712c21cad94cf
Neil Fuller [Thu, 21 Apr 2016 14:06:48 +0000 (15:06 +0100)]
Update timezone data to 2016d
Changes affecting future time stamps
America/Caracas switches from -0430 to -04 on 2016-05-01 at 02:30.
(Thanks to Alexander Krivenyshev for the heads-up.)
Asia/Magadan switches from +10 to +11 on 2016-04-24 at 02:00.
(Thanks to Alexander Krivenyshev and Matt Johnson.)
New zone Asia/Tomsk, split off from Asia/Novosibirsk. It covers
Tomsk Oblast, Russia, which switches from +06 to +07 on 2016-05-29
at 02:00. (Thanks to Stepan Golosunov.)
Changes affecting past time stamps
New zone Europe/Kirov, split off from Europe/Volgograd. It covers
Kirov Oblast, Russia, which switched from +04/+05 to +03/+04 on
1989-03-26 at 02:00, roughly a year after Europe/Volgograd made
the same change. (Thanks to Stepan Golosunov.)
Russia and nearby locations had daylight-saving transitions on
1992-03-29 at 02:00 and 1992-09-27 at 03:00, instead of on
1992-03-28 at 23:00 and 1992-09-26 at 23:00. (Thanks to Stepan
Golosunov.)
Many corrections to historical time in Kazakhstan from 1991
through 2005. (Thanks to Stepan Golosunov.) Replace Kazakhstan's
invented time zone abbreviations with numeric abbreviations.
Bug:
28240832
Change-Id: If11e29f064f074f8b5812d397996322d007ab1d2
Pierre Imai [Mon, 18 Apr 2016 03:00:12 +0000 (12:00 +0900)]
DO NOT MERGE Add new info functions to resolver for use by Netd.
android_net_res_stats_get_info_for_net returns the current name servers, search
domains, parameters and stats for the given network ID.
android_net_res_stats_aggregate provides statistics such as errors counts from
the raw stats data reported by android_net_res_stats_get_info_for_net.
android_net_res_stats_get_usable_servers uses the data returned by
android_net_res_stats_aggregate to determine which of the servers are
considered valid or broken by the resolver.
BUG:
25731675
Change-Id: I6059b68e5e8b809027a4d3135f6081588bee8a7d
Pierre Imai [Mon, 18 Apr 2016 02:42:14 +0000 (11:42 +0900)]
DO NOT MERGE Store DNS server count in resolv_cache.
Instead of keeping a sentinel after nameservers[], nsaddrinfo[] and
nstats[], store the server count in the structure, freeing up memory and
eliminating the need to enumerate the server count every time
_resolv_is_nameservers_equal_locked() is invoked.
Also increase MAXNS from 3 to 4.
BUG:
28153323
Change-Id: I11a7257af695157c9e32019cd00c67b535b63c75
(cherry picked from commit
fff356786f8a3a98c5c29f12bb7e59e6d98076a9)
Christopher Ferris [Wed, 20 Apr 2016 23:44:39 +0000 (16:44 -0700)]
Change pointer to allocation in unit tests.
I changed the output from "pointer" to "allocation" for allocation
mismatches. I forgot to update the tests.
Bug:
28218530
(cherry picked from commit
97fd7d95f5abd3fbc3274b2591883ecdd9cc03cc)
Change-Id: I4076e4ddb5d2385e786e3ebca187d1e84e3c172c
Christopher Ferris [Fri, 18 Mar 2016 21:29:51 +0000 (14:29 -0700)]
Add malloc debug documentation.
Bug:
27902359
Bug:
28218530
(cherry picked from commit
713a8e36f863c27736ad4f29a5fd9bf84be83aaf)
Change-Id: I63c0cc53287d414ae6accd03c191f3474c02fc82
Christopher Ferris [Fri, 15 Apr 2016 21:13:52 +0000 (14:13 -0700)]
Small fixes to malloc debug.
- Change the printed name from pointer to allocation to be explicit about
what is wrong.
- Change the signal to be SIGRTMAX - 19 instead of SIGRTMIN. This should
prevent problems if we have to reserve other real time signals.
Bug:
28218530
(cherry picked from commit
ea26b33248663a836d2f0719cb4e46967b648fe2)
Change-Id: I707d5200c1804bdbf45fc46de0f2565016c48a82
Neil Fuller [Fri, 15 Apr 2016 13:58:08 +0000 (14:58 +0100)]
Update timezone data to 2016c
Changes affecting future time stamps
Azerbaijan no longer observes DST. (Thanks to Steffen Thorsen.)
Chile reverts from permanent to seasonal DST. (Thanks to Juan
Correa for the heads-up, and to Tim Parenti for corrections.)
Guess that future transitions are August's and May's second
Saturdays at 24:00 mainland time. Also, call the period from
2014-09-07 through 2016-05-14 daylight saving time instead of
standard time, as that seems more appropriate now.
Changes affecting past time stamps
Europe/Kaliningrad and Europe/Vilnius changed from +03/+04 to
+02/+03 on 1989-03-26, not 1991-03-31. Europe/Volgograd changed
from +04/+05 to +03/+04 on 1988-03-27, not 1989-03-26.
(Thanks to Stepan Golosunov.)
Bug:
27826144
Change-Id: I4353fa075e6cc0f277a72c928442a63835ec4d97
Neil Fuller [Mon, 18 Apr 2016 08:09:57 +0000 (08:09 +0000)]
Merge "Update timezone data to 2016b" into nyc-dev
Dimitry Ivanov [Sat, 16 Apr 2016 00:58:12 +0000 (00:58 +0000)]
Revert "Temporary move __udivdi3 back to LIBC for x86"
This reverts commit
bc02fb964a59983521c5f6cf80b1189434952780.
Bug: http://b/
26406724
Bug: http://b/
26423217
Change-Id: I8e3186fc76502d6818753e5d76a7c145207ed9a3
(cherry picked from commit
9f39326a740860a0cfd472115b929bf0ab83799b)
Dimitry Ivanov [Mon, 11 Apr 2016 19:42:58 +0000 (12:42 -0700)]
Remove dangling links in secondary namespaces
linker didn't remove link to the soinfo from shared
namespaces on soinfo_unload, because it didn't keep
record of all namespaces the library is added to.
This change adds test for this and also fixes the
problem by introducing list of secondary namespaces
to soinfo, which is used to remove soinfo in
soinfo::remove_all_links().
Bug: http://b/
28115950
Change-Id: Ifbf6e54f92fa6e88f86b6a8dd6dc22d4553afd22
(cherry picked from commit
aca299ac4721809d6fc61e25c505bb59acd23fbc)
Dimitry Ivanov [Wed, 13 Apr 2016 22:01:37 +0000 (15:01 -0700)]
Move linker-namespace functions to LIBC_PLATFORM
Bug: http://b/
28174921
Change-Id: I089dbeeea813fc2128b9c2f6268a578d23a1954a
Dimitry Ivanov [Wed, 13 Apr 2016 18:46:59 +0000 (11:46 -0700)]
linker: unload RTLD_NODELETE libraries when loading fails
Linker was not unloading libraries marked with RTLD_NODELETE
even when there was a error on load. For example when one of
dt_needed libraries was not found.
Bug: http://b/
27911891
Change-Id: Ibc0bf110aa41fbfdc9f327ad8c364f2e3600af71
Dimitry Ivanov [Tue, 12 Apr 2016 21:53:06 +0000 (14:53 -0700)]
Add libgui.so to the grey-list
Bug: http://b/
28151000
Change-Id: I7ba8f78df7dbf32de4839cc5a95ef10e8444715c
Dimitry Ivanov [Fri, 8 Apr 2016 16:49:07 +0000 (09:49 -0700)]
Add libexpat.so to the grey-list
Bug: http://b/
28071598
Change-Id: I5545a06edfd8e0ab5b011392860ddccd6c04677f
Pierre Imai [Wed, 6 Apr 2016 02:30:02 +0000 (11:30 +0900)]
DO NOT MERGE: Reduce the amount of logging in Bionic's resolver.
Change-Id: I3b7b5ef5a5ee6ba3ad8654f792400d42d5ecd4b9
Pierre Imai [Tue, 5 Apr 2016 06:49:08 +0000 (15:49 +0900)]
DO NOT MERGE: Fix off-by-one error in res_cache.c
(cherry picked from commit
03844d8cdb43c351d2c94eb67242966019f7600d)
Change-Id: Ib5fff46ac9211716a1577ee25bb22461c489ea9f
Pierre Imai [Mon, 22 Feb 2016 08:50:41 +0000 (17:50 +0900)]
DO NOT MERGE: Ignore unreliable DNS servers.
Collect statistics about DNS query success state and delay. Ignore
servers that have been tried at least five times and have a success rate
of < 0.25. Retry these servers once every 180s.
Bug:
25731675
(cherry picked from commit
6b3f0d65f2c706625e5efb495df0f2c6178b965a)
Change-Id: Id989404b14fd885fb31a5a4de36a4186be1c9ad1
Elliott Hughes [Fri, 1 Apr 2016 21:51:10 +0000 (14:51 -0700)]
Fix the stack-protector test for x86/x86-64.
Built for fugu this was working fine, but built for generic x86/x86-64
the compiler was (a) optimizing out all the stack writes and (b) inserting
enough padding on x86-64 for the canary to be safely out of the way.
While here, let's tighten up this test so we test that it's sufficient to
only overwrite the buffer by one byte...
Bug: http://b/
27815668
Change-Id: I80a646de4b30fd5c78df20fdaa7e3eb163585caf
Elliott Hughes [Fri, 1 Apr 2016 17:10:54 +0000 (10:10 -0700)]
Use consistent quoting in linker messages.
Using single quotes can be more convenient -- because there's no need to
escape -- but the vast majority of existing quoting was done with double
quotes, so move in that direction.
Bug: http://b/
27524191
Change-Id: I8f58593120e4c8aeaec45e16fc0178e9c162454d
Yabin Cui [Wed, 30 Mar 2016 19:29:21 +0000 (19:29 +0000)]
Merge "CloseArchive() to free memory when OpenArchive fails." into nyc-dev
Yabin Cui [Tue, 22 Mar 2016 00:10:12 +0000 (17:10 -0700)]
CloseArchive() to free memory when OpenArchive fails.
Bug:
26962895
Change-Id: I42418eee320ddae857b42572690316c53f638e85
(cherry picked from commit
722072d65abb1b9fa709f5c7ae8afd98ef5ab7af)
Pierre Imai [Wed, 30 Mar 2016 07:38:26 +0000 (07:38 +0000)]
Merge "Copy the entire zero-separated DNS seach domain string." into nyc-dev
Yabin Cui [Wed, 30 Mar 2016 01:24:12 +0000 (01:24 +0000)]
Merge "Fix test getauxval.arm_has_AT_HWCAP2." into nyc-dev
Josh Gao [Tue, 29 Mar 2016 21:53:26 +0000 (14:53 -0700)]
Add a checksum to jmp_buf on x86_64.
Bug: http://b/
27856501
Bug: http://b/
27417786
Change-Id: I541f5a7ce4972ef56b3f69e73927ca7df362609a
(cherry picked from commit
686e5f6f69c5c30a09d73e42657cb502a261ad6a)
Josh Gao [Tue, 29 Mar 2016 21:34:03 +0000 (14:34 -0700)]
Delete lies from x86_64 setjmp implementation.
Previously, the implementation of setjmp on x86_64 claimed that
sigprocmask would write to two longs' worth of bytes.
Bug: http://b/
27856501
Change-Id: I9f32b40ac773a0cd91a976aace5bfba6e67fb0f8
(cherry picked from commit
c244fcb8a3396f94976a56379cce144c4451c3d4)
Josh Gao [Tue, 29 Mar 2016 21:03:09 +0000 (14:03 -0700)]
Add a checksum to jmp_buf on x86.
Bug: http://b/
27856501
Bug: http://b/
27417786
Change-Id: Id5a0a81fc38e311bff678cbc7dc2219bc0074503
(cherry picked from commit
926078539346f5d3cc864c9ba25993e8c6437c07)
Yabin Cui [Tue, 29 Mar 2016 22:41:49 +0000 (15:41 -0700)]
Fix test getauxval.arm_has_AT_HWCAP2.
Bug:
27874785
Change-Id: Ibb39087c5353a0cca7783d39498b370e478fe91c
(cherry picked from commit
78f5eb0498e0bae7f64f749b252aee7e56621b34)
Mingwei Shi [Thu, 12 Nov 2015 07:02:14 +0000 (07:02 +0000)]
libc: implement kernel vdso syscalls for i386
This patch uses __kernel_vsyscall instead of "int 0x80"
as the syscall entry point. AT_SYSINFO points to
an adapter to mask the arch specific difference and gives a
performance boost on i386 architecture.
Bug: http://b/
27533895
Change-ID: Ib340c604d02c6c25714a95793737e3cfdc3fc5d7
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
(cherry picked from commit
be910529322b461148debefd50b9e0d67ae84f8e)
Pierre Imai [Mon, 29 Feb 2016 07:31:55 +0000 (16:31 +0900)]
Copy the entire zero-separated DNS seach domain string.
The DNS search string contains zeros as domain separator. The resolver
code erroneously used strlcpy(), which resulted in only the first domain
to be copied. The code uses pointers into this string to access the
individual domains. Since the structure is zero-initialized, this bug only
resulted in zero-length domains instead of accessing unitialized memory.
BUG:
27312811
Change-Id: Ia9d066c405dfcc5e82d6766d93ead2ce574e7b0d
(cherry picked from commit
0967fc7e59cda0ea2561b0eaa58ed842da7c0eb9)
Dimitry Ivanov [Mon, 28 Mar 2016 23:36:40 +0000 (23:36 +0000)]
Merge "linker: hide the pointer to soinfo" into nyc-dev
Dimitry Ivanov [Mon, 28 Mar 2016 22:39:39 +0000 (22:39 +0000)]
Merge changes Idd0fb06a,Ia17dd540,I96c6592a,I0eacb3f0,I8e2895ec, ... into nyc-dev
* changes:
Do not add linker the _r_debug.r_map on link_image
Improvements to dynamic linker messages
Move gdb support functions to a separate file
Use insert_link_map_into_debug_map for executable
Update a comment for init_linker_info_for_gdb
Initialize linker link_map for gdb directly
Dimitry Ivanov [Thu, 24 Mar 2016 22:30:30 +0000 (15:30 -0700)]
linker: hide the pointer to soinfo
Handle no longer is a pointer to soinfo of
a corresponding library. This is done to
prevent access to linker internal fields.
Bug: http://b/
25593965
Change-Id: I62bff0d0e5b2dc842e6bf0babb30fcc4c000be24
(cherry picked from commit
d88e1f350111b3dfd71c6492321f0503cb5540db)
Dimitry Ivanov [Tue, 1 Mar 2016 23:55:56 +0000 (15:55 -0800)]
Do not add linker the _r_debug.r_map on link_image
Bug: http://b/
27533895
Change-Id: Idd0fb06a5d9f400c0608ae532cc4c575211810fa
(cherry picked from commit
e97d8ed70e44db619de9975a43ed2d1509653d74)
Dimitry Ivanov [Thu, 18 Feb 2016 22:37:44 +0000 (14:37 -0800)]
Improvements to dynamic linker messages
Error messages now include executable name,
also linker doesn't abort if called on itself.
Bug: http://b/
27533895
Change-Id: Ia17dd540919544b28062ed71751a1d79ee865206
(cherry picked from commit
9f0a6954c602e63f85746237e1a333b4571d757d)
Dimitry Ivanov [Thu, 18 Feb 2016 00:08:03 +0000 (16:08 -0800)]
Move gdb support functions to a separate file
Move gdb support functions and variables to
linker_gdb_support.h/cpp
Bug: http://b/
27533895
Change-Id: I96c6592a7055715b18f1137367470fe80987263f
(cherry picked from commit
6b788eeff2ea0019849517e796b762ae790ca142)
Dimitry Ivanov [Wed, 17 Feb 2016 23:25:25 +0000 (15:25 -0800)]
Use insert_link_map_into_debug_map for executable
Use insert_link_map_into_debug_map to insert the main
executable's link_map to r_debug
Bug: http://b/
27533895
Change-Id: I0eacb3f030ea3eb16ed50ad2011d604beece2d03
(cherry picked from commit
f3064e4bc7f4dee351bc2eb9272db3e9792dc683)
Dimitry Ivanov [Wed, 17 Feb 2016 22:13:06 +0000 (14:13 -0800)]
Update a comment for init_linker_info_for_gdb
Bug: http://b/
27533895
Change-Id: I8e2895ecfcc6f77a180c3735342afc93be5923d3
(cherry picked from commit
6400129628ef24adb57fc4822d4fd54b8967701b)
Dimitry Ivanov [Tue, 16 Feb 2016 21:43:35 +0000 (13:43 -0800)]
Initialize linker link_map for gdb directly
Remove unnecessary construction of soinfo when
initializing linker link_map for gdb.
Bug: http://b/
27533895
Change-Id: Idf32cee56309aa9c9cf260efbd17a9deae9a756b
(cherry picked from commit
8d22dd53feddcc7a84e1cc481f171fd4dfe095a1)
Elliott Hughes [Mon, 28 Mar 2016 18:53:12 +0000 (11:53 -0700)]
Don't bother insisting on AT_HWCAP2 for 32-bit devices.
Bug: http://b/
27874785
(cherry picked from commit
900a4dc5a8fcabcc85eb17a0d1ee2295cae7b180)
Change-Id: Ia8c3543c51861030b33f8a4e0c0b88d7cca6e11e
Yabin Cui [Tue, 22 Mar 2016 20:45:55 +0000 (13:45 -0700)]
Fix pthread.pthread_barrier_smoke test.
pthread_barrier_smoke test uses WaitUntilThreadSleep() to wait until
BarrierTestHelper threads sleep in pthread_barrier_wait(). But this
is flaky as there a two futex_wait places in pthread_barrier_wait.
This patch modifies this test to avoid using WaitUntilThreadSleep().
Bug:
27780937
Bug:
27811377
Change-Id: I4c36b82cce9345d5088f8854b289dc5bf7a08e8c
(cherry picked from commit
81d2797e33d6f95c0b79e20ae8a04f2a4f3841cc)
Colin Cross [Fri, 25 Mar 2016 19:54:27 +0000 (19:54 +0000)]
Merge "Update Android.bp to match Android.mk" into nyc-dev
Elliott Hughes [Fri, 25 Mar 2016 15:29:05 +0000 (08:29 -0700)]
Fix the AT_HWCAP2 test.
"I have none of these capabilities" is a legitimate response, and
distinct from "I don't know what my capabilities are". It's the latter
I meant to test for.
Bug: http://b/
27810985
(cherry picked from commit
d4c91124906b6d73a2be336bbd305cd2678e04b2)
Change-Id: I4093948039a658e926e9b5e28d19b1344c70bd0e
Yabin Cui [Tue, 8 Mar 2016 01:44:58 +0000 (17:44 -0800)]
Adjust test to let it pass on libhoudini.
When using libhoudini to run arm code on x86 platforms, we can't
assume the main thread allocates local variables at the stack
declared by kernel.
(cherry picked from commit
61e4d461e5c1c5108fdfe2a9f1edec6717e7461e)
Bug: http://b/
27815309
Change-Id: Ic714a8e633a0bb6e85b38ee0e01e3439d0a0cea5
Colin Cross [Thu, 24 Mar 2016 20:41:30 +0000 (13:41 -0700)]
Update Android.bp to match Android.mk
Change-Id: Ib5bbe66a398734b6db9a40d51f2849d1531853ef
Neil Fuller [Thu, 24 Mar 2016 15:22:09 +0000 (15:22 +0000)]
Revert "Update timezone data to 2016b"
The bionic change merged down from upstream but the
external/icu one didn't.
A replacement change will be submitted along with one for
external/icu.
This reverts commit
7bcee86edcc8cb0f969c719fed9bc3bd04de142f.
Change-Id: I0dd28e02231e6ebba5b61131b22889a1268a0675
Neil Fuller [Tue, 22 Mar 2016 11:30:36 +0000 (11:30 +0000)]
Update timezone data to 2016b
Changes affecting future time stamps
New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan and
Ulyanovsk Oblasts, Russia, both of which will switch from +03 to +04 on
2016-03-27 at 02:00 local time. They need distinct zones since their
post-1970 histories disagree. New zone Asia/Barnaul for Altai Krai and
Altai Republic, Russia, which will switch from +06 to +07 on the same date
and local time. Also, Asia/Sakhalin moves from +10 to +11 on 2016-03-27
at 02:00. (Thanks to Alexander Krivenyshev for the heads-up, and to
Matt Johnson and Stepan Golosunov for followup.)
As a trial of a new system that needs less information to be made up,
the new zones use numeric time zone abbreviations like "+04"
instead of invented abbreviations like "ASTT".
Haiti will not observe DST in 2016. (Thanks to Jean Antoine via
Steffen Thorsen.)
Palestine's spring-forward transition on 2016-03-26 is at 01:00, not 00:00.
(Thanks to Hannah Kreitem.) Guess future transitions will be March's last
Saturday at 01:00, not March's last Friday at 24:00.
Changes affecting past time stamps
Europe/Chisinau observed DST during 1990, and switched from +04 to
+03 at 1990-05-06 02:00, instead of switching from +03 to +02.
(Thanks to Stepan Golosunov.)
1991 abbreviations in Europe/Samara should be SAMT/SAMST, not
KUYT/KUYST. (Thanks to Stepan Golosunov.)
The update produced (apparently benign) warnings from zic as suggested here:
http://mm.icann.org/pipermail/tz-announce/2016-March/000036.html
Bug:
27656428
Change-Id: I31c7805b6fdb458c3ee9e695b3dff7bd003d8cab
Neil Fuller [Tue, 22 Mar 2016 17:30:35 +0000 (17:30 +0000)]
Update timezone data to 2016b
am:
7bcee86
* commit '
7bcee86edcc8cb0f969c719fed9bc3bd04de142f':
Update timezone data to 2016b
Neil Fuller [Tue, 22 Mar 2016 11:30:36 +0000 (11:30 +0000)]
Update timezone data to 2016b
Changes affecting future time stamps
New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan and
Ulyanovsk Oblasts, Russia, both of which will switch from +03 to +04 on
2016-03-27 at 02:00 local time. They need distinct zones since their
post-1970 histories disagree. New zone Asia/Barnaul for Altai Krai and
Altai Republic, Russia, which will switch from +06 to +07 on the same date
and local time. Also, Asia/Sakhalin moves from +10 to +11 on 2016-03-27
at 02:00. (Thanks to Alexander Krivenyshev for the heads-up, and to
Matt Johnson and Stepan Golosunov for followup.)
As a trial of a new system that needs less information to be made up,
the new zones use numeric time zone abbreviations like "+04"
instead of invented abbreviations like "ASTT".
Haiti will not observe DST in 2016. (Thanks to Jean Antoine via
Steffen Thorsen.)
Palestine's spring-forward transition on 2016-03-26 is at 01:00, not 00:00.
(Thanks to Hannah Kreitem.) Guess future transitions will be March's last
Saturday at 01:00, not March's last Friday at 24:00.
Changes affecting past time stamps
Europe/Chisinau observed DST during 1990, and switched from +04 to
+03 at 1990-05-06 02:00, instead of switching from +03 to +02.
(Thanks to Stepan Golosunov.)
1991 abbreviations in Europe/Samara should be SAMT/SAMST, not
KUYT/KUYST. (Thanks to Stepan Golosunov.)
The update produced (apparently benign) warnings from zic as suggested here:
http://mm.icann.org/pipermail/tz-announce/2016-March/000036.html
Bug:
27656428
Change-Id: Ibbf7237344c21d22a0f781f547fbc95b46623ece
Elliott Hughes [Sat, 19 Mar 2016 01:36:04 +0000 (18:36 -0700)]
Add a CTS test to ensure AT_HWCAP2 is reported.
This is important for performance of 32-bit ARM crypto code in apps.
Bug: http://b/
27750752
(cherry picked from commit
ebb4895c68f08bad682f90e66b041f1585d7bafa)
Change-Id: Iec69fe57b93da0480ef3bbd4c9e7882c8aa55011
Christopher Ferris [Wed, 16 Mar 2016 05:39:39 +0000 (22:39 -0700)]
Fix race in malloc debug option free_track.
The free track mechanism could fail if, at the same time a free occurs,
another thread is trying to free and verify the same allocation. This
doesn't work if the freed allocation is added to the list and we still
do work on it. The fix is to only add to the free list when we are done
with the allocation.
Also fix a problem where the usable size is computed incorrectly because
two of the arguments where reversed.
In addition, add a check that the allocation being verified has the correct
tag before trying to check the body of the allocation.
Add a test to catch the original failure.
Add a test for the tag being different.
Bug:
27601650
(cherry picked from commit
d0919623a2ef56107590eca9a9522a250fb8bd4a)
Change-Id: Ie1aa4d9a829da9a96de9b8bd1cc8fc681e9cab15
Christopher Ferris [Mon, 14 Mar 2016 22:29:46 +0000 (15:29 -0700)]
Fix problem where unknown option is not an error.
If the first option is found, then any unknown options are simply
ignored, but do not produce an error. Fixed this so that each
option found is actually verified to exist.
Bug:
27620263
(cherry picked from commit
a4b14252752d14454afb48feb3272e8689e3a66d)
Change-Id: I709774456283879e2a8aa5ce375899eaa79f6bc3
Dimitry Ivanov [Tue, 15 Mar 2016 05:14:23 +0000 (22:14 -0700)]
Remove missing DT_SONAME warning from the toast
Bug: http://b/
27613086
Change-Id: I9410f07dbde002d936319516313b27f9794dd597
Josh Gao [Tue, 15 Mar 2016 01:15:15 +0000 (18:15 -0700)]
Silence false positive warnings on GCC.
We still use GCC to build the bionic unit tests into CTS, and it emits a
false positive -Wmissing-field-initializers warning for the C++11 aggregate
initialization syntax `Foo foo = {}`.
Bug: http://b/
27656293
Change-Id: I016d8dae6d6cd28afe4bc19250c2a8fba908f8e6
(cherry picked from commit
d7878529b80295625df610bd32dadf11d507e8c0)
Christopher Ferris [Fri, 11 Mar 2016 20:27:02 +0000 (12:27 -0800)]
Init functions after debug malloc succeeds.
Do not initialize all of the global function pointers associated with
debug malloc until the initialization has completed correctly.
Bug:
27600760
(cherry picked from commit
20f2c1ebd5b5860e69772b228ccda756eafc1398)
Change-Id: Ibc45213f55be9c8e95fb838b583353cd090c8b88
Colin Cross [Thu, 10 Mar 2016 22:49:50 +0000 (22:49 +0000)]
Merge changes I3f1c1310,Ia8dc3481,I6b19fd63 into nyc-dev
* changes:
malloc_debug: fix multiplication overflow in debug_calloc
malloc_debug: round 0 byte allocations up to 1 byte
malloc_debug: iterate: use usable_size
Josh Gao [Thu, 10 Mar 2016 22:32:34 +0000 (22:32 +0000)]
Merge "debuggerd: rethrow the full signal we receive, always." into nyc-dev
Colin Cross [Thu, 10 Mar 2016 21:01:27 +0000 (13:01 -0800)]
malloc_debug: fix multiplication overflow in debug_calloc
The over flow check for nmemb * bytes in debug_calloc is incorrect,
use the builtin overflow functions to check for multiplication and
addition overflow.
Change-Id: I3f1c13102621bc5380be1f69caa88dba2118f3cb
Josh Gao [Tue, 8 Mar 2016 23:27:15 +0000 (15:27 -0800)]
debuggerd: rethrow the full signal we receive, always.
The previous code assumed that returning would be sufficient to rethrow
signals like SIGSEGV. This is not true, for example, in the case where a
SIGSEGV is sent via kill(2). We were previously only sending the signal
to ourselves in some cases, because using kill(2) would lose information
in the siginfo_t argument. Use rt_tgsigqueueinfo(2) instead to preserve
its contents.
Bug: http://b/
27367422
Change-Id: I1be822818d5905461979c7e12dc4e9c25049273b
(cherry picked from commit
61cf3f3e033d2d7d13b06e0ae009ff12db787860)
Elliott Hughes [Fri, 4 Mar 2016 19:53:09 +0000 (11:53 -0800)]
Improve and fix the stack-protector tests.
Bug: http://b/
26888853
(cherry picked from commit
fc69a8ad5f0d9b63de48e3858fb4811ede7ac64e)
Change-Id: Ibc431076000b9a8db46f68f858480045b03b6e79