Invoking Android assembler fails

abcd270
Opened by Brian Anderson at 2013-06-29 07:16:46

Configured with ../configure --android-cross-path=~/dev/android-standalone-ndk-14 --target-triples=arm-linux-androideabi

compile_and_link: x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.so
error: building with `/home/brian/dev/android-standalone-ndk-14/bin/arm-linux-androideabi-gcc` failed with code 1
note: /home/brian/dev/android-standalone-ndk-14/bin/arm-linux-androideabi-gcc arguments: -c -o x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.o x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s
note: x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s: Assembler messages:
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:438388: Error: Missing symbol name in directive
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:438388: Error: unrecognized symbol type ""
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:438451: Error: expected comma after name `' in .size directive
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439187: Error: Missing symbol name in directive
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439187: Error: unrecognized symbol type ""
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439251: Error: expected comma after name `' in .size directive
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439332: Error: Missing symbol name in directive
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439332: Error: unrecognized symbol type ""
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439395: Error: expected comma after name `' in .size directive
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439455: Error: Missing symbol name in directive
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439455: Error: unrecognized symbol type ""
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439459: Error: expected comma after name `' in .size directive
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439485: Error: Missing symbol name in directive
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439485: Error: unrecognized symbol type ""
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439549: Error: expected comma after name `' in .size directive
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439579: Error: Missing symbol name in directive
x86_64-unknown-linux-gnu/stage2/lib/rustc/arm-linux-androideabi/lib/libstd.s:439579: Error: unrecognized symbol type ""
  1. I found that #7272 does not properly emit some information for android assembler. keep digging @Aatch do you have any idea to fix this ?

    yichoi at 2013-06-29 00:44:42

  2. some symbol starts with @, which arm as cannot recognize it

    [error]

    .type   @reflect_3A__3A_MovePtrAdaptor_3C_repr_3A__3A_ReprVisitor_3E__vtable_10842,%object
    ...
    .size   @reflect_3A__3A_MovePtrAdaptor_3C_repr_3A__3A_ReprVisitor_3E__vtable_10842, 240
    

    [orig]

    .type   vtable_10844,%object
    ...
    .size   vtable_10844, 240
    

    yichoi at 2013-06-29 03:02:58

  3. @yichoi Ok, I know what the issue is now. I changed the naming of the vtables, since they are internal, in order to make it easier to debug. So they now have the type attached. Apparently the @'s don't get changed the same way the '<' and '>'s do.

    I'll get on it.

    James Miller at 2013-06-29 04:31:09

  4. works with below patch https://gist.github.com/yichoi/5889821

    yichoi at 2013-06-29 04:40:19