1 --- uClibc-0.9.27/ldso/include/dl-string.h.orig 2005-08-09 18:16:50.618935711 -0700
2 +++ uClibc-0.9.27/ldso/include/dl-string.h 2005-08-09 18:17:02.279669474 -0700
7 -#if defined(mc68000) || defined(__arm__) || defined(__mips__) || defined(__sh__) || defined(__powerpc__)
8 +#if defined(mc68000) || defined(__arm__) || defined(__mips__) || defined(__sh__) || defined(__powerpc__) || defined(__thumb__)
9 /* On some arches constant strings are referenced through the GOT. */
10 /* XXX Requires load_addr to be defined. */
11 #define SEND_STDERR(X) \
12 --- uClibc-0.9.27/ldso/ldso/dl-startup.c.orig 2005-08-09 18:17:02.307671237 -0700
13 +++ uClibc-0.9.27/ldso/ldso/dl-startup.c 2005-08-09 18:19:40.633634061 -0700
15 /* First obtain the information on the stack that tells us more about
16 what binary is loaded, where it is loaded, etc, etc */
17 GET_ARGV(aux_dat, args);
18 -#if defined (__arm__) || defined (__mips__) || defined (__cris__)
19 +#if defined (__arm__) || defined (__mips__) || defined (__cris__) || defined(__thumb__)
22 argc = *(aux_dat - 1);
24 __asm__("movel %%a5,%0":"=g"(got));
25 #elif defined(__sparc__)
26 __asm__("\tmov %%l7,%0\n\t":"=r"(got));
27 -#elif defined(__arm__)
28 +#elif defined(__arm__) || defined(__thumb__)
29 __asm__("\tmov %0, r10\n\t":"=r"(got));
30 #elif defined(__powerpc__)
31 __asm__("\tbl _GLOBAL_OFFSET_TABLE_-4@local\n\t":"=l"(got));
32 --- uClibc-0.9.27/libc/sysdeps/linux/common/create_module.c.orig 2005-08-09 18:19:40.769642620 -0700
33 +++ uClibc-0.9.27/libc/sysdeps/linux/common/create_module.c 2005-08-09 18:19:58.442754719 -0700
36 #ifdef __NR_create_module
38 -#if defined(__i386__) || defined(__m68k__) || defined(__arm__) || defined(__cris__) || defined(__i960__)
39 +#if defined(__i386__) || defined(__m68k__) || defined(__arm__) || defined(__cris__) || defined(__i960__) || defined(__thumb__)
40 #define __NR___create_module __NR_create_module
41 #ifdef __STR_NR_create_module
42 #define __STR_NR___create_module __STR_NR_create_module
43 --- uClibc-0.9.27/libc/sysdeps/linux/common/iopl.c.orig 2005-08-09 18:20:02.302997628 -0700
44 +++ uClibc-0.9.27/libc/sysdeps/linux/common/iopl.c 2005-08-09 18:20:12.327628439 -0700
48 /* For arm there is a totally different implementation */
49 -#if !defined(__arm__)
50 +#if !defined(__arm__) && !defined(__thumb__)
51 /* Tuns out the m68k unistd.h kernel header is broken */
52 # if defined __ARCH_HAS_MMU__ && defined __NR_iopl && ( !defined(__mc68000__))
53 _syscall1(int, iopl, int, level);
54 --- uClibc-0.9.27/libm/math_private.h.orig 2005-08-09 18:20:18.584022129 -0700
55 +++ uClibc-0.9.27/libm/math_private.h 2005-08-09 18:21:26.280281986 -0700
57 * For VFP, floats words follow the memory system mode.
60 -#if (__BYTE_ORDER == __BIG_ENDIAN) || defined(__arm__) && !defined(__VFP_FP__)
61 +#if (__BYTE_ORDER == __BIG_ENDIAN) || (defined(__arm__) || defined(__thumb__)) && !defined(__VFP_FP__)
69 -#if (__BYTE_ORDER == __LITTLE_ENDIAN) && (!defined(__arm__) || defined(__VFP_FP__))
70 +#if (__BYTE_ORDER == __LITTLE_ENDIAN) && ((!defined(__arm__) && !defined(__thumb__)) || defined(__VFP_FP__))
74 --- uClibc-0.9.27/utils/ldd.c.orig 2005-08-09 18:21:27.724372857 -0700
75 +++ uClibc-0.9.27/utils/ldd.c 2005-08-09 18:23:13.018998630 -0700
81 +#if defined(__arm__) || defined(__thumb__)
82 #define MATCH_MACHINE(x) (x == EM_ARM)
83 #define ELFCLASSM ELFCLASS32