Skip to contentSkip to conversation

undefined reference to `__aeabi_uldivmod' after 25c13324d03d ("IB/mlx5: Add steering SW ICM device memory type")

DISCUSSION Nathan Chancellor 7 participants 11 messages May 14, 2019 – May 16, 2019 InfiniBand

lore
Share & tools
lore
#0 lore raw

Hi all,

I checked the RDMA mailing list and trees and I haven't seen this reported/fixed yet (forgive me if it has) but when building for arm32 with multi_v7_defconfig and the following configs (distilled from allyesconfig):

CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_MLX5_CORE=y
CONFIG_MLX5_INFINIBAND=y

The following link time errors occur:

arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/main.o: in function `mlx5_ib_alloc_dm':
main.c:(.text+0x60c): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_alloc_sw_icm':
cmd.c:(.text+0x6d4): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_dealloc_sw_icm':
cmd.c:(.text+0x9ec): undefined reference to `__aeabi_uldivmod'

Bisect log:

git bisect start
# good: [e93c9c99a629c61837d5a7fc2120cd2b6c70dbdd] Linux 5.1
git bisect good e93c9c99a629c61837d5a7fc2120cd2b6c70dbdd
# bad: [63863ee8e2f6f6ae47be3dff4af2f2806f5ca2dd] Merge tag 'gcc-plugins-v5.2-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/kees/linux git bisect bad 63863ee8e2f6f6ae47be3dff4af2f2806f5ca2dd
# good: [80f232121b69cc69a31ccb2b38c1665d770b0710] Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
git bisect good 80f232121b69cc69a31ccb2b38c1665d770b0710
# good: [a2d635decbfa9c1e4ae15cb05b68b2559f7f827c] Merge tag 'drm-next-2019-05-09' of git://anongit.freedesktop.org/drm/drm
git bisect good a2d635decbfa9c1e4ae15cb05b68b2559f7f827c
# bad: [8e4ff713ce313dcabbb60e6ede1ffc193e67631f] Merge tag 'rtc-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux
git bisect bad 8e4ff713ce313dcabbb60e6ede1ffc193e67631f
# good: [055128ee008b00fba14e3638e7e84fc2cff8d77d] Merge tag 'dmaengine-5.2-rc1' of git://git.infradead.org/users/vkoul/slave-dma
git bisect good 055128ee008b00fba14e3638e7e84fc2cff8d77d
# bad: [abde77eb5c66b2f98539c4644b54f34b7e179e6b] Merge branch 'for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
git bisect bad abde77eb5c66b2f98539c4644b54f34b7e179e6b
# good: [3b70508a6bfbdc78b565e9da22fd98483263494e] RDMA/mlx5: Create flow table with max size supported
git bisect good 3b70508a6bfbdc78b565e9da22fd98483263494e
# bad: [e7a5b4aafd82771f8924905c208d5d236ddcb671] RDMA/device: Don't fire uevent before device is fully initialized
git bisect bad e7a5b4aafd82771f8924905c208d5d236ddcb671
# good: [dd05cb828d0ebecd3d772075fccb85ec3618bedf] RDMA: Get rid of iw_cm_verbs
git bisect good dd05cb828d0ebecd3d772075fccb85ec3618bedf
# bad: [a808273a495c657e33281b181fd7fcc2bb28f662] RDMA/verbs: Add a DMA iterator to return aligned contiguous memory blocks git bisect bad a808273a495c657e33281b181fd7fcc2bb28f662
# good: [3a4ef2e2b5cf9a34bcc66c0d33f7eba180a14535] RDMA/rdmavt: Catch use-after-free access of AH structures
git bisect good 3a4ef2e2b5cf9a34bcc66c0d33f7eba180a14535
# bad: [33cde96fb5d7ae36207541c8a832d7fae3cadbde] IB/mlx5: Device resource control for privileged DEVX user
git bisect bad 33cde96fb5d7ae36207541c8a832d7fae3cadbde
# good: [4056b12efd43248d8331b6ed93df5ea5250106a9] IB/mlx5: Warn on allocated MEMIC buffers during cleanup
git bisect good 4056b12efd43248d8331b6ed93df5ea5250106a9
# bad: [25c13324d03d004f9e8071bf5bf5d5c6fdace71e] IB/mlx5: Add steering SW ICM device memory type
git bisect bad 25c13324d03d004f9e8071bf5bf5d5c6fdace71e

# first bad commit: [25c13324d03d004f9e8071bf5bf5d5c6fdace71e] IB/mlx5: Add steering SW ICM device memory type

DIV_ROUND_UP is u64 / u32 in this case. I think DIV_ROUND_UP_ULL is needed but I am not sure if that has any unintended side effects so I didn't want to send a patch.

I would appreciate if you guys could look into this.

Cheers,
Nathan

#1 lore raw
Quoted 13 lines · Nathan Chancellor

Hi all,

I checked the RDMA mailing list and trees and I haven't seen this reported/fixed yet (forgive me if it has) but when building for arm32 with multi_v7_defconfig and the following configs (distilled from allyesconfig):

CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_MLX5_CORE=y
CONFIG_MLX5_INFINIBAND=y

Quoted 8 lines

The following link time errors occur:

arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/main.o: in function `mlx5_ib_alloc_dm':
main.c:(.text+0x60c): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_alloc_sw_icm':
cmd.c:(.text+0x6d4): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_dealloc_sw_icm':
cmd.c:(.text+0x9ec): undefined reference to `__aeabi_uldivmod'

Fengguang, I'm surprised that 0-day didn't report this earlier..

and come to think of it, I haven't seen a success email from 0-day for the rdma trees in some time - is it still working?

Thanks,
Jason

#9 lore raw
In reply to Nathan Chancellor
Quoted 3 lines · Nathan Chancellor

DIV_ROUND_UP is u64 / u32 in this case. I think DIV_ROUND_UP_ULL is needed but I am not sure if that has any unintended side effects so I didn't want to send a patch.

Hmm. Most likely those u64 length's should really be size_t.

Ariel?

Jason

#2 lore raw
In reply to Jason Gunthorpe
Quoted 16 lines · Jason Gunthorpe
Quoted 15 lines · Nathan Chancellor

Hi all,

I checked the RDMA mailing list and trees and I haven't seen this reported/fixed yet (forgive me if it has) but when building for arm32 with multi_v7_defconfig and the following configs (distilled from allyesconfig):

CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_MLX5_CORE=y
CONFIG_MLX5_INFINIBAND=y

The following link time errors occur:

Quoted 8 lines
Quoted 6 lines

arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/main.o: in function `mlx5_ib_alloc_dm':
main.c:(.text+0x60c): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_alloc_sw_icm':
cmd.c:(.text+0x6d4): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_dealloc_sw_icm':
cmd.c:(.text+0x9ec): undefined reference to `__aeabi_uldivmod'

Fengguang, I'm surprised that 0-day didn't report this earlier..

I got many successful emails after I pushed this patch to 0-day testing.

Quoted 6 lines

and come to think of it, I haven't seen a success email from 0-day for the rdma trees in some time - is it still working?

Thanks,
Jason

#10 lore raw
In reply to Jason Gunthorpe
Quoted 6 lines · Jason Gunthorpe
Quoted 3 lines · Nathan Chancellor

DIV_ROUND_UP is u64 / u32 in this case. I think DIV_ROUND_UP_ULL is needed but I am not sure if that has any unintended side effects so I didn't want to send a patch.

Hmm. Most likely those u64 length's should really be size_t.

Indeed, it should be size_t.

Quoted 4 lines

Ariel?

Jason

#3 lore raw
In reply to Leon Romanovsky
Quoted 24 lines · Leon Romanovsky
Quoted 23 lines · Jason Gunthorpe
Quoted 21 lines · Nathan Chancellor

Hi all,

I checked the RDMA mailing list and trees and I haven't seen this reported/fixed yet (forgive me if it has) but when building for arm32 with multi_v7_defconfig and the following configs (distilled from allyesconfig):

CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_MLX5_CORE=y
CONFIG_MLX5_INFINIBAND=y

The following link time errors occur:

arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/main.o: in function `mlx5_ib_alloc_dm':
main.c:(.text+0x60c): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_alloc_sw_icm':
cmd.c:(.text+0x6d4): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_dealloc_sw_icm':
cmd.c:(.text+0x9ec): undefined reference to `__aeabi_uldivmod'

Quoted 3 lines
Quoted 1 line

Fengguang, I'm surprised that 0-day didn't report this earlier..

I got many successful emails after I pushed this patch to 0-day testing.

The long division warnings can compiler specific, and depend on certain optimization options, as compilers can optimize out certain divisions and replace them with multiplications and/or shifts, or prove that they can be replaced with a 32-bit division. If this is a case that gcc manages to optimize but clang does not, it might be worth looking into whether an optimization can be added to clang, in addition to improving the source.

Arnd

#4 lore raw
Quoted 29 lines · Arnd Bergmann
Quoted 24 lines · Leon Romanovsky
Quoted 23 lines · Jason Gunthorpe
Quoted 21 lines · Nathan Chancellor

Hi all,

I checked the RDMA mailing list and trees and I haven't seen this reported/fixed yet (forgive me if it has) but when building for arm32 with multi_v7_defconfig and the following configs (distilled from allyesconfig):

CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_MLX5_CORE=y
CONFIG_MLX5_INFINIBAND=y

The following link time errors occur:

arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/main.o: in function `mlx5_ib_alloc_dm':
main.c:(.text+0x60c): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_alloc_sw_icm':
cmd.c:(.text+0x6d4): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_dealloc_sw_icm':
cmd.c:(.text+0x9ec): undefined reference to `__aeabi_uldivmod'

Quoted 3 lines
Quoted 1 line

Fengguang, I'm surprised that 0-day didn't report this earlier..

I got many successful emails after I pushed this patch to 0-day testing.

Quoted 8 lines

The long division warnings can compiler specific, and depend on certain optimization options, as compilers can optimize out certain divisions and replace them with multiplications and/or shifts, or prove that they can be replaced with a 32-bit division. If this is a case that gcc manages to optimize but clang does not, it might be worth looking into whether an optimization can be added to clang, in addition to improving the source.

Arnd

While I did run initially run into this with clang, the errors above are with gcc (mainly to show this was going to be a universal problem and not just something with clang).

Nathan

#5 lore raw
Quoted 37 lines · Nathan Chancellor
Quoted 27 lines · Arnd Bergmann
Quoted 26 lines · Leon Romanovsky
Quoted 24 lines · Jason Gunthorpe
Quoted 13 lines · Nathan Chancellor

Hi all,

I checked the RDMA mailing list and trees and I haven't seen this reported/fixed yet (forgive me if it has) but when building for arm32 with multi_v7_defconfig and the following configs (distilled from allyesconfig):

CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_MLX5_CORE=y
CONFIG_MLX5_INFINIBAND=y

Quoted 8 lines

The following link time errors occur:

arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/main.o: in function `mlx5_ib_alloc_dm':
main.c:(.text+0x60c): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_alloc_sw_icm':
cmd.c:(.text+0x6d4): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_dealloc_sw_icm':
cmd.c:(.text+0x9ec): undefined reference to `__aeabi_uldivmod'

Fengguang, I'm surprised that 0-day didn't report this earlier..

Quoted 8 lines
Quoted 1 line

I got many successful emails after I pushed this patch to 0-day testing.

The long division warnings can compiler specific, and depend on certain optimization options, as compilers can optimize out certain divisions and replace them with multiplications and/or shifts, or prove that they can be replaced with a 32-bit division. If this is a case that gcc manages to optimize but clang does not, it might be worth looking into whether an optimization can be added to clang, in addition to improving the source.

Quoted 3 lines

While I did run initially run into this with clang, the errors above are with gcc (mainly to show this was going to be a universal problem and not just something with clang).

Which gcc version did you use here? Anything particularly old or particularly new? I think 0-day is on a fairly recent gcc-8, but not the latest gcc-9 release.

Arnd

#6 lore raw
Quoted 39 lines · Arnd Bergmann
Quoted 37 lines · Nathan Chancellor
Quoted 35 lines · Arnd Bergmann
Quoted 24 lines · Leon Romanovsky
Quoted 23 lines · Jason Gunthorpe
Quoted 21 lines · Nathan Chancellor

Hi all,

I checked the RDMA mailing list and trees and I haven't seen this reported/fixed yet (forgive me if it has) but when building for arm32 with multi_v7_defconfig and the following configs (distilled from allyesconfig):

CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_MLX5_CORE=y
CONFIG_MLX5_INFINIBAND=y

The following link time errors occur:

arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/main.o: in function `mlx5_ib_alloc_dm':
main.c:(.text+0x60c): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_alloc_sw_icm':
cmd.c:(.text+0x6d4): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_dealloc_sw_icm':
cmd.c:(.text+0x9ec): undefined reference to `__aeabi_uldivmod'

Quoted 3 lines
Quoted 1 line

Fengguang, I'm surprised that 0-day didn't report this earlier..

I got many successful emails after I pushed this patch to 0-day testing.

The long division warnings can compiler specific, and depend on certain optimization options, as compilers can optimize out certain divisions and replace them with multiplications and/or shifts, or prove that they can be replaced with a 32-bit division. If this is a case that gcc manages to optimize but clang does not, it might be worth looking into whether an optimization can be added to clang, in addition to improving the source.

Quoted 7 lines
Quoted 3 lines

While I did run initially run into this with clang, the errors above are with gcc (mainly to show this was going to be a universal problem and not just something with clang).

Which gcc version did you use here? Anything particularly old or particularly new? I think 0-day is on a fairly recent gcc-8, but not the latest gcc-9 release.

8.2.0 it seems (I've been meaning to build from the 9.x branch though since it appears that Arch's arm-linux-gnueabi-gcc isn't going to get updated since it's in the AUR).

#7 lore raw

CC current 0day kbuild test maintainers Philip and Rong. -fengguang

Quoted 52 lines · Nathan Chancellor
Quoted 39 lines · Arnd Bergmann
Quoted 37 lines · Nathan Chancellor
Quoted 35 lines · Arnd Bergmann
Quoted 24 lines · Leon Romanovsky
Quoted 23 lines · Jason Gunthorpe
Quoted 21 lines · Nathan Chancellor

Hi all,

I checked the RDMA mailing list and trees and I haven't seen this reported/fixed yet (forgive me if it has) but when building for arm32 with multi_v7_defconfig and the following configs (distilled from allyesconfig):

CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_MLX5_CORE=y
CONFIG_MLX5_INFINIBAND=y

The following link time errors occur:

arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/main.o: in function `mlx5_ib_alloc_dm':
main.c:(.text+0x60c): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_alloc_sw_icm':
cmd.c:(.text+0x6d4): undefined reference to `__aeabi_uldivmod'
arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in function `mlx5_cmd_dealloc_sw_icm':
cmd.c:(.text+0x9ec): undefined reference to `__aeabi_uldivmod'

Quoted 3 lines
Quoted 1 line

Fengguang, I'm surprised that 0-day didn't report this earlier..

I got many successful emails after I pushed this patch to 0-day testing.

The long division warnings can compiler specific, and depend on certain optimization options, as compilers can optimize out certain divisions and replace them with multiplications and/or shifts, or prove that they can be replaced with a 32-bit division. If this is a case that gcc manages to optimize but clang does not, it might be worth looking into whether an optimization can be added to clang, in addition to improving the source.

Quoted 7 lines
Quoted 3 lines

While I did run initially run into this with clang, the errors above are with gcc (mainly to show this was going to be a universal problem and not just something with clang).

Which gcc version did you use here? Anything particularly old or particularly new? I think 0-day is on a fairly recent gcc-8, but not the latest gcc-9 release.

8.2.0 it seems (I've been meaning to build from the 9.x branch though since it appears that Arch's arm-linux-gnueabi-gcc isn't going to get updated since it's in the AUR).

#8 lore raw

Hi,

Quoted 75 lines · Fengguang Wu

CC current 0day kbuild test maintainers Philip and Rong. -fengguang

Quoted 72 lines · Nathan Chancellor
Quoted 58 lines · Arnd Bergmann
Quoted 2 lines · Nathan Chancellor
Quoted 1 line · Arnd Bergmann

On Wed, May 15, 2019 at 7:04 AM Leon Romanovsky

Quoted 2 lines · <[email protected]> wrote:
Quoted 2 lines
Quoted 2 lines · Jason Gunthorpe
Quoted 1 line

On Tue, May 14, 2019 at 12:45:10PM -0700, Nathan Chancellor

Quoted 3 lines · wrote:
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines

Hi all,

I checked the RDMA mailing list and trees and I haven't

seen this

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

reported/fixed yet (forgive me if it has) but when

building for arm32

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

with multi_v7_defconfig and the following configs

(distilled from

Quoted 11 lines
Quoted 11 lines
Quoted 11 lines
Quoted 11 lines
Quoted 11 lines

allyesconfig):

CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_MLX5_CORE=y
CONFIG_MLX5_INFINIBAND=y

The following link time errors occur:

arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/main.o:

in function `mlx5_ib_alloc_dm':

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

main.c:(.text+0x60c): undefined reference to

`__aeabi_uldivmod'

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in

function `mlx5_cmd_alloc_sw_icm':

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

cmd.c:(.text+0x6d4): undefined reference to

`__aeabi_uldivmod'

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

arm-linux-gnueabi-ld: drivers/infiniband/hw/mlx5/cmd.o: in

function `mlx5_cmd_dealloc_sw_icm':

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

cmd.c:(.text+0x9ec): undefined reference to

`__aeabi_uldivmod'

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

Fengguang, I'm surprised that 0-day didn't report this

earlier..

Quoted 2 lines
Quoted 2 lines
Quoted 2 lines

I got many successful emails after I pushed this patch to

0-day testing.

Quoted 2 lines
Quoted 2 lines

The long division warnings can compiler specific, and depend on

certain

Quoted 1 line
Quoted 1 line

optimization options, as compilers can optimize out certain

divisions and

Quoted 1 line
Quoted 1 line

replace them with multiplications and/or shifts, or prove that

they can be

Quoted 1 line
Quoted 1 line

replaced with a 32-bit division. If this is a case that gcc

manages to

Quoted 1 line
Quoted 1 line

optimize but clang does not, it might be worth looking into

whether an

Quoted 1 line
Quoted 1 line

optimization can be added to clang, in addition to improving the

source.

Quoted 1 line
Quoted 8 lines
Quoted 1 line

While I did run initially run into this with clang, the errors

above are

Quoted 2 lines

with gcc (mainly to show this was going to be a universal problem and not just something with clang).

Which gcc version did you use here? Anything particularly old or particularly new? I think 0-day is on a fairly recent gcc-8, but not the latest gcc-9 release.

8.2.0 it seems (I've been meaning to build from the 9.x branch though since it appears that Arch's arm-linux-gnueabi-gcc isn't going to get updated since it's in the AUR).

Thanks for the reminding, we met some problems with gcc 8.1.0 once,

then we uses "arm-linux-gnueabi-gcc (Debian 7.2.0-11) 7.2.0" as the default gcc for arm,

It seems we have missed some build issues detected by new gcc. we're going to upgrade gcc ASAP.

Best Regards,
Rong Chen