← Back to team overview

rohc team mailing list archive

Re: 32-bit Compatibility?

 

Hello,

My name is Alex and I am a newcomer to the mailing list! J

Be welcome Alex!


I have been integrating the RoHC library into a project and it appears
to be working in most cases. However, in order to get it to compile,
we've had to patch several files to replace 64-bit variables with
32-bit variables. If I do not make this patch, the following routines
come up as "undefined":
__aeabi_ul2d
__aeabi_d2ulz
__aeabi_dmul
__aeabi_ddiv
__aeabi_uldivmod

I'm surprised because the 1.7.0 release was tested on an ARM platform.
Maybe due to differences between the 2 ARM cores, or maybe the build chain.


With the patch, the library runs well (with the exception of HTTP and
some other TCP issues on 1.7.0). When the library was compiled and run
on a x86_64 system, all is well.

What patch? I see no attachment. Maybe the mailing list drops it if it
is too large.

The problems with TCP (and by the way HTTP) are well-known. The TCP
profile for the 1.7.x releases is not mature. If you want to test the
TCP profile, prefer using the master branch on github (I've yet to
push a lot of new fixes) :
  https://github.com/didier-barvaux/rohc


I am running:
arm-cortex_a9-linux-gnueabi-gcc (crosstool-NG git+85622fd) 4.8.3
linux kernel 3.0.35
CPU: Freescale i.MX6DS rev1.1 at 792 MHz

On my side, I'm testing with:
 * Feroceon 88FR131 ARMv5l (native compiler)
 * qemu ARM (with custom toolchain)
 * Android NDK + Android 2.x phone (tested with 1.6.x, not for 1.7.0)


Is the RoHC library compatible with a 32-bit architecture or will it
only run on 64-bit systems. Can it be ported to 32-bit?

It should work fine on x86, x86_64, ARM and PPC.


Regards,
Didier



Follow ups

References