[RFC5 PATCH v6 00/21] ILP32 for ARM64

Yury Norov ynorov at caviumnetworks.com
Fri Mar 18 08:49:18 PDT 2016


On Fri, Mar 18, 2016 at 06:28:29PM +0800, Zhangjian (Bamvor) wrote:
> Hi, Yury
> 
> We are trying to test ilp32 in our arm64 board. But we got more
> failure compare with you. So, I am wondering if we could align
> the test environment with you. The source code we used:
> 

Hi, I mostly use QEMU but Thunder X CPU works similarly. I also
noticed that some tests fail sporadically, and some fail only in
scenario. The current fail list, as for me, is at the bottom.

Below links to my sources.

> 1.  glibc: the new-api branch of glibc from
>     git at code.huawei.com:gnu/norov_glibc.git.

It has few bugfixes:
https://github.com/norov/glibc/tree/new-api

> 
> 2.  Kernel: rfc5 from https://github.com/norov/linux.git. Is the
>     rc6 in your branch is the latest one? From the commit message, I
>     do not find any difference. Is it just a rebase?

https://github.com/norov/linux/tree/pin1
This branch is v4.5 plus
 - Andrew's Thunder X patches (not mandatory);
 - http://comments.gmane.org/gmane.linux.kernel/2116021
 - http://comments.gmane.org/gmane.linux.kernel/2162853
 - current ILP32 (RFC5 + few fixes)

> 
> 3.  Toolchain 4.9.3, could you provide the binary of toolchain(both
>     cross and native, gcc, gdb...)? It may be very useful for me or
>     other guys who interested build their own filesystem from
>     buildroot or something.

I use one Andrew gave me. AFAIK, he's preparing useful package.
Andrew?

I use this cross-toolchain. Find sys-root under aarch64-thunderx-linux-gnu/
https://drive.google.com/file/d/0B93nHerV55yNdXBlVTRLNzF0aFE/view?usp=sharing

> 
> 4.  LTP: master.

Find LTP here:
https://drive.google.com/file/d/0B93nHerV55yNSTlZX3drRTBCaEU/view?usp=sharing

Notice that I configure it with command:
echo $(PREFIX)
        /home/yury/work/toolchain/thunderx-tools/
./configure --host=aarch64 --prefix=/home/yury/work/ltp/ltp \
CC=$(PREFIX)/bin/a arch64-thunderx-linux-gnu-gcc \
AR=$(PREFIX)/bin/aarch64-thunderx-linux-gnu-ar \
STRIP =$(PREFIX)/bin/aarch64-thunderx-linux-gnu-strip \
RANLIB=$(PREFIX)/bin/aarch64-thunderx-linux-gnu-ranlib  \
CFLAGS=-mabi=ilp32 \
LDFLAGS=-mabi=ilp32 -Wl,--rpath=/root/sys-root/libilp32 \
-Wl,--dynamic-linker=/root/sys-root/libilp32/ld-2.21.90.so

Notice that you don't need to place experimental sys-root to system paths,
but path is hardcoded to '/root/sys-root'

> 
> For the glibc part, I found that there are 11 patches of ilp32 in top,
> but the original 28 patches of ilp32 is not in the top, there are more
> than 900 patches between them(referece the list below). Are you
> willing rebase all the ilp32 relative patches. It is very useful for
> reviewing and debugging.  I saw andrew request the account in glibc,
> maybe it has already been in processs?).
> 

I already told there's mess there, and I'd prefer to make things work
first and then do cleanup. 

Yury.

Total Tests: 787
Total Skipped Tests: 25
Total Failures: 24

float_bessel                   FAIL       137
float_exp_log                  FAIL       137
float_iperb                    FAIL       137
float_power                    FAIL       137
float_trigo                    FAIL       137
abort01                        FAIL       2
clone02                        FAIL       4
fcntl11                        FAIL       4
fcntl21                        FAIL       4
kill10                         FAIL       2
kill11                         FAIL       2
mmap16                         FAIL       6
nftw01                         FAIL       1
nftw6401                       FAIL       1
open12                         FAIL       2
pathconf01                     FAIL       1
profil01                       FAIL       11
rename11                       FAIL       2
rmdir02                        FAIL       2
umount2_01                     FAIL       2
umount2_02                     FAIL       2
umount2_03                     FAIL       2
utime06                        FAIL       2
mtest06                        FAIL       11




More information about the linux-arm-kernel mailing list