Bug#976891: [Android-tools-devel] Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-30 Thread Chirayu Desai
>From a quick check it looks the asm for ARM is present, it's just put
directly in the header
x86/mips (and their 64-bit variants) have AsmGetRegs*.S
arm and aarch64 has it in the header file,
see:
https://android.googlesource.com/platform/system/core/+/refs/tags/android-10.0.0_r1/libunwindstack/include/unwindstack/RegsGetLocal.h


On Thu, Dec 31, 2020 at 5:19 AM Hans-Christoph Steiner  wrote:

> also, it looks like libunwindstack uses asm and there isn't any for ARM.
>   So if someone wants to keep the arm packages, they'll need to figure
> that out.  I have zero asm skills.
>


Bug#976891: [Android-tools-devel] Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-30 Thread Hans-Christoph Steiner
also, it looks like libunwindstack uses asm and there isn't any for ARM. 
 So if someone wants to keep the arm packages, they'll need to figure 
that out.  I have zero asm skills.




Bug#976891: [Android-tools-devel] Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-30 Thread Hans-Christoph Steiner




Roger Shimizu:

On Wed, Dec 30, 2020 at 3:46 AM Hans-Christoph Steiner  wrote:


Ok, I fixed the dependency issue, now it gets reliably to the point rosh
gets to:


Thanks for fixing the build dependency issue!
I fixed a few other issues (operator script & mterp generation, etc),
and pushed to rosh/refine branch.

Current build breaking point is the same as previous one.
I tried to use different c++ library, such as libstdc++-8-dev, and
clang-9, but seems no help.


I have android-platform-art building as a stage1 now, so I'm working 
again on android-platform-system-core.  I haven't found where these 
symbols are supposed to come from:


clang++ fastboot/bootimg_utils.cpp fastboot/fastboot.cpp 
fastboot/fastboot_driver.cpp fastboot/fs.cpp fastboot/main.cpp 
fastboot/socket.cpp fastboot/tcp.cpp fastboot/udp.cpp 
fastboot/usb_linux.cpp fastboot/util.cpp fs_mgr/liblp/builder.cpp 
fs_mgr/liblp/images.cpp fs_mgr/liblp/partition_opener.cpp 
fs_mgr/liblp/reader.cpp fs_mgr/liblp/utility.cpp fs_mgr/liblp/writer.cpp 
-o fastboot/fastboot -g -O2 
-fdebug-prefix-map=/build/android-platform-system-core-10.0.0+r36=. 
-fstack-protector-strong -Wformat -Werror=format-security -fPIC 
-std=gnu++2a -fpermissive -Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG 
-UDEBUG -I/usr/include/android -DPLATFORM_TOOLS_VERSION='"28.0.2"' 
-Iinclude -Imkbootimg/include/bootimg -Iadb -Ibase/include 
-Idemangle/include -Idiagnose_usb/include -Ifs_mgr/include 
-Ifs_mgr/include_fstab -Ifs_mgr/liblp/include -I/usr/include/android 
-I/usr/include/android/f2fs_utils -I/usr/include/android/openssl 
-Ilibsparse/include -Ilibziparchive/include -Wl,-z,relro -Wl,-z,now 
-fPIC -Wl,-rpath=/usr/lib/x86_64-linux-gnu/android -Wl,-rpath-link=. -L. 
-lziparchive -lsparse -lbase -lcutils -ladb -lutils -lssl -lcrypto 
-L/usr/lib/x86_64-linux-gnu/android -lart -l7z -lunwind
/usr/bin/ld: /tmp/utility-794e29.o: in function 
`android::fs_mgr::GetDescriptorSize(int, unsigned long*)':
./fs_mgr/liblp/utility.cpp:49: undefined reference to 
`get_block_device_size'
/usr/bin/ld: ./libbacktrace.so.0: undefined reference to `typeinfo for 
art_api::dex::DexFile'


Check my forks for the most current commits:
https://salsa.debian.org/eighthave/android-platform-art
https://salsa.debian.org/eighthave/android-platform-system-core

.hc



Bug#976891: [Android-tools-devel] Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-30 Thread Roger Shimizu
On Wed, Dec 30, 2020 at 3:46 AM Hans-Christoph Steiner  wrote:
>
> Ok, I fixed the dependency issue, now it gets reliably to the point rosh
> gets to:

Thanks for fixing the build dependency issue!
I fixed a few other issues (operator script & mterp generation, etc),
and pushed to rosh/refine branch.

Current build breaking point is the same as previous one.
I tried to use different c++ library, such as libstdc++-8-dev, and
clang-9, but seems no help.

Cheers,
-- 
Roger Shimizu, GMT +9 Tokyo
PGP/GPG: 4096R/6C6ACD6417B3ACB1



Bug#976891: [Android-tools-devel] Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-29 Thread Hans-Christoph Steiner

Hans-Christoph Steiner:

It looks like the clean build stops before the error you reported:

https://salsa.debian.org/eighthave/android-platform-art/-/jobs/1291335

In file included from runtime/runtime.cc:53:
runtime/asm_support.h:24:10: fatal error: 'asm_defines.h' file not found
#include "asm_defines.h"
  ^~~
1 error generated.
make[2]: *** [debian/libart.mk:473: runtime/runtime.o] Error 1

My guess is that the Makefile dependency rules are wrong, since the 
target that builds asm_defines.h works fine when manually run.


If you use your own fork, and force-push commits to your fork's master 
branch, it'll run the CI jobs, which are totally clean builds each time.


Ok, I fixed the dependency issue, now it gets reliably to the point rosh 
gets to:


https://salsa.debian.org/eighthave/android-platform-art/-/jobs/1291535

.hc



Bug#976891: [Android-tools-devel] Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-29 Thread Hans-Christoph Steiner

It looks like the clean build stops before the error you reported:

https://salsa.debian.org/eighthave/android-platform-art/-/jobs/1291335

In file included from runtime/runtime.cc:53:
runtime/asm_support.h:24:10: fatal error: 'asm_defines.h' file not found
#include "asm_defines.h"
 ^~~
1 error generated.
make[2]: *** [debian/libart.mk:473: runtime/runtime.o] Error 1

My guess is that the Makefile dependency rules are wrong, since the 
target that builds asm_defines.h works fine when manually run.


If you use your own fork, and force-push commits to your fork's master 
branch, it'll run the CI jobs, which are totally clean builds each time.




Bug#976891: [Android-tools-devel] Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-27 Thread Roger Shimizu
On Thu, Dec 24, 2020 at 6:33 AM Hans-Christoph Steiner  wrote:
>
> As far as I know, the blocker for fastbook is android-platform-art.  It
> has a crazy upstream build system.  Right now, it almost building, but
> the build is currently dying on this error:

I fixed the above issue by branch "rosh/refine".
And current error is:

In file included from runtime/stack_map.cc:17:
In file included from runtime/stack_map.h:22:
In file included from libartbase/arch/instruction_set.h:21:
In file included from
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/string:40:
In file included from
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/char_traits.h:39:
In file included from
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/stl_algobase.h:64:
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/stl_pair.h:218:11:
error: field has incomplete type 'art::Stats'
  _T2 second;///< The second member
  ^
/usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/ext/aligned_buffer.h:91:28:
note: in instantiation of template class 'std::pair' requested here
: std::aligned_storage
   ^

Cheers,
-- 
Roger Shimizu, GMT +9 Tokyo
PGP/GPG: 4096R/6C6ACD6417B3ACB1



Bug#976891: [Android-tools-devel] Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-23 Thread Hans-Christoph Steiner
As far as I know, the blocker for fastbook is android-platform-art.  It 
has a crazy upstream build system.  Right now, it almost building, but 
the build is currently dying on this error:


clang++ -o runtime/compiler_filter.o -g -O2 
-fdebug-prefix-map=/build/android-platform-art-10.0.0+r36=. 
-fstack-protector-strong -Wformat -Werror=format-security -fPIC -c 
-std=gnu++17 -Wno-invalid-offsetof -Wno-invalid-partial-specialization 
-D__STDC_FORMAT_MACROS -D__STDC_CONSTANT_MACROS -fno-rtti 
-fstrict-aliasing -fvisibility=protected -fno-omit-frame-pointer 
-Wdate-time -D_FORTIFY_SOURCE=2 -DNDEBUG -I/usr/include/android -UDEBUG 
-Umips -DART_BASE_ADDRESS_MAX_DELTA=0x100 
-DART_BASE_ADDRESS_MIN_DELTA=-0x100 -DART_BASE_ADDRESS=0x6000 
-DART_DEFAULT_COMPACT_DEX_LEVEL=fast -DART_DEFAULT_GC_TYPE_IS_CMS 
-DART_ENABLE_ADDRESS_SANITIZER=1 -DART_ENABLE_CODEGEN_arm 
-DART_ENABLE_CODEGEN_arm64 -DART_ENABLE_CODEGEN_mips 
-DART_ENABLE_CODEGEN_mips64 -DART_ENABLE_CODEGEN_x86 
-DART_ENABLE_CODEGEN_x86_64 -DART_FRAME_SIZE_LIMIT=1736 
-DART_READ_BARRIER_TYPE_IS_BAKER=1 -DART_STACK_OVERFLOW_GAP_arm=8192 
-DART_STACK_OVERFLOW_GAP_arm64=8192 -DART_STACK_OVERFLOW_GAP_mips=16384 
-DART_STACK_OVERFLOW_GAP_mips64=16384 
-DART_STACK_OVERFLOW_GAP_x86_64=8192 -DART_STACK_OVERFLOW_GAP_x86=8192 
-DART_USE_READ_BARRIER=1 -DBUILDING_LIBART=1 -DIMT_SIZE=43 
-DUSE_D8_DESUGAR=1 -I. -I/usr/include/android/nativehelper 
-I/usr/include/valgrind -Icmdline -Iruntime -Iruntime/generated 
-Ilibartbase -Ilibartpalette/include -Ilibdexfile -Ilibelffile 
-Ilibprofile -Isigchainlib -I/usr/include/android 
-Itools/cpp-define-generator -Idebian/out  runtime/compiler_filter.cc

In file included from tools/cpp-define-generator/asm_defines.cc:36:
In file included from tools/cpp-define-generator/asm_defines.def:21:
In file included from tools/cpp-define-generator/globals.def:23:
In file included from runtime/gc/accounting/card_table.h:22:
In file included from runtime/base/locks.h:25:
In file included from libartbase/base/atomic.h:27:
In file included from libartbase/base/macros.h:24:
/usr/include/android/android-base/thread_annotations.h:139:42: error: 
'acquire_capability' attribute requires arguments whose type is 
annotated with 'capability' attribute; type here is 'std::mutex' 
[-Werror,-Wthread-safety-attributes]

  ScopedLockAssertion(std::mutex& mutex) ACQUIRE(mutex) {}
 ^
/usr/include/android/android-base/thread_annotations.h:57:37: note: 
expanded from macro 'ACQUIRE'

  THREAD_ANNOTATION_ATTRIBUTE__(acquire_capability(__VA_ARGS__))
^
In file included from tools/cpp-define-generator/asm_defines.cc:36:
In file included from tools/cpp-define-generator/asm_defines.def:21:
In file included from tools/cpp-define-generator/globals.def:23:
In file included from runtime/gc/accounting/card_table.h:23:
libartbase/base/mem_map.h:71:35: error: 'requires_capability' attribute 
requires arguments whose type is annotated with 'capability' attribute; 
type here is 'bool' [-Werror,-Wthread-safety-attributes]

  MemMap(MemMap&& other) noexcept REQUIRES(!MemMap::mem_maps_lock_);
  ^
/usr/include/android/android-base/thread_annotations.h:51:37: note: 
expanded from macro 'REQUIRES'



A full build log is available here:
https://salsa.debian.org/android-tools-team/android-platform-art/-/jobs/1274438



Bug#976891: [Android-tools-devel] Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-23 Thread Chirayu Desai
Hello,

On Wed, Dec 23, 2020 at 10:12 PM Roger Shimizu  wrote:

> On Wed, Dec 23, 2020 at 5:38 AM Hans-Christoph Steiner 
> wrote:
> >
> > Thanks for jumping in Roger!  I reviewed it with cdesai, and we thought
> > those libraries were not used on the "host" version, only when built as
> > part of Android OS.  I do think libfec would be useful if someone wants
> > to package adbd for Debian.  The Google Android Tools builds do not
> > include adbd for the host, only for the Android OS.
>
> I uploaded my current work to branch rosh/fastboot
> and build log can be checked by:
> -
> http://debomatic-amd64.debian.net/distribution#unstable/android-platform-system-core/10.0.0+r36-1~stage2/buildlog
>
> From the build log, I think fastboot still depends on fs_mgr,
> which depends on the new libs I mentioned previously (such as
> android-libfec).
>

We discussed this on the channel previously, #debian-android-tools
I was trying to link logs from matrix but it couldn't work.

Anyway, from the discussion, only 'fastbootd' depends on 'fs_mgr' which is
what depended on 'libfec_rs'.
'fastbootd' is 'recovery: true' in the Android.bp, which means it's meant
to run in the recovery environment on an Android device. Anything we're
building / packaging here should be marked as 'host_supported: true' or a
`*_host*` target - otherwise the code is only meant to run on the device.


>
> Maybe you have workaround not building fs_mgr completely, but
> currently I don't have no idea.
>
> > Right now, the only blocker I know about is the assembler code in
> > android-platform-art, which Michel and I are working on now.
>
> Yes, I also noticed this part lately.
> Hope you have good news on this.
>
> Cheers
> --
> Roger Shimizu, GMT +9 Tokyo
> PGP/GPG: 4096R/6C6ACD6417B3ACB1
>
> ___
> Android-tools-devel mailing list
> android-tools-de...@alioth-lists.debian.net
>
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/android-tools-devel


Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-23 Thread Roger Shimizu
On Wed, Dec 23, 2020 at 5:38 AM Hans-Christoph Steiner  wrote:
>
> Thanks for jumping in Roger!  I reviewed it with cdesai, and we thought
> those libraries were not used on the "host" version, only when built as
> part of Android OS.  I do think libfec would be useful if someone wants
> to package adbd for Debian.  The Google Android Tools builds do not
> include adbd for the host, only for the Android OS.

I uploaded my current work to branch rosh/fastboot
and build log can be checked by:
- 
http://debomatic-amd64.debian.net/distribution#unstable/android-platform-system-core/10.0.0+r36-1~stage2/buildlog

>From the build log, I think fastboot still depends on fs_mgr,
which depends on the new libs I mentioned previously (such as android-libfec).

Maybe you have workaround not building fs_mgr completely, but
currently I don't have no idea.

> Right now, the only blocker I know about is the assembler code in
> android-platform-art, which Michel and I are working on now.

Yes, I also noticed this part lately.
Hope you have good news on this.

Cheers
-- 
Roger Shimizu, GMT +9 Tokyo
PGP/GPG: 4096R/6C6ACD6417B3ACB1



Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-22 Thread Hans-Christoph Steiner



Thanks for jumping in Roger!  I reviewed it with cdesai, and we thought 
those libraries were not used on the "host" version, only when built as 
part of Android OS.  I do think libfec would be useful if someone wants 
to package adbd for Debian.  The Google Android Tools builds do not 
include adbd for the host, only for the Android OS.


Right now, the only blocker I know about is the assembler code in 
android-platform-art, which Michel and I are working on now.




Bug#976891: fastboot exits with "fake placeholder until fastboot builds" message

2020-12-22 Thread Roger Shimizu
I'm trying to restore fastboot back to build for 1:10.0.0+r36-1~stage1.3
however, seems there're a few new dependencies.

one is android-libfec inside src:android-platform-system-extras
I already uploaded to NEW queue.

another two is:
- https://android.googlesource.com/platform/external/avb
- https://android.googlesource.com/platform/system/vold

Hope we can still catch up with bullseye...

Cheers,
-- 
Roger Shimizu, GMT +9 Tokyo
PGP/GPG: 4096R/6C6ACD6417B3ACB1