← Back to team overview

rohc team mailing list archive

Re: rohc: Unknown symbol __aeabi_uldivmod (err 0)

 

Yakir, Mikhail,

> > Building rohc 2.1.0 for armv7 with TI SDK linux kernel 4.4.32.
> >
> > Cross compiling with arm-linux-gnueabihf
> >
> > Getting the missing symbol __aeabi_uldivmod during insmod of
> > rohc.ko.
>
> The library uses 64-bit division. Apparently, compatibility with
> 32-bit cpu is broken for now.
> 
> AFAICS offending functions are is_sn_wraparound and
> rohc_comp_periodic_down_transition.

Thank you for the report. And the analysis :)

I tried to fix the problem in Git branch dev_fix_kernel_master by using
the do_div() function provided by the Linux kernel instead of the
C operator '/':
https://github.com/didier-barvaux/rohc/commits/dev_fix_kernel_master

Does it fix the problem?

I only build-tested it on x86_64 and with an ARM cross-compiler :

$ arm-softfloat-linux-gnueabi-gcc --version
arm-softfloat-linux-gnueabi-gcc (Gentoo 6.1.0) 6.1.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

$ gcc --version
gcc (Gentoo 7.2.0) 7.2.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.


Regards,
Didier


Follow ups

References