From 98318c22a913b1500564268e3c499dc57cc036e0 Mon Sep 17 00:00:00 2001 From: John Bowler Date: Sun, 14 Aug 2005 06:07:44 +0000 Subject: Fix uclibc thumb support - with these patches and by disabling the ARM specific string asm in uclibc it is possible to run at least some thumb executables on ucslugc. The changes can be incorporated into other distros by setting thumb-interwork in OVERRIDES - the changes do change the way ARM code executes (necessarily). (Changes have also been submitted as bug 385 to uclibc.org). --- packages/uclibc/uclibc_0.9.27.bb | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'packages/uclibc/uclibc_0.9.27.bb') diff --git a/packages/uclibc/uclibc_0.9.27.bb b/packages/uclibc/uclibc_0.9.27.bb index 7ae11507c6..89f1b80831 100644 --- a/packages/uclibc/uclibc_0.9.27.bb +++ b/packages/uclibc/uclibc_0.9.27.bb @@ -1,5 +1,5 @@ DEFAULT_PREFERENCE = "1" -PR = "r6" +PR = "r7" include uclibc.inc @@ -19,4 +19,21 @@ SRC_URI += "${PATCH_ipc_h}" SRC_URI += " file://thumb-swi.patch;patch=1" SRC_URI += " file://thumb-swp.patch;patch=1" SRC_URI += " file://arm-thumb-defined.patch;patch=1" + +# ARM thumb interworking - these changes fix various bugs in the +# uclibc implementation of thumb interwork support, but they are +# insufficient on their own - it is also necessary (at present) +# to *disable* the uClibc ARM specific string code (the assembler +# doesn't support interworking). Since these patches do actually +# change the non-interwork case and make things incompatible with +# older (pre armv4t) ARMs they are condition on the thumb-interwork +# override (i.e. the *distro* has to add this to OVERRIDES). +ARM_THUMB_INTERWORK_PATCHES = "" +ARM_THUMB_INTERWORK_PATCHES_thumb-interwork = "" +ARM_THUMB_INTERWORK_PATCHES_thumb-interwork += " file://thumb-ldso-dlboot.patch;patch=1" +ARM_THUMB_INTERWORK_PATCHES_thumb-interwork += " file://thumb-interwork-asm.patch;patch=1" +# See the comments in the patch - this doesn't work. +#ARM_THUMB_INTERWORK_PATCHES_thumb-interwork += " file://thumb-static-main.patch;patch=1" +SRC_URI += "${ARM_THUMB_INTERWORK_PATCHES}" + S = "${WORKDIR}/uClibc-${PV}" -- cgit v1.2.3