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

Re: building xfree86 4 for debian/arm



>>>>> "Peter" == Peter Maydell <maydell@tao-group.com> writes:

    Peter> I tried putting together some patches based on a
    Peter> combination of the 3.x ARM patches and the 4.0 patches for
    Peter> other non-x86 architectures; it's now falling over with a
    Peter> compile error in elfloader.c. It looks like the dynamic
    Peter> loader has no ARM support at all, and I don't think I can
    Peter> get away with just adding "|| defined(__arm__)" to cpp
    Peter> conditionals for this one :->

I have been playing with this for the last couple of weeks.
After getting elfloader.c to compile with the most common relocation
types (R_ARM_ABS32, R_ARM_REL32, R_ARM_PC24) defined, there are still
a couple outstanding:

	(II) Loading /usr/X11R6/lib/modules/fonts/libbitmap.a
	Elf_RelocateEntry() Unsupported relocation type 56
	Elf_RelocateEntry() Unsupported relocation type 24


24 happens to be:

	#define R_ARM_GOTOFF		24	/* 32 bit offset to GOT */

By itself this is pretty odd, but #56 is simply not defined in
/usr/include/elf.h at all.  I am rebuilding right now (a 10-hour
process) with "Elf_Rel" rather than "Elf_Rela" setup, to see if that
makes a difference.  (Seing that ARM, like i386, unlike any of the
other processors, is Little Endian).



    Peter> I've temporarily put my patches-so-far at:
    Peter> http://www.chiark.greenend.org.uk/~pmaydell/misc/patches.txt
    Peter> if anybody else is interested.  (NB that in particular the
    Peter> list of 'which drivers to build' in xfree86.cf is totally
    Peter> guesswork...)

Framebuffer stuff.   I have changed the section that starts with:

    #if defined(PpcArchitecture) || defined(Mc68020Architecture)

to

    #if defined(PpcArchitecture) || defined(Mc68020Architecture) || \
        defined(Arm32Architecture)


-tor



-- 
Får i ulveklær



Reply to: