Subject: Hello. I have a question about dev. tool target name.

From: 차현준 <[email-masked]>
Date: Fri, 10 Mar 2000 04:17:12 +0900

Hello, all.

I'm a newbie Korean linuxer - specifically to arm linux.

Since I'm working on the embedded linux project for ARM, I have to build cross toolchains.

After lots of trouble I've built it successfully with many advices from 

http://inkvine.fluff.org/~chris/arm-tools.html

Yes. I could build the Linux kernel 2.2.14 with patch-rmk4 successfully.

But the vmlinux image was elf-32littlearm format and the evaluation board engineer said that I have to build a big-endian image.

So I've fiddled out Makefiles and Rules.make to add  -mbig-endian switch to gcc and -EB switch to ld.

And finally got error about arch/arm/lib/extractconstants.pl with objdump output of big-endian compiled objects.

I've been reaching big-endian kernel image ( Yes, It's the goal ) ...

But I had a doubt that "Is this kind of things right? If I have a toolchain configured to support big-endian default?"

So I returned to web-life, finding any information... then I've got information from the web page mentioned at the beginning.

It's the target name.

In "Picking a target name" section from the web page...

Not only arm, but armv4l and armv4b are also target names.

I've tried it on binutils-2.9.5.0.29 first, but got errors like this.

-----------------------------------------------------------
[root@fraser binutils-2.9.5.0.29]# pwd
/home/cross-compiler/object_dir/binutils-2.9.5.0.29
[root@fraser binutils-2.9.5.0.29]# /home/cross-compiler/source_dir/binutils-2.9
.5.0.29/configure --target=armv4b-linux --prefix=/usr/cross-compiler/tool_dir/h
ost/sparc-sun-solaris-for-arm/
Configuring for a sparc-sun-solaris2.6 host.
Invalid configuration `armv4b-linux': machine `armv4b' not recognized
Unrecognized target system name armv4b-linux.
------------------------------------------------------------

What's the point of problem? Are there any patches to support armv4b? Is the word "armv4b" badly located?

Please answer.

Thanks in advance. 

Have a nice day.
�{.n�+���n�r���˛���m�b���j�������ݢj�����������n���y��ǥ�{�����G�����+-�����b�������G���G������Z��]��.�Ȩ���

---

From: Philip Blundell <[email-masked]>
Date: Thu, 09 Mar 2000 21:26:49 +0000

>But the vmlinux image was elf-32littlearm format and the evaluation 
>board engineer said that I have to build a big-endian image.

I don't know of anybody else using Linux on a big-endian ARM.  The kernel 
sources in CVS have at least some token support for big-endian compilation
but it is completely untested.

>Invalid configuration `armv4b-linux': machine `armv4b' not recognized

This is a bug in binutils (more specifically, in the config.sub script).  I 
will try to get it fixed.  You could try `armeb-linux' in the meantime; that 
might possibly have the desired effect.

p.

unsubscribe: body of `unsubscribe linux-arm' to [email-masked]
++        Please use [email-masked] for           ++
++                        kernel-related discussions.                      ++

---

From: Nicolas Pitre <[email-masked]>
Date: Thu, 9 Mar 2000 16:16:41 -0500 (EST)

> But the vmlinux image was elf-32littlearm format and the evaluation board engineer said that I have to build a big-endian image.

Why would you absolutely need big endian?  ARM processors are able to do
both and current Linux kernels expects little endian.

Nicolas

---

From: Jon Olson <[email-masked]>
Date: Thu, 9 Mar 2000 16:36:52 -0700

>And finally got error about arch/arm/lib/extractconstants.pl with objdump output of big-endian compiled objects.

Once upon a time I tried to build big-endian GNU ARM tools for embedded use.
I didn't really need big endian but I just preferred it since all our other
microprocessors are big endian.  At the time (and I doubt if this has changed
since), binutils didn't deal with big-endian correctly ARM since the BFD 
library assumes a single endianness for all relocations, both data and
instruction.  Turns out that for a big endian ARM, you must treat data as
big endian but instructions as little endian.  Binutils just plain can't handle
this.

-- 
Jon Olson, Modular Mining Systems
	   3289 E. Hemisphere Loop
	   Tucson, AZ 85706
INTERNET:  [email-masked]
PHONE:     (520)746-9127
FAX:       (520)889-5790

---

From: Philip Blundell <[email-masked]>
Date: Fri, 10 Mar 2000 07:02:10 +0000

>both and current Linux kernels expects little endian.

There is some hardware out there that is big-endian only.  A lot of the 
Samsung products seem to prefer big endian operation for example.

p.

---

From: xavier debreuil <[email-masked]>
Date: Fri, 10 Mar 2000 09:25:51 +0100

> ++                        kernel-related discussions.                      ++

Yes, I am working on the KS17C4000 from Samsung and I need to produce a big
endian code since Samsung's microcontroller are big endian. I do not know for
the moment if the kernel is able to run on this very processor but I looking at
it. Moreover, since it is a mmuless microcontroller, this will be also treated
in the uclinux-arm mailing list.
But I also want to know if this problem can be solved or it will be a hard work
to do with it ?

Thank you very much.