This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Problem with 64-bit variables on ppc405


Dear All,

I have successfully build crosstools (gcc-4.0.2-glibc-2.3.2) for my ppc 405 processor.
I have compiled the Linux kernel 2.6.23rc2 and busy box 1.4.2.

All together works fin but I am facing the problem with the variables
declared in C as double and long long.

Doubles and long long are 8 bytes long but the byte order 
differs on my host linux Intel PC from this what I have on the target linux ppc 405.

double , long long byte order looks like below:

linux intel x86                           ppc405

1,2,3,4,5,6,7,8                          5,6,7,8,1,2,3,4

int and long types in 'C' (4 byte variables) have the same byte order on both platforms.

It seems to be that 64-bit variables have different order. I do not know if it comes from:

1. the configuration of the crosstools (ie. the way how the gcc and glibc is built)
2. the kernel configuration.

The ppc 405 does not have the FPU built in so I have set in the kernel:
 processor->math emulation

I did not set any thing concerning FPU in Crosstools.

The Crosstools configuration file demo-powerpc-405.sh looks like:

#!/bin/sh
# This script has one line for each known working toolchain
# for this architecture.  Uncomment the one you want.
# Generated by generate-demo.pl from buildlogs/all.dats.txt

set -ex
TARBALLS_DIR=$HOME/downloads
RESULT_TOP=/opt/crosstool
export TARBALLS_DIR RESULT_TOP
GCC_LANGUAGES="c,c++"
export GCC_LANGUAGES

# Really, you should do the mkdir before running this,
# and chown /opt/crosstool to yourself so you don't need to run as root.
mkdir -p $RESULT_TOP

eval `cat powerpc-405.dat gcc-4.0.2-glibc-2.3.2.dat` sh all.sh --notest

Does anybody have an idea how to sort out this problem to have byte order for
64-bit variables on ppc405 the same as for linux on intel x86.

Best Regards

Mirek

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]