Subject: Make linux kernel error...

From: "Moya" <[email-masked]>
Date: Tue, 25 Apr 2000 17:00:36 +0800

Hi!

            I try to make a linux kernel in Big-endian mode.
            I change the Makefile as follow:
            LINKFLAGS       = -EB
            LDFLAGS         = -EB
            CFLAGS
= -Wall -mbig-endian -Wstrict-prototypes -O2 -fomit-frame-pointer
            But I can't make the kernel successful.
            The error messages are as follow:

    make[2]: Leaving directory `/source/linux/arch/arm/lib'

armv4b-unknow-linux-gcc -D__KERNEL__ -I/source/linux/include  -mapcs-32 -msh
ort-

load-bytes -mcpu=strongarm110 -Wall -mbig-endian -Wstrict-prototypes -O2  -f
no-s
    trict-aliasing -pipe -g   -DEXPORT_SYMTAB -c armksyms.c

armv4b-unknow-linux-gcc -D__KERNEL__ -I/source/linux/include  -mapcs-32 -msh
ort-

load-bytes -mcpu=strongarm110 -Wall -mbig-endian -Wstrict-prototypes -O2  -f
no-s
    trict-aliasing -pipe -g -D__ASSEMBLY__ -c entry-armv.S -o entry-armv.o
    entry-armv.S: Assembler messages:
    entry-armv.S:623: Error: address offset too large
    entry-armv.S:625: Error: Invalid constant
    entry-common.S:20: Error: address offset too large
    entry-common.S:23: Error: address offset too large
    entry-common.S:85: Error: address offset too large
    make[1]: *** [entry-armv.o] Error 1
    make[1]: Leaving directory `/source/linux/arch/arm/kernel'
    make: *** [_dir_arch/arm/kernel] Error 2

        It told me  address offset too large?
        How to handle this situation?
        thank you very much............

    Moya

****************************************************************************
**
        P.s.  My toolchains and linux version are:
               binutils-2.9.5.0.29.tar.gz
               gcc-2.95.2.tar.gz
               gcc-2.95.2-diff-991022.gz
               glibc-2.1.3.tar.gz
               glibc-linuxthreads-2.1.3.tar.gz
               glibc-crypt-2.1.3.tar.gz
               linux-2.2.12.tar.gz
               linux-2.2.12rmk1-cvs990915.diff.gz

unsubscribe: body of `unsubscribe linux-arm-kernel' to [email-masked]

---

From: Xavier DEBREUIL <[email-masked]>
Date: Tue, 25 Apr 2000 13:28:57 +0200

Hello,
this message has been posted in the uclinux mailing list.
I did have the same problem...
If you have the same files, maybe it comes form the perl one.

Philip Blundell wrote:
> 
> >#define _current       _current_set
> >#define TSS_SAVE       -1274937344
> 
> Have you added -EB to $(OBJDUMP)?  Until the binutils properly support
> big-endian this will be necessary.
> 
> p.

Thank you Philip but this option does not solve my problem :
We tried to add this option in the perl file but had the same result.
We found an odd thing in the extractinfo.perl : the swapdata function is not
valid for big endian code...
the line :
        return substr($num, 6, 2).substr($num, 4, 2).substr ($num, 2, 2).substr
($num,
0, 2);
was replaced by the line :
        return substr($num, 0, 2).substr($num, 2, 2).substr ($num, 4, 2).substr
($num,
6, 2);

and then it is ok.

Xavier