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

Re: Big endian in debian ARM



Lennart Sorensen wrote:

I thought the arm procesors (and the xscale) were only little endian
capable.

Even if the arm can do big endian, it certainly isn't something
currently supported and probably won't be.

That's not actually true... there exists (at least) one big-endian distribution for ARM, probably there are others... Lennert Buytenhek maintains a fairly complete port of Fedora core to big-endian ARM. See attached announcement for further details.

Where there is one, others will surely follow...

-Ralph

--- Begin Message ---
(please CC, not on the list)

Hi all,

There's a pretty complete set of FC3 binary packages for big-endian
ARM platforms (such as the Linksys NSLU2) now available at:

	http://skrybele.wantstofly.org/fc3/

Some packages (compat-gcc, evolution, gnomemeeting, and a few others)
are still missing, they will be added when they finish rebuilding.

The patches/ directory contains the patches that were needed to get
everything to build and work on ARM.  Surprisingly little patches
were needed:
- A lot of FC3 packages hardcode usage of -fpie/-pie, which is not
  supported (yet) on ARM.  Attempting to create a position-independent
  executable will fail at the linking stage.  The 00pie/ directory
  contains all patches that were used to conditionally dike -fpie/-pie
  out of the entire distro.  Arguably, this could have been "solved" in
  a nicer way by patching binutils/gcc to ignore the relevant arguments,
  which is of course still not a proper fix.
- glibc-kernheaders needed a set of ARM headers.
- binutils/gcc/glibc needed some patches which are mostly related to
  "all ARMs in the world are little-endian"-assumptions.
- rpm and redhat-rpm-config needed to be taught about ARM, and that
  there can be ARM fedora systems.
- FC3 doxygen doesn't build with g++ 3.4 (needs 3.3.)  I suspect the
  doxygen package wasn't rebuilt after gcc was replaced by 3.4.
- xorg-x11, gmp and openssl also assumed that all ARMs in the world
  are little endian.
- The xorg-x11 spec file and host.def needed some tweaking for ARM.
  Additionally, the file 'slicer.cc' in xorg-x11 triggered a gcc ICE
  (the only file in the distro that does, by the way.)  Work around
  this by compiling xorg-x11 with -O2 instead of -O3, which makes the
  ICE disappear.
- Patch rhpl and util-linux to use __kernel_old_dev_t instead of
  __kernel_dev_t.
- howl and parted needed some extra __attribute__((__packed__)) here
  and there.
- elfutils had -Werror in its compile flags, but contains usage of
  __attribute__ that triggers a warning on ARM.

Most of the upstream bugs have been reported upstream.

I'll start building FC4 once I get gcc 4 to work on ARM...


cheers,
Lennert

--- End Message ---

Reply to: