summaryrefslogtreecommitdiff
path: root/packages/uclibc/uclibc_0.9.27.bb
diff options
context:
space:
mode:
authorJohn Bowler <jbowler@nslu2-linux.org>2005-08-14 06:07:44 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2005-08-14 06:07:44 +0000
commit98318c22a913b1500564268e3c499dc57cc036e0 (patch)
treef45374265f144b31b15051b7b229120039fa23ee /packages/uclibc/uclibc_0.9.27.bb
parentcc49ea85bdc9b42f77b3c01f950b179e56bf8f2f (diff)
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).
Diffstat (limited to 'packages/uclibc/uclibc_0.9.27.bb')
-rw-r--r--packages/uclibc/uclibc_0.9.27.bb19
1 files changed, 18 insertions, 1 deletions
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}"