Compile for Big-Endian ARM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi All,

I'm attempting to use WiMAX Tools and WiMAX Network Service on an Intel IXP-435 processor (ARM-XScale, big-endian).  The kernel is 2.6.36.  The i2400 driver is from the kernel.  The tool-chain is from crosstools-ng and is uClibc based.

The i2400 driver loads and wmx0 is created.

WiMAX Tools cross compiled without any problems.  Endianness and architecture appear to be handled properly.

WiMAX Network Service needed some massaging to compile.  uClibc doesn't support backtrace; the backtrace calls were commented out.  I noticed that BMI_MACHINE_ENDIANNESS_LITTE and BMI_ENDIANNESS_LITTLE were hard coded into Makefile.am/Makefile.in.  This was resolved by fixing up the generated Makefile after running configure.  I noticed that BitmanCommon.h has __ARMCC_VERSION and __arm.  If either of these are defined, WiMAX Network Service fails to compile.  The _packed syntax use doesn't appear to be correct when __arm gets defined.

WiMAX Network Service compiles if __ARMCC_VERSION and __arm are not defined.  The resulting binary produces SIGSEGV in FSM_SetStateIfNotEqual when attempting to get fsm->csLock.  Debugging the problem shows that fsm->csLock is getting corrupted when fsm->hWaitingStateEvent is initialized in FSM_Init.  I assume this might be due to alignment/packing problems.

Has anyone compiled/used WiMAX Tools/Network Service on Big-Endian ARM?

Thanks,
...doug



      


[Index of Archives]     [Linux Kernel]     [Linux Wireless]     [Linux Bluetooth]     [Linux Netdev]     [Linux Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux