Over the last couple of months arm64 community and us have tested various 
aspects of ILP32 toolchain and, while most of toolchain works as expected, 
several features are still missing.  Most of the work left is on GDB side, 
especially using LP64 GDB to debug ILP32 applications.

1. [GCC] GCC sanitizers (ASAN, UBSAN) are not supported for ILP32.

  -- TCWG is working on implementing sanitizer support for ILP32.

2. [GLIBC] LP64 glibc libthread_db does not support ILP32.  This causes 
failures when LP64 GDB is trying to debug ILP32 threaded application.  It is 
expected by users to be able to use LP64 GDB to debug ILP32 applications (LP64 
AArch64 GDB can successfully debug AArch32 applications already!).

  -- Steve, do you plan to work on adding libthread_db support for ILP32?

3. [GDB] Handle ILP32 siginfo layout.  Kernel siginfo layout is different 
between LP64 and ILP32.

4. [GDB] Inferior call passing pointer argument.  GDB may need update to handle 
32-bit pointer vs 64-bit pointer.

5. Handle shared libraries.  GDB needs to read a linked list out of the 
inferior, and that list is about the libraries loaded already.  LP64 and ILP32 
may have different layouts.

6. [GDB] GDB resolves ifunc functions, needs to read auxv (HWCAP) from the 
inferior.  auxv is different on LP64 and ILP32.

7. [GDB] Gdbserver support for ILP32.

--
Maxim Kuvyrkov
www.linaro.org



_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to