Some firmware flashing scripts rely on sharutils, which rely on
uudecode/uuencode. Since we're several decades too late to expect
anyone to update sharutils to use base64 instead, and POSIX
includes uudecode/uuencode, let's just support them.
Bug: http://b/31913440
Test: manual
Change-Id: Ia3893de08abfe5b8a8f58349bd298b912fa99e6a
Shows bitness, arch, Android API level (based off crtbrand.o), the BuildID
note, and whether or not the ELF file is stripped.
/system/bin/ndc: ELF shared object, 64-bit LSB arm64, dynamic (/system/bin/linker64), for Android 23, BuildID=b0dbcbd074276683f06dfe65740411dd, stripped
Change-Id: I7d3d0de8c78c646f07ae1054719dc40075ece498
From the commit that stopped creating the symlink:
We should remove the "route" command because its output is irrelevant and
misleading. This is because it only looks at the "main" routing table,
which is a last resort routing table that is a) trumped by all other
networks, b) empty except for directly-connected routes c) cannot even be
used by non-root users.
The proper way to understand device routing is to look at the output of
"ip rule" and "ip route", both of which are already available.
Example of how this is confusing:
$ adb shell route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
160.249.218.72 * 255.255.255.248 U 0 0 0 rmnet_data0
192.168.144.0 * 255.255.240.0 U 0 0 0 wlan0
These aren't guaranteed to be used. For example, according to the output
above 160.249.218.73 should go through rmnet_data0, but it doesn't:
$ adb shell ip route get 160.249.218.73
160.249.218.73 via 192.168.159.254 dev wlan0 src 192.168.159.164 uid 0
cache
Also, there is no default route. But the device has networking just fine:
$ adb shell ip route get 8.8.8.8
8.8.8.8 via 192.168.159.254 dev wlan0 src 192.168.159.164 uid 0
cache
Bug: http://b/27603033
Change-Id: I40be0a7e2841144797a67f9aeb82b9097cec5400
We turned on CFG_TOYBOX_DEBUG so ls would be asan-clean, but that turns out
to have broken mount for non-root users. So let's turn CFG_TOYBOX_DEBUG off
for now, but let's also say that ls should always be asan-clean on Android.
Bug: http://b/26647560
Change-Id: I5392aedd168c1e765e3319e3c76e996040b7e8ab
CONFIG_TOYBOX_NORECURSE means that toybox avoids re-execing where possible.
Unfortunately, this breaks runcon, which requires an exec(2) to have any
effect. Note that this only breaks runcon for toybox commands, and even then
only if you use the bare name (such as "id" rather than "/system/bin/id"),
which is why this went undetected for so long.
Change-Id: Ia02254346800c2c16ac6fc692dc8a79b1ac67f58
047bcb8e7d
only made ls valgrind-clean if CFG_TOYBOX_DEBUG is defined. So let's define
that.
The only other stuff this turns on is various bits of error checking that it
doesn't seem unreasonable to run with. If this becomes a problem in future,
we can lobby to have CFG_TOYBOX_VALGRIND_CLEAN broken out of
CFG_TOYBOX_DEBUG.
Change-Id: I8f89459d50f0fc976b225f1bfa01f55ac85de4b5
Now we're manually editing .config because we gave up on the repeated
breakage running the script on the host, we don't need to have a fake
<shadow.h>, and we can fix uptime so we don't need a <utmpx.h> either.
Change-Id: If371bb85bd44fec01362f7fbbbfc392bd2cdfe29
Also temporarily stop building pending/ps.c --- it's under construction
and doesn't currently build with clang.
Change-Id: Ie83dc65be22df5850b08569ebb1b88d26155aca5
This is a better alternative to the toybox ps' simple name filtering.
It's much more scriptable too. And pkill makes one of the common uses
directly available.
Change-Id: I92529b68edd136fb8676029abbcc3a9c4d56f218