Previously, we were relying on linker ordering pulling in minadbd's
copy of services_to_fd instead of libadbd's, which breaks when we
switch to dynamically linking. Separate out libadbd's services into a
separate function that's in a file that isn't built into libadbd, so
that we can provide our own here.
Bug: http://b/111831478
Test: mma
Change-Id: I2479947b2d81db5e750020fffc2c2c770cb31a78
Move the module into a separate directory so that we can export only the
expected header.
With this change, minadbd no longer needs to include bootable/recovery.
Test: mmma -j bootable/recovery
Change-Id: I69b888ceb160a33a67d79c5bda208dc17ad6ed86
'-Wimplicit-function-declaration' is not needed (it's for C89) and
already enabled by -Wall.
For '-Wno-missing-field-initializers', don't see any existing case that
requires the flag.
Test: `mmma -j bootable/recovery` on aosp_{bullhead,marlin}-userdebug.
Change-Id: I46604723087ed9a7747f6cae31a95fc0074c6758
This CL mainly changes:
a) moving the interface in struct provider_vtab to std::function;
b) code cleanup, such as moving the declaration closer to the uses,
using explicit type conversion.
Test: recovery_component_test
Test: minadbd_test
Test: Sideload a package on marlin.
Change-Id: Id0e3c70f1ada54a4cd985b54c84438c23ed4687e
We encountered segfaults in Imgdiff host tests due to the failure to
reset states of getopt. The problem can be solved by switching to use
bionic's gtest where a new process is forked for each test.
Also modify the recovery_component_test to make sure it runs in parallel.
Changes include:
1. Merge the writes to misc partition into one single test.
2. Change the hard coded location "/cache/saved.file" into a configurable
variable.
Bug: 67849209
Test: recovery tests pass
Change-Id: I165d313f32b83393fb7922c5078636ac40b50bc2
clang is the default compiler since Android nougat
Change-Id: I930bba431dc49970cb4491ed5fcf44b5e00e97df
Signed-off-by: Lennart Wieboldt <lennart.1997@gmx.de>
Switch some function signatures to std::string to avoid memory leak.
Bug: 30039381
Test: sideload a package on angler
Change-Id: Iae1e75871a782d6e5d6dde5dcf3f18469eb63f7d
static_cast is preferable to reinterpret_cast when casting from void*
pointers returned by malloc/calloc/realloc/mmap calls.
Discovered while looking at compiler warnings (b/26936282).
Test: WITH_TIDY=1 WITH_STATIC_ANALYZER=1 mma
Change-Id: Iaffd537784aa857108f6981fdfd82d0496eb5592
Merged-In: I151642d5a60c94f312d0611576ad0143c249ba3d
adb_server_main in adb refers to the adb server on the host, not adbd.
Since there doesn't seem to be a good reason to reuse the declaration
from adb's headers, give minadbd a main function of its own.
Change-Id: I748f1a6822dc14c726cb73ef3b533c57a6615608
Distinguish our "services.cpp" more clearly from the regular adbd
"services.cpp", and remove a few useless includes of "sysdeps.h".
Change-Id: Ided4945a3ac5916133322ca7e95fa51add9abaa4
Looks like the mips64 linker isn't as good as the others at GCing
unused stuff, which means it needs libcutils.
Change-Id: I5f768e44514350fb81e5360351db3e9cc4201702
These tests aren't completely representative in that they don't run in
the recovery image. We might want to look in to adding a self-test
option to the recovery UI. Until then, these can be run on a normal
device (which is easier to do anyway).
Bug: 19522788
Change-Id: Idb20feb55d10c62905c2480ab1b61a2e4b5f60d8
services.c:57:12: error: format '%llu' expects argument of type 'long
long unsigned int', but argument 2 has type 'uint64_t' [-Werror=format=]
Change-Id: Ieba691bf9e7a30c8bb38f4e1f36e86b6ea3f8c80
I think everything left now is here to stay (services.c might get
massaged in to libadbd if it gets refactored).
Bug: 17626262
Change-Id: I01faf8b277a601a40e3a0f4c3b8206c97f1d2ce6
adb.h has diverged a bit, so that one will be more involved, but these
three are all trivial, unimportant changes.
Change-Id: Ief8474c1c2927d7e955adf04f887c76ab37077a6